Страница 1 из 2
Подсчёт по части текста
Добавлено: 06 июн 2008, 19:10
maxa
Как организовать подсчёт, например, по слову "Урал" в виде ссылки,
встречающемуся в части текста ячеек искомого диапозона.
=СЧЁТЕСЛИ(диапозон;?)
Образец задачки в сжатом файле
Re: Подсчёт по части текста
Добавлено: 06 июн 2008, 23:06
Aent
Проблему решает массивная формула в ячейке D3 (которую можно размножить до G3).
{=СУММ(ЕСЛИ(ЕОШИБКА(ПОИСК(D$2&"*";$A2:$A45;1));0;1))}
Помните, что массивная формула вводится по Ctrl+Shift+Enter без фигурных скобок.
Разумеется возможны и другие варианты.
Если нужно различать прописные и строчные буквы - используйте вместо функции ПОИСК функцию НАЙТИ.
P.S. Слово диап
азон (range) пишется через "а"

Re: Подсчёт по части текста
Добавлено: 07 июн 2008, 08:22
seergy
Поиграл с макрорекордером, один из шаблонов конечно сырых для реализации данной проблемы
С уважением...
Re: Подсчёт по части текста
Добавлено: 07 июн 2008, 09:38
VictorM
можно сделать и так, с
=СЧЁТЕСЛИ(диапозон;?)
посмотрите вложенный файл
Re: Подсчёт по части текста
Добавлено: 07 июн 2008, 09:57
seergy
ВикторМ здорово. Раскажите как ещё можно применять "*"
Также на VBA можно отсортировать по конкретным маркам, или выбрать кусок текста по определённому операунду в VBA
Re: Подсчёт по части текста
Добавлено: 07 июн 2008, 11:32
VictorM
seergy,
Раскажите как ещё можно применять "*"
да в данном случае ничего особенного, здесь символ "*" просто обозначает - "дальше , что угодно"
seergy
В коде VBA уже пора начинать обращать внимание на Select-ы и по мере возможности - избавляться. Да и весь остальной код можно значительно сократить. Макрорекордер пишет излишне болшой код, особенно при форматировании и установке параметров страницы.
Например весь код Borders (кроме рамки) можно сократить до вот такого:
Код: Выделить всё
With Selection.Borders
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
End With
точно так же с рамкой
ну и так далее... удачи!

Re: Подсчёт по части текста
Добавлено: 07 июн 2008, 11:55
VictorM
если уж
отсортировать по конкретным маркам
то проще наверное так, сводной таблицей
Re: Подсчёт по части текста
Добавлено: 07 июн 2008, 12:41
seergy
Буду знать я VBA только два 3-4 месяца занимаюсь....
К тому же не программист
С увжением...
Re: Подсчёт по части текста
Добавлено: 07 июн 2008, 13:31
VictorM
К тому же не программист
да я вроде тоже

Re: Подсчёт по части текста
Добавлено: 09 июн 2008, 16:59
maxa
VictorM писал(а):да я вроде тоже
Я тем более.
Теперь задача усложняется. Пытался сам решить, но не получается. Необходимо подсчитать количество совпадений по строке по двум параметрам. Причем искомый параметр должен быть обязательно частью текста в виде ссылки. Это нужно для применения решения в других таблицах. Использовал
=СУММПРОИЗВ((ЕСЛИ(ЕОШИБКА(ПОИСК(F$2&"*";$B$2:$B$62;1));0;1))*(ЕСЛИ(ЕОШИБКА(ПОИСК("*"&E3&"*";$A$2:$A$62;1));0;1)))
Выходит совсем не ясное