Подсчёт по части текста
Модератор: Naeel Maqsudov
Как организовать подсчёт, например, по слову "Урал" в виде ссылки,
встречающемуся в части текста ячеек искомого диапозона.
=СЧЁТЕСЛИ(диапозон;?)
Образец задачки в сжатом файле
встречающемуся в части текста ячеек искомого диапозона.
=СЧЁТЕСЛИ(диапозон;?)
Образец задачки в сжатом файле
- Вложения
-
- Файл.zip
- (2.52 КБ) 36 скачиваний
- Aent
- Сообщения: 1129
- Зарегистрирован: 01 окт 2006, 14:52
- Откуда: Saratov,Russia
- Контактная информация:
Проблему решает массивная формула в ячейке D3 (которую можно размножить до G3).
{=СУММ(ЕСЛИ(ЕОШИБКА(ПОИСК(D$2&"*";$A2:$A45;1));0;1))}
Помните, что массивная формула вводится по Ctrl+Shift+Enter без фигурных скобок.
Разумеется возможны и другие варианты.
Если нужно различать прописные и строчные буквы - используйте вместо функции ПОИСК функцию НАЙТИ.
P.S. Слово диапазон (range) пишется через "а"
{=СУММ(ЕСЛИ(ЕОШИБКА(ПОИСК(D$2&"*";$A2:$A45;1));0;1))}
Помните, что массивная формула вводится по Ctrl+Shift+Enter без фигурных скобок.
Разумеется возможны и другие варианты.
Если нужно различать прописные и строчные буквы - используйте вместо функции ПОИСК функцию НАЙТИ.
P.S. Слово диапазон (range) пишется через "а"

Андрей Энтелис,
aentelis.livejournal.com
aentelis.livejournal.com
Поиграл с макрорекордером, один из шаблонов конечно сырых для реализации данной проблемы
С уважением...
С уважением...
- Вложения
-
- Файл.zip
- (15.14 КБ) 35 скачиваний
ВикторМ здорово. Раскажите как ещё можно применять "*"
Также на VBA можно отсортировать по конкретным маркам, или выбрать кусок текста по определённому операунду в VBA
Также на VBA можно отсортировать по конкретным маркам, или выбрать кусок текста по определённому операунду в VBA
- Вложения
-
- Файл.zip
- (17.46 КБ) 31 скачивание
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
seergy, 
seergy
В коде VBA уже пора начинать обращать внимание на Select-ы и по мере возможности - избавляться. Да и весь остальной код можно значительно сократить. Макрорекордер пишет излишне болшой код, особенно при форматировании и установке параметров страницы.
Например весь код Borders (кроме рамки) можно сократить до вот такого:
точно так же с рамкой
ну и так далее... удачи!
да в данном случае ничего особенного, здесь символ "*" просто обозначает - "дальше , что угодно"Раскажите как ещё можно применять "*"

seergy
В коде VBA уже пора начинать обращать внимание на Select-ы и по мере возможности - избавляться. Да и весь остальной код можно значительно сократить. Макрорекордер пишет излишне болшой код, особенно при форматировании и установке параметров страницы.
Например весь код Borders (кроме рамки) можно сократить до вот такого:
Код: Выделить всё
With Selection.Borders
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
End With
ну и так далее... удачи!

"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
научите их ловить рыбу - и вы накормите их на всю жизнь".
Буду знать я VBA только два 3-4 месяца занимаюсь....
К тому же не программист
С увжением...
К тому же не программист
С увжением...
VictorM писал(а):да я вроде тоже![]()
Я тем более.
Теперь задача усложняется. Пытался сам решить, но не получается. Необходимо подсчитать количество совпадений по строке по двум параметрам. Причем искомый параметр должен быть обязательно частью текста в виде ссылки. Это нужно для применения решения в других таблицах. Использовал
=СУММПРОИЗВ((ЕСЛИ(ЕОШИБКА(ПОИСК(F$2&"*";$B$2:$B$62;1));0;1))*(ЕСЛИ(ЕОШИБКА(ПОИСК("*"&E3&"*";$A$2:$A$62;1));0;1)))
Выходит совсем не ясное
- Вложения
-
- Файл2.zip
- (5.94 КБ) 34 скачивания