Найдем количество вхождений определенной Буквы или любого символа в ячейке EXCEL.
Определим, сколько букв Z в слове
Zigzag
(
слово находится в ячейке
A
1
)
.
Формула для подсчета символа Z в слове
Zigzag
(с учетом регистра), см.
файл примера
:
=ДЛСТР(A1) — ДЛСТР(ПОДСТАВИТЬ(A1;»Z»;»»))
Формула для подсчета символа Z (или z) в слове
Zigzag
(без учета РЕгиСТра):
=ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A1);»z»;»»))
Для подсчета количества пробелов (код символа пробела — 32) в ячейке используйте формулу:
=ДЛСТР(A1) — ДЛСТР(ПОДСТАВИТЬ(A1;СИМВОЛ(32);»»))
В статье
Подсчет вхождений последовательности символов
показано, как подсчитать количество вхождений некоторой последовательности символов в текстовой строке.
О поиске позиции n-го вхождения буквы в слове или в текстовой строке можно прочитать
здесь
.
Подсчет вхождений в MS EXCEL Букв (Символов) в ТЕКСТовой строке
Смотрите также ЮрияМ.: Смотря что уar = Cells(Rows.Count,
Cells(i, 5) =AVI excel как будет: 1 Меня интересует кол-во
) =3 отличаются.Serge_007Уточняю второй вопрос (включая и «=»
Аналогичная формула =СУММПРОИЗВ(ДЛСТР(A7:A11)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A7:A11); {«1″;»2″};»»)))
вхождений некоторой последовательностиНайдем количество вхождений определенной2. Формула, показанная вас в А1,
4).End(xlUp).Row
CStr(13 — Len(Trim(Cells(i,: Добрый день! звучать функция?{/post}{/quote}0mega
trig = True
чисел0mega0mega:Quote )
может подсчитать количество символов в текстовой Буквы или любого в этой теме. дата или текст…
excel2.ru
Подсчет символов в диапазоне в MS EXCEL
For i = 4))) & Trim(Cells(i,В столбце D
нашла уже, спасибо,ElseSerge_007
:: Да, конечно.0mega
(0mega)200?’200px’:»+(this.scrollHeight+5)+’px’);»>вопрос 2-ой
P.S. цифр (1 и
строке.
символа в ячейкеИли Вы видитеЮрий М 3 To ar 4))) число с количеством
LEN
По второму вопросу…trig = False: Макрофункции — этоkim=(47+В3-2)/D5-12 =4
, вчитайтесь в вопросA1=(47+В3-2)/D5-12если эти 2 2) в диапазонахО поиске позиции n-го EXCEL. только свое сообщение?: Скопируйте название своейCells(i, 5) =Next i цифр от 7Подскажите пожалуйста как в0mega
excel2.ru
Счет определенных символов в ячейке
End If не ВБА, как
, здравствуйте
- это не
_Boroda_
кол-во цифр ? вопроса имеют отличие
с числами.
вхождения буквы в
Определим, сколько букв Z
аррр темы в окно Format(Cells(i, 4), «‘0000000000000»)
End Sub
до 12-ти Excel показать количество:Next Вы его понимаетеЯ прекрасно понимаю,
набор случайных символов.:кол-во математических знаков? в решении, тогда
Пусть в диапазоне
слове или в
в слове Zigzag: Спасибо! поиска и выбирайте,Next iЯ определил сколькоМне необходимо в определённых символов. В
kimMsgBox xHugo что этот вопрос
Это совокупность математических
Quote (включая и «=»
просьба к модераторам
А7:A11 текстовой строке можно
(слово находится в
Numit
что Вам большеEnd Sub нулей добавить, но
столбец Е добавить частности есть таблица,End Sub: VBA не вписывается в действий с конкретными(_Boroda_)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Вы хотите выковырять
) перенести 2-ой вопроссодержатся числа 1;
прочитать здесь. ячейке: Помогите пожалуйста, подходит.AVI как заставить их эти же числа с размерами. НужноСпасибо,_Boroda_
Запятую грубо уничтожаем. =ЕСЛИ(…) числами и ячейками. кол-во цифр изкол-во цифр: A1=( в отдельную тему
22; 123; 8;Найдем количество вхождений определенногоA1как формулой посчитатьGuest: добавиться я не так, что бы
суммировать сколько напримерИнтересное решение со: Формулами200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub tt()
Учитывая, то обстоятельство И если топнуть формулы, которая выдает47_Boroda_
5. Формула, приведенная символа в диапазоне).
количество знаков в: Спасибо нашел!!! =ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;».»;»»))_Boroda_ знаю
общее их количество размеров L и
знаками200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММ(—(ЕЧИСЛО(-ПСТР(A1;СТРОКА(ДВССЫЛ(«A1:A»&ДЛСТР(A1)));1))+ЕОШИБКА(-ПСТР(A1&» «;СТРОКА(ДВССЫЛ(«A2:A»&ДЛСТР(A1)+1));1))=2))-СУММ(—(ЕЧИСЛО(-ПСТР(A1;СТРОКА(ДВССЫЛ(«A1:A»&ДЛСТР(A1)));1))+(ПСТР(A1&» «;СТРОКА(ДВССЫЛ(«A2:A»&ДЛСТР(A1)+1));1)=»,»)+ЕЧИСЛО(-ПСТР(A1&»»;СТРОКА(ДВССЫЛ(«A3:A»&ДЛСТР(A1)+2));1))=3))Dim s As
, что это на Enter то в ячейке+В3-: Пара вариантов по выше, вернет 5, ячеек.Формула для подсчета символа
ячейке?
— работает как, Е-мае, точно. Спасибо.StoTisteg было 13, а сколько XL. Беда
NumitПоследний кусок — исключительно
String, i As вопрос не из в ячейка А1значение2
первому вопросу во т.к. в диапазонеОпределим, сколько букв Z
Z в словеЗаранее спасибо часы ))Марат
: недостающие заменить нулями в том, что: Помогите пожалуйста,
для борьбы с Long, x As серии «МНЕ ОБЯЗАТЕЛЬНО будет результат вычисления(то есть формат)/D5- вложении содержится две цифры содержится в диапазоне Zigzag (с учетомmazayZRЮрий М: Добрый деньCells(i, 5)=Cstr(Trim(Cells(i, 5))) в начале числа.
формулы которые якак формулой посчитать запятой. Если все Long НАДО. Я СКОПИРУЮ (напр 53,6451) ячейки не текстовый)?
12=ДЛСТР(B1)-ДЛСТР(ПОДСТАВИТЬ(B1;B2;»»)) 1 (в числахА7:A11
регистра), см. файл: =ДЛСТР(A1)
: А если всегда
Помогите подсчитать количество
For j=13 toТо есть 41533892 нашёл количество знаков в
числа целые, тоDim trig As
И ВСТАВЛЮ ...P.S.kim=
{=СУММ(--(ПСТР(B1;СТРОКА(ДВССЫЛ("A1:A"&ДЛСТР(B1)));1)=B2))} 1 и 123)
. примера:
Numit начинать с поиска?
символов в ячейке. Len(Cells(i, 5).Value) Step должно поменяться нанапример
ячейке?
попроще
Boolean
" а относится
Оказывается , я
:
3
По второму — Вы и три цифры
Формула для подсчета (с
=ДЛСТР(A1) — ДЛСТР(ПОДСТАВИТЬ(A1;»Z»;»»)): Спасибо, а то :-)) Пример ячейка A1 -1
0000041533892, а 31404053
=СУММПРОИЗВ (ДЛСТР ($E$2:$E$47)-ДЛСТР
Заранее спасибоCode200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММ(—(ЕЧИСЛО(-ПСТР(A1;СТРОКА(ДВССЫЛ(«A1:A»&ДЛСТР(A1)));1))+ЕОШИБКА(-ПСТР(A1&» «;СТРОКА(ДВССЫЛ(«A2:A»&ДЛСТР(A1)+1));1))=2))
s = «За к «ХОЧУ ЗНАТЬ» так же не0megaкол-во математических знаков? хотите выковырять кол-во
2 (в числах учетом РЕгиСТра), см.
Формула для подсчета символа прям вся измучаласьСергей «1.09» и A2
Cells(i, 5)=»0″ &
на 0000031404053 (ПОДСТАВИТЬ (ПРОПИСН ($E$2:$E$47);{«L»};»»)))mazayZRформулы массива
2 дня оштрафовали
и еще сюда могу выковырять цифры
excelworld.ru
Как посчитать количество знаков в ячейке?
, (включая и «=»
цифр из формулы, 22 и 123). файл примера:
Z (или z)
:): Есть формула которая
«10» какую можно Cells(i, 5)Формулой получается такили
: =ДЛСТР(A1)MCH 18 водителей на приплюсовать что я
и из текстаЕсли запись в ) которая выдает в
0mega=СУММПРОИЗВ(ДЛСТР(A7:A11)-ДЛСТР(ПОДСТАВИТЬ(A7:A11;B4;»»)))
planetaexcel.ru
Подсчёт определённого количества символов в ячейке Excel
в слове ZigzagGuest производит подсчет необходимых использовать функцию чтоNext j=ПОВТОР(«0″;13-ДЛСТР(D3))&D3=СУММПРОИЗВ (ДЛСТР (E2:E27)-ДЛСТРNumit: =СУММПРОИЗВ(ЕЧИСЛО(—ПСТР(ПОДСТАВИТЬ(A1;»,»;»»);СТОЛБЕЦ(A:IU);1))*ЕОШ(—ПСТР(ПОДСТАВИТЬ(A1;»,»;»»);СТОЛБЕЦ(A:IU)+1;1))) 142,56 руб « в VBA-командах ,
…
ячейке A1 являетсяA1
ячейке значение (то
: Доброго времени суток.Формула для подсчета (без
(без учета РЕгиСТра):: а в английском знаков в ячейке. бы мне подсчиталоНе проверял, ноА как добавлять
(ПОДСТАВИТЬ (E2:E27;»L»;»»))): Спасибо, а то
Добавить определённое количество символов в ячейку (Макросы/Sub)
0megas = Replace(s,
все равно, непоэтому еще 1 формулой, а не=
есть формат ячейки2003 учета РЕгиСТра):=ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A1);»z»;»»)) excel как будетК примеру в сколько раз в попробуйте, должно работать
определенное количество нулейподсчитывают количество букв прям вся измучалась:
«,», «») смогу разобраться -
доп вопрос текстом прийдется использовать(47 не текстовый)?
вопрос 1-й
=СУММПРОИЗВ(ДЛСТР(A7:A11)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A7:A11);»z»;»»)))Для подсчета количества пробелов
звучать функция? с лове «1)
ячейке А1 и_Boroda_ в код я L и в
:)
MCH
For i = поэтому ответ неячейка D1 содержит макрофункции.+
0megaводоотводФормула для одновременного подсчета
ячейках с XLGuest
(код символа пробелаGuest лжлордыаоррфвдао, 2) орапдолрп,
сколько в ячейке: Обязательно реально нули
не знаю
, 1 To Len(s) является обязательным тект:И в любом
В3-2)
:
кол-во букв "о" символов Z и
- 32) в: а в английском
3) длорааываы" подщитать А2 есть символ
добавить? Просто поставить
КодSub ffff()
тоже. И соответственно: а в английском_Boroda_If IsNumeric(Mid(s, i,
excelworld.ru
Подсчет символов в ячейке
QuoteЗа 2 дня оштрафовали
случае решение будет/to_Boroda_ ? цифры 1 в ячейке используйте формулу: excel как будет количество «)» «.» тоесть результат формат «0000000000000» неar = Cells(Rows.Count, сумма больше нужной excel как будет,
1)) Then(kim)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Да, еще, понятия: 18 водителей на тяжелым.
D5,вопрос 2-ой диапазоне=ДЛСТР(A1) — ДЛСТР(ПОДСТАВИТЬ(A1;СИМВОЛ(32);»»)) звучать функция?{/post}{/quote}
vikttur В1 = «1» подойдет? 4).End(xlUp).Row
получается. звучать функция?благодарю за уделенноеIf trig =
количество чисел и 142,56 рубДа, еще, понятия:-
Александр, здравствуйтеA1=(47+В3-2)/D5-12А7:A11В статье Подсчет вхожденийнашла уже, спасибо
: Есть. В2 = «0»
Макросом можно такFor i =
XraptorxGuest
время False Then x
количество цифр несколькоподсчитать кол-во чисел
planetaexcel.ru
Как посчитать количество знаков в ячейке?
количество чисел и12 =
Это идеальное решение первогокол-во цифр ?(без учета РЕгиСТра):
последовательности символов показано,
LEN1. По совету
GuestSub tt() 3 To ar: да, формулой счетесли
: а в английскомkim = x + отличаются. Правильное замечание.
(2 18 142,56 количество цифр несколько4 вопроса
кол-во математических знаков?=СУММПРОИЗВ(ДЛСТР(A7:A11)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A7:A11); {«z»;»1″};»»)))
planetaexcel.ru
как подсчитать количество
В этом руководстве показано, как применять формулы на основе функций LEN и SUSTITUTE для подсчета количества раз, когда определенный символ появляется в ячейке Excel.
Как посчитать количество конкретных символов в ячейке?
Общая формула
=LEN(cell_ref)-LEN(SUBSTITUTE(cell_ref, «character»,»»))
аргументы
Cell_ref: Ячейка содержит текст, внутри которого вы будете считать определенный символ. Вы также можете напрямую заменить cell_ref текстом, заключенным в кавычки;
Характер: Персонаж, которого вы хотите посчитать. Это может быть:
1. Символ, заключенный в кавычки;
2. Или ссылку на ячейку, содержащую символ.
Как пользоваться этой формулой?
1. Выберите пустую ячейку, скопируйте в нее формулу ниже, чтобы получить результат.
=LEN(B3)-LEN(SUBSTITUTE(B3,»e»,»»))
В этом случае он возвращает результат 3, что означает, что символ «e» встречается в B3 три раза.
Tips: Вы можете напрямую ссылаться на символьную ячейку в формуле, как показано ниже. Получив первый результат, перетащите маркер заполнения, чтобы применить формулу к другим ячейкам.
=LEN(B3)-LEN(SUBSTITUTE(B3,C3,»»))
Заметки:
- 1. Если конкретный символ не найден, он вернет 0;
- 2. Функция ЗАМЕНА чувствительна к регистру;
- 3. Если вы хотите подсчитать определенный символ в ячейке и проигнорировать регистр, используйте функцию ВЕРХНИЙ внутри ПОДСТАВКИ, как показано ниже:
- =LEN(B3)-LEN(SUBSTITUTE(UPPER(B3),C3,»»))
Как работает эта формула?
- 1. LEN(B3): Эта функция LEN вычисляет общую длину текста B3 и возвращает результат 20.
- 2. LEN(SUBSTITUTE(B3,»e»,»»)): Функция ЗАМЕНА удаляет символ «e» из ячейки B3, а затем функция LEN вычисляет длину текста для ячейки B3 без специального символа «e». Здесь результат 17;
- 3. Наконец, длина текста без символа «e» вычитается из общей длины текста исходной текстовой строки и получается общее количество «e» в ячейке B3 (20-17 = 3).
Связанные функции
Функция ДЛСТР в Excel
Функция LEN возвращает количество символов в текстовой строке.
Функция ПОДСТАВИТЬ в Excel
Функция SUBSTITUTE заменяет текст или символы в текстовой строке другим текстом или символами.
Родственные формулы
Лучшие инструменты для работы в офисе
Kutools for Excel — Помогает вам выделиться из толпы
Хотите быстро и качественно выполнять свою повседневную работу? Kutools for Excel предлагает 300 мощных расширенных функций (объединение книг, суммирование по цвету, разделение содержимого ячеек, преобразование даты и т. д.) и экономит для вас 80 % времени.
- Разработан для 1500 рабочих сценариев, помогает решить 80% проблем с Excel.
- Уменьшите количество нажатий на клавиатуру и мышь каждый день, избавьтесь от усталости глаз и рук.
- Станьте экспертом по Excel за 3 минуты. Больше не нужно запоминать какие-либо болезненные формулы и коды VBA.
- 30-дневная неограниченная бесплатная пробная версия. 60-дневная гарантия возврата денег. Бесплатное обновление и поддержка 2 года.
Вкладка Office — включение чтения и редактирования с вкладками в Microsoft Office (включая Excel)
- Одна секунда для переключения между десятками открытых документов!
- Уменьшите количество щелчков мышью на сотни каждый день, попрощайтесь с рукой мыши.
- Повышает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
- Добавляет эффективные вкладки в Office (включая Excel), точно так же, как Chrome, Firefox и новый Internet Explorer.
Комментарии (1)
Оценок пока нет. Оцените первым!
I am trying to count the number of times a sub-string appears within a column of string data in Excel. Please see the below example.
The column of string data (tweets) looks like this:
A
1 An example string with @username in it
2 RT @AwesomeUser says @username is awesome
The column with «substrings» (Twitter screen names) looks like this:
B
1 username
2 AwesomeUser
I want to use a formula to count the number of times that a substring from B1, B2, etc. appears in the strings in column A. For example: a formula searching for B1 would return «2» and a search for B2 would return «1».
I can’t do it this way:
=COUNTIF(A:A, "username")
because COUNTIF only looks for strings, not substrings. This formula would always return «0».
Here’s a formula I thought might do it:
=SUMPRODUCT((LEN(A:A)-(LEN(SUBSTITUTE(A:A,"username",""))))/LEN("username"))
Unfortunately, I have 16,000 entries in column B and tens of thousands in A, so counting characters won’t work even on a high power PC (also, the result returned by the function is suspect).
I thought about using:
=COUNTIF(A:A, "*username*")
but COUNTIF requires a string with the star operators; I need to use cell references due to the volume of data.
My question: does anyone know how I can use a formula for this? If using COUNTIF, how do I get a cell reference in the conditional part of the statement (or use a function to substitute the string in the cell referenced within the conditional part of a COUNTIF statement)?
I know that I could parse the data, but I would like to know how to do it in Excel.
Skip to content
В руководстве объясняется, как считать символы в Excel. Вы изучите формулы, позволяющие получить общее количество символов в диапазоне и подсчитывать только определенные символы в одной или нескольких ячейках.
В нашем предыдущем руководстве была представлена функция ДЛСТР , которая позволяет посчитать количество символов в ячейке Excel.
Функция ДЛСТР (LEN в английской версии) полезна сама по себе, а в связи с другими функциями, такими как СУММ, СУММПРОИЗВ и ПОДСТАВИТЬ, она может решать и более сложные задачи. Далее в этом руководстве мы более подробно рассмотрим несколько основных и более сложных выражений для подсчета количества знаков в Excel.
- Как посчитать все символы в диапазоне
- Как подсчитать определенные знаки в ячейке
- Подсчет определенных букв в ячейке без учета регистра
- Как посчитать вхождения текста или подстроки в ячейку?
- Сколько раз встречается символ в диапазоне?
- Подсчет определенных букв в диапазоне без учета регистра.
Как посчитать все символы в диапазоне
Когда дело доходит до подсчета общего количества знаков в нескольких клетках таблицы, сразу приходит на ум решение сделать это для каждой из них, а затем просто сложить эти числа:
=ДЛСТР(A2)+ДЛСТР(A3)+ДЛСТР(A4)
или
=СУММ(ДЛСТР(A2);ДЛСТР(A3);ДЛСТР(A4))
Описанное выше может хорошо работать для небольшого диапазона. Но вряд ли вы захотите таким образом складывать даже 20 чисел. Чтобы определить количество символов Excel в большем диапазоне, нам лучше придумать что-нибудь более компактное. Например, функцию СУММПРОИЗВ, которая перемножает массивы и возвращает сумму произведений.
Вот общая формула Эксель для подсчета символов в диапазоне:
=СУММПРОИЗВ(ДЛСТР( диапазон ))
И ваша реальная формула может выглядеть примерно так:
= СУММПРОИЗВ(ДЛСТР(A1:A4))
Другой способ подсчета знаков в диапазоне — использовать функцию ДЛСТР в сочетании с СУММ:
{=СУММ(ДЛСТР(A1:A4))}
В отличие от СУММПРОИЗВ, функция СУММ по умолчанию не вычисляет массивы. Поэтому вам нужно не забыть нажать Ctrl + Shift + Enter
, чтобы превратить ее в формулу массива.
Как показано на следующем скриншоте, СУММ возвращает такой же результат:
Как работает эта формула подсчета символов диапазона?
Это один из самых простых вариантов для подсчета знаков в Excel. Перво-наперво функция ДЛСТР вычисляет длину текста для каждого адреса в указанной области и возвращает их в виде массива чисел. Затем СУММПРОИЗВ или СУММ складывают эти числа и возвращают общий итог.
В приведенном выше примере суммируется массив из 4 чисел, которые представляют длины строк в ячейках от A1 до A4:
=СУММПРОИЗВ({23;13;23;17})
Примечание. Обратите внимание, что функция Excel ДЛСТР считает абсолютно все символы в каждой ячейке, включая буквы, числа, знаки препинания, специальные символы и все пробелы (ведущие, конечные и пробелы между словами).
Как подсчитать определенные знаки в ячейке
Иногда вместо подсчета всех символов вам может потребоваться подсчитать только вхождения определенной буквы, числа или специального символа.
Чтобы подсчитать, сколько раз данный символ появляется в выбранной ячейке, используйте функцию ДЛСТР вместе с ПОДСТАВИТЬ:
=ДЛСТР( ячейка ) — ДЛСТР(ПОДСТАВИТЬ( ячейка ; символ ; «»))
Чтобы лучше понять этот расчет, разберём следующий пример.
Предположим, вы ведете базу данных о доставленных товарах, где каждый тип товара имеет свой уникальный идентификатор. И каждая запись содержит несколько элементов, разделенных запятой, пробелом или любым другим разделителем. Задача состоит в том, чтобы подсчитать, сколько раз данный уникальный идентификатор появляется в каждой записи.
Предполагая, что список доставленных товаров находится в столбце B (начиная с B2), и мы считаем число вхождений «A». Выражение выглядит следующим образом:
=ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(B2,»A»,»»))
Чтобы понять логику расчётов, давайте разделим процесс на отдельные этапы:
- Сначала вы подсчитываете общую длину строки в B2:
ДЛСТР(B2) - Затем вы используете функцию ПОДСТАВИТЬ, чтобы удалить все вхождения буквы «А» в B2, заменив ее пустой строкой («»):
ПОДСТАВИТЬ(B2;»А»;»») - Затем вы подсчитываете длину получившейся строки без буквы «А»:
ДЛСТР(ПОДСТАВИТЬ(B2;»А»;»»)) - Наконец, вы вычитаете длину строки без буквы «А» из первоначальной длины.
В результате вы получаете количество «удаленных» знаков, которое и равно общему числу вхождений этого символа в ячейку.
Вместо того, чтобы указывать букву или цифру, которые вы хотите подсчитать, в формуле, вы можете ввести их, а затем указать на эту ячейку. Таким образом, ваши пользователи смогут подсчитывать вхождения того, что они укажут отдельно, без изменения самой формулы:
Примечание. Функция ПОДСТАВИТЬ в Excel чувствительна к регистру, поэтому в приведенном выше выражении также учитывается регистр. Например, B7 содержит 2 вхождения буквы «A» — одно в верхнем регистре и второе в нижнем регистре. Учитываем только символы верхнего регистра, потому что мы передали «A» функции ПОДСТАВИТЬ.
Подсчет определенных букв в ячейке без учета регистра
Если вам нужен счетчик букв без учета регистра, вставьте функцию ПРОПИСН в ПОДСТАВИТЬ, чтобы преобразовать указанную букву в верхний регистр перед выполнением подстановки. И обязательно используйте для поиска заглавные буквы.
Например, чтобы подсчитать буквы «A» и «a» в B2, используйте следующее:
=ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(B2);$C$1;»»))
Другой способ — использовать вложенные функции замены:
=ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;ПРОПИСН($C$1);»»);СТРОЧН($C$1);»»))
Как вы можете видеть на скриншоте ниже, оба варианта безупречно подсчитывают вхождения указанной буквы в верхнем и нижнем регистре:
Другой способ — преобразовать всё в верхний или нижний регистр. Например:
=ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(B2);ПРОПИСН($C$1);»»))
Преимущество этого подхода заключается в том, что независимо от того, используются прописные либо строчные буквы, ваша формула подсчета без учета регистра будет возвращать правильный счет:
Как посчитать вхождения текста или подстроки в ячейку?
Если вы хотите подсчитать, сколько раз определенная комбинация символов (например, определенный текст или подстрока) появляется в данной ячейке (например «A2» или «М5»), разделите количество определенных символов, возвращаемых приведенными выше формулами, на длину подстроки.
С учетом регистра:
=(ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(B2;$C$1;»»)))/ДЛСТР($C$1)
Без учета регистра:
=(ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;ПРОПИСН($C$1);»»);СТРОЧН($C$1);»»)) )/ДЛСТР($C$1)
Где B2 — запись, содержащая всю текстовую строку, а C1 – тот текст (подстроку), который вы хотите подсчитать.
Как эта формула подсчитывает количество вхождений определенного текста в ячейку?
- Функция ПОДСТАВИТЬ удаляет указанное слово из исходного текста.
В этом примере мы удаляем слово, введенное в ячейку С1, из исходного текста, расположенного в B2:
ПОДСТАВИТЬ(B2; $C$1;»») - Затем функция ДЛСТР вычисляет длину текстовой строки без указанного слова.
В этом примере ДЛСТР(ПОДСТАВИТЬ(B2; $C$1;»»)) возвращает длину текста в B2 после удаления всех букв и цифр, содержащихся во всех вхождениях «А2». - После этого указанное выше число вычитается из общей длины исходной текстовой строки:
ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(B2; $C$1;»»))
Результатом этой операции является количество символов, содержащихся во всех вхождениях целевого слова, которое в этом примере равно 4 (2 вхождения «A2», по 2 в каждом).
Наконец, указанное выше число делится на длину искомого текста. Другими словами, вы делите количество символов, содержащихся во всех вхождениях целевого слова, на число знаков, содержащихся в этом слове. В этом примере 4 делится на 2, и в результате мы получаем 2.
Сколько раз встречается символ в диапазоне?
Теперь, когда вы знаете формулу Excel для подсчета символов в одной определённой ячейке, вы можете улучшить ее, чтобы узнать, сколько раз определенный символ появляется в диапазоне. Для этого мы возьмем выражение, описанное в предыдущем примере, и поместим его в функцию СУММПРОИЗВ, которая умеет обрабатывать массивы:
СУММПРОИЗВ(ДЛСТР( диапазон ) -ДЛСТР(ПОДСТАВИТЬ( диапазон , символ , «»)))
В этом примере выражение принимает следующую форму:
=СУММПРОИЗВ(ДЛСТР(B2:B7)-ДЛСТР(ПОДСТАВИТЬ(B2:B7;$C$1;»»)))
А вот еще один способ для подсчета символов в диапазоне Excel:
{=СУММ(ДЛСТР(B2:B7)-ДЛСТР(ПОДСТАВИТЬ(B2:B7;$C$1;»»)))}
По сравнению с описанным ранее наиболее очевидным отличием здесь является использование СУММ вместо СУММПРОИЗВ. Другое отличие в том, что в данном случае требуется нажатие Ctrl + Shift + Enter. Думаю, вы помните, что в отличие от СУММПРОИЗВ, которая умеет работать с массивами, СУММ может обрабатывать массивы только при использовании её в формуле массива.
Разберем, как это работает.
Как вы, возможно, помните, функция ПОДСТАВИТЬ используется для замены всех вхождений указанного символа («A» в этом примере) пустой текстовой строкой («»).
Затем мы передаем текстовую строку, возвращаемую функцией ПОДСТАВИТЬ, в функцию ДЛСТР, чтобы она вычисляла длину строки без «A». Затем мы вычитаем это количество знаков из общей длины текстовой строки. Результатом этих вычислений является массив количества символов. В нем столько чисел, сколько ячеек в диапазоне.
Наконец, СУММПРОИЗВ суммирует числа в массиве и возвращает общее количество указанного символа в диапазоне.
Примечание. В ситуациях, когда вы подсчитываете количество вхождений определенной подстроки в диапазоне (например, заказы, начинающиеся с «A2»), вам необходимо разделить количество символов на длину подстроки. В противном случае каждый знак в подстроке будет учитываться индивидуально. Например:
=СУММПРОИЗВ(ДЛСТР(B2:B7)-ДЛСТР(ПОДСТАВИТЬ(B2:B7;$C$1;»»)))/ДЛСТР($C$1)
Подсчет определенных букв в диапазоне без учета регистра.
Вы уже знаете, что ПОДСТАВИТЬ — функция, чувствительная к регистру. Поэтому наша формула для подсчета также чувствительна к регистру.
Чтобы игнорировать регистр, следуйте подходам, продемонстрированным в предыдущем примере.
Используйте функции ПРОПИСН и СТРОЧН, введите прописную либо заглавную букву и укажите ссылку на нее:
=СУММПРОИЗВ(ДЛСТР(B2:B7) — ДЛСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2:B7;ПРОПИСН($C$1);»»);СТРОЧН($C$1);»»)))
На скриншоте ниже показана последняя формула в действии:
Совершенно аналогично, подобный метод можно применить, если мы будем считать число вхождений в диапазон какого- то слова. Вернемся к нашему примеру.
Чтобы подсчитать, сколько раз сочетание «А2» в точном виде встречается в наших данных, запишем выражение:
=СУММПРОИЗВ((ДЛСТР(B2:B7)-ДЛСТР(ПОДСТАВИТЬ(B2:B7;$C$1;»»)))/ДЛСТР($C$1))
Если не нужно учитывать регистр букв, то тогда —
=СУММПРОИЗВ((ДЛСТР(B2:B7)-ДЛСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2:B7;ПРОПИСН($C$1);»»);СТРОЧН($C$1);»»)))/ДЛСТР($C$1))
То есть, мы берем формулы, использованные нами для отдельной ячейки, меняем в них ссылку на диапазон данных и обрабатываем затем при помощи СУММПРОИЗВ.
Вы можете использовать функцию СУММ, но в формуле массива, как мы также уже рассматривали ранее.
Вот как вы можете подсчитывать символы в Excel с помощью функции ДЛСТР. Если вы хотите знать, как считать слова, а не отдельные знаки, вы найдете несколько полезных формул в нашей следующей статье, следите за обновлениями!
Возможно, вам будут также полезны: