Количество вхождений символов в строку excel


Найдем количество вхождений определенной Буквы или любого символа в ячейке EXCEL.

Определим, сколько букв Z в слове

Zigzag

(

слово находится в ячейке

A

1

)

.

Формула для подсчета символа Z в слове

Zigzag

(с учетом регистра), см.

файл примера

:

=ДЛСТР(A1) — ДЛСТР(ПОДСТАВИТЬ(A1;»Z»;»»))

Формула для подсчета символа Z (или z) в слове

Zigzag

(без учета РЕгиСТра):

=ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A1);»z»;»»))

Для подсчета количества пробелов (код символа пробела — 32) в ячейке используйте формулу:

=ДЛСТР(A1) — ДЛСТР(ПОДСТАВИТЬ(A1;СИМВОЛ(32);»»))

В статье

Подсчет вхождений последовательности символов

показано, как подсчитать количество вхождений некоторой последовательности символов в текстовой строке.

О поиске позиции n-го вхождения буквы в слове или в текстовой строке можно прочитать

здесь

.

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.

Подсчет вхождений в 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​

​ чисел​0mega​0mega​:​Quote​ )​

​ может подсчитать количество​ символов в текстовой​ Буквы или любого​ в этой теме.​ дата или текст…​

excel2.ru

Подсчет символов в диапазоне в MS EXCEL

​For i =​ 4))) & Trim(Cells(i,​В столбце D​

​нашла уже, спасибо​,​​Else​​Serge_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​Я определил сколько​Мне необходимо в​ определённых символов. В​

​kim​​MsgBox x​​Hugo​​ что этот вопрос​
​Это совокупность математических​

​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. Беда​wacko
​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​smile

​ регистра), см. файл​​: =ДЛСТР(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

​ в слове Zigzag​Guest​ производит подсчет необходимых​ использовать функцию что​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)

​0mega​​s = Replace(s,​
​ все равно, не​поэтому еще 1​ формулой, а не​=​
​ есть формат ячейки​2003​ учета РЕгиСТра):​=ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A1);»z»;»»))​ excel как будет​К примеру в​ сколько раз в​ попробуйте, должно работать​
​ определенное количество нулей​подсчитывают количество букв​ прям вся измучалась​:​
​ «,», «»)​​ смогу разобраться -​
​ доп вопрос​ текстом прийдется использовать​(47​ не текстовый)?​
​вопрос 1-й​
​=СУММПРОИЗВ(ДЛСТР(A7:A11)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A7:A11);»z»;»»)))​Для подсчета количества пробелов​
​ звучать функция?​ с лове «1)​
​ ячейке А1 и​_Boroda_​ в код я​ L и в​
​ :)​
​MCH​
​For i =​ поэтому ответ не​ячейка D1 содержит​ макрофункции.​+​

​0mega​​водоотвод​​Формула для одновременного подсчета​
​ (код символа пробела​Guest​ лжлордыаоррфвдао, 2) орапдолрп,​
​ сколько в ячейке​: Обязательно реально нули​
​ не знаю​
​ ячейках с XL​Guest​

​,​​ 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 =​
​Xraptorx​Guest​
​ время​ False Then x​

​ количество цифр несколько​​подсчитать кол-во чисел​

planetaexcel.ru

Как посчитать количество знаков в ячейке?

​ количество чисел и​​12 =​
​Это идеальное решение первого​кол-во цифр ?​(без учета РЕгиСТра):​
​ последовательности символов показано,​

​ LEN​​1. По совету​

​Guest​​Sub tt()​ 3 To ar​: да, формулой счетесли​

​: а в английском​​kim​ = x +​ отличаются. Правильное замечание.​

​ (2 18 142,56​​ количество цифр несколько​4​ вопроса​
​кол-во математических знаков?​=СУММПРОИЗВ(ДЛСТР(A7:A11)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A7:A11); {«z»;»1″};»»)))​

planetaexcel.ru

​ как подсчитать количество​

Недавно коллега спросил, как подсчитать число вхождений подстроки (определенного символа) в текст, размещенный в одной ячейке? Я давно знал, что в Excel нет такой функции. И вот вчера написал небольшую пользовательскую функцию КолСимв. [1] Вот ее код:

Function КолСимв(строка As String, символ As String) As Integer

Application.Volatile True

Dim TestPos As Integer

КолСимв = 0

TestPos = 1

Do While InStr(TestPos, строка, символ) > 0

КолСимв = КолСимв + 1

TestPos = InStr(TestPos, строка, символ) + Len(символ)

Loop

End Function

Мастер функции КолСимв предлагает выбрать, «строку» – в чем ищем, и «символ» – что ищем (рис. 1). При этом «символ» может содержать и несколько символов (подстроку).

Рис. 1. Мастер функции КолСимв, подсчитывающей число вхождений символа (подстроки) в текст

Скачать заметку в формате Word, пример в формате архива zip (внутри архива вы найдете Excel файл с макросом; политика провайдера не позволяет мне загрузить файл Excel, содержащий код VBA)

Ниже я расскажу подробнее о функции и о том, как работает код VBA.

Гордый собою, я решил обратиться к Интернету, чтобы сравнить свое детище с другими идеями. И… наткнулся на решение без привлечения VBA кода!

Вот что пишет Пол Мак-Федрис в книге «Формулы и функции в Microsoft Office Excel 2007». В разделе, посвященном текстовым функциям, в примечаниях к описанию функции ПОДСТАВИТЬ:

Одним из неожиданных способов использования функции ПОДСТАВИТЬ() является подсчет количества вхождений определенного символа в заданной строке. Идея состоит в том, что при удалении определенного символа из строки разница в длине между исходной строкой и полученной строкой в точности равна количеству вхождений данного символа в исходной строке. Например, строка «издержки» состоит из 8 символов. Если удалить из строки все символы «и», то длина оставшейся строки будет 6 символов. Разница между длиной исходной и длиной полученной строки составляет 2 – именно столько раз символ «и» встречался в исходной строке. Чтобы выполнить такую операцию в формуле, необходимо использовать функцию ДЛСТР() и вычесть длину строки после удаления символа из длины исходной строки:

=ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"и";""))

Джон Уокенбах в книге «Excel 2007. Библия пользователя» развивает эту идею, приводя формулу, способную подсчитать число вхождений подстрок в текст:

Формула представленная ниже подсчитывает количество вхождении подстроки, состоящей из нескольких символов (но, и один не возбраняется, прим. мое) в заданную текстовую строку. Пусть искомая подстрока находится в ячейке B1, а просматриваемый текст — в ячейке A2:

=(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;B1;"")))/ДЛСТР(B1)

Для любознательных и начинающих VBA-программистов (коим, в сущности, являюсь и я) поясню, как работает код пользовательской функции КолСимв.

Function КолСимв(строка As String, символ As String) As Integer
Функция передает из Excel в VBA две текстовые строки: строка и символ. Значение функции является целым.

Dim TestPos As Integer

КолСимв = 0

TestPos = 1

Задается переменная TestPos – позиция, с которой будет искаться символ (подстрока) в строке, а также начальные значения самой функции КолСимв = 0 и переменной TestPos = 1.

Do While InStr(TestPos, строка, символ) > 0

КолСимв = КолСимв + 1

TestPos = InStr(TestPos, строка, символ) + Len(символ)

Loop

Цикл, выполняется до тех пор, пока значение InStr больше нуля. Функция VBA InStr – аналог Excel`евской НАЙТИ. Они обе возвращают позицию в строке, относительно начальной, с которой начинается искомый символ. Значение InStr будет больше нуля, пока символ будет входить в строку. Как только символ не будет найден в строке, функция InStr выдаст значение ошибки, и цикл прекратится.

КолСимв = КолСимв + 1

После каждого попадания внутрь цикла значение КолСимв будет увеличиваться на единицу; если ни одного символа не будет найдено в строке, КолСимв так и останется равным нулю.

TestPos = InStr(TestPos, строка, символ) + Len(символ)

Также внутри цикла происходит увеличение начальной позиции поиска для следующего цикла. Напомню, что InStr возвращает номер позиции. Затем это значение TestPos увеличивается на длину символа (единицу, если мы ищем вхождение единичного символа). В следующем цикле символ будет искаться с позиции сразу после окончания вхождения всего предыдущего символа в строку (рис. 2а).

Рис. 2. Принципы поиска символа «апа» в строке: (а) начальная позиция следующего поиска отстоит от начальной позиции предыдущего найденного вхождения на длину символа; (б) начальная позиция следующего поиска отстоит от начальной позиции предыдущего найденного вхождения на единицу

Представленный код функции КолСимв найдет 5 вхождений символа «апа» в строку «апапапапапапапапапапап». То есть, следующее вхождение будет искаться только после окончания предыдущего вхождения.

Если строку кода

TestPos = InStr(TestPos, строка, символ) + Len(символ)

заменить на

TestPos = InStr(TestPos, строка, символ) + 1

то функция КолСимв найдет 10 вхождений символа «апа» в строку «апапапапапапапапапапап», как показано на рис. 2б.

Обратите также внимание, что функция КолСимв чувствительна к языку (см. рис. 1): русский символ «а» в англоязычной строке «afff» не находится…


[1] Если вы никогда не создавали пользовательских функций, вам сюда. Не пугайтесь, это совсем несложно! 🙂

Skip to content

Как быстро сосчитать количество символов в ячейке Excel

В руководстве объясняется, как считать символы в Excel. Вы изучите формулы, позволяющие получить общее количество символов в диапазоне и подсчитывать только определенные символы в одной или нескольких ячейках.

В нашем предыдущем руководстве была представлена функция ДЛСТР , которая позволяет посчитать количество символов в ячейке Excel.

Функция ДЛСТР (LEN в английской версии) полезна сама по себе, а в связи с другими функциями, такими как СУММ, СУММПРОИЗВ и ПОДСТАВИТЬ, она может решать и более сложные задачи. Далее в этом руководстве мы более подробно рассмотрим несколько основных и более сложных выражений для подсчета количества знаков в Excel.

  1. Как посчитать все символы в диапазоне
  2. Как подсчитать определенные знаки в ячейке
  3. Подсчет определенных букв в ячейке без учета регистра
  4. Как посчитать вхождения текста или подстроки в ячейку?
  5. Сколько раз встречается символ в диапазоне?
  6. Подсчет определенных букв в диапазоне без учета регистра.

Как посчитать все символы в диапазоне

Когда дело доходит до подсчета общего количества знаков в нескольких клетках таблицы, сразу приходит на ум решение сделать это для каждой из них, а затем просто сложить эти числа:

=ДЛСТР(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. Функция ПОДСТАВИТЬ удаляет указанное слово из исходного текста.
    В этом примере мы удаляем слово, введенное в ячейку С1, из исходного текста, расположенного в B2:
    ПОДСТАВИТЬ(B2; $C$1;»»)
  2. Затем функция ДЛСТР вычисляет длину текстовой строки без указанного слова.
    В этом примере ДЛСТР(ПОДСТАВИТЬ(B2; $C$1;»»)) возвращает длину текста в B2 после удаления всех букв и цифр, содержащихся во всех вхождениях «А2».
  3. После этого указанное выше число вычитается из общей длины исходной текстовой строки:
    ДЛСТР(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 с помощью функции ДЛСТР. Если вы хотите знать, как считать слова, а не отдельные знаки, вы найдете несколько полезных формул в нашей следующей статье, следите за обновлениями!

Возможно, вам будут также полезны:

Формула ЗАМЕНИТЬ и ПОДСТАВИТЬ для текста и чисел В статье объясняется на примерах как работают функции Excel ЗАМЕНИТЬ (REPLACE в английской версии) и ПОДСТАВИТЬ (SUBSTITUTE по-английски). Мы покажем, как использовать функцию ЗАМЕНИТЬ с текстом, числами и датами, а также…
Как быстро посчитать количество слов в Excel В статье объясняется, как подсчитывать слова в Excel с помощью функции ДЛСТР в сочетании с другими функциями Excel, а также приводятся формулы для подсчета общего количества или конкретных слов в…
Как быстро извлечь число из текста в Excel В этом кратком руководстве показано, как можно быстро извлекать число из различных текстовых выражений в Excel с помощью формул или специального инструмента «Извлечь». Проблема выделения числа из текста возникает достаточно…
Как убрать пробелы в числах в Excel Представляем 4 быстрых способа удалить лишние пробелы между цифрами в ячейках Excel. Вы можете использовать формулы, инструмент «Найти и заменить» или попробовать изменить формат ячейки. Когда вы вставляете данные из…
Как удалить пробелы в ячейках Excel Вы узнаете, как с помощью формул удалять начальные и конечные пробелы в ячейке, лишние интервалы между словами, избавляться от неразрывных пробелов и непечатаемых символов. В чем самая большая проблема с…
Функция СЖПРОБЕЛЫ — как пользоваться и примеры Вы узнаете несколько быстрых и простых способов, чтобы удалить начальные, конечные и лишние пробелы между словами, а также почему функция Excel СЖПРОБЕЛЫ (TRIM в английской версии)  не работает и как…
Функция ПРАВСИМВ в Excel — примеры и советы. В последних нескольких статьях мы обсуждали различные текстовые функции. Сегодня наше внимание сосредоточено на ПРАВСИМВ (RIGHT в английской версии), которая предназначена для возврата указанного количества символов из крайней правой части…
Функция ЛЕВСИМВ в Excel. Примеры использования и советы. В руководстве показано, как использовать функцию ЛЕВСИМВ (LEFT) в Excel, чтобы получить подстроку из начала текстовой строки, извлечь текст перед определенным символом, заставить формулу возвращать число и многое другое. Среди…

На чтение 1 мин Опубликовано 20.07.2015

Этот пример научит вас подсчитывать число вхождений текста в выбранном диапазоне.

  1. К примеру, можно сосчитать количество ячеек, содержащих текст «star» по следующей формуле:

    =COUNTIF(A1:A7,"star")
    =СЧЁТЕСЛИ(A1:A7;"star")

    Подсчет вхождений в Excel

  2. Для подсчёта количества ячеек, содержащих «star» + 1 символ, подойдёт вот эта формула:

    =COUNTIF(A1:A7,"star?")
    =СЧЁТЕСЛИ(A1:A7;"star?")

    Вопросительный знак (?) соответствует ровно одному символу.

    Подсчет вхождений в Excel

  3. Подсчитать количество ячеек, содержащих «star» + ряд символов (от нуля и более), можно по формуле ниже:

    =COUNTIF(A1:A7,"star*")
    =СЧЁТЕСЛИ(A1:A7;"star*")

    Звездочка (*) соответствует ряду символов (от нуля или больше).

    Подсчет вхождений в Excel

  4. Также можно сосчитать количество ячеек, которые в любом случае содержат «star», воспользовавшись этой формулой:

    =COUNTIF(A1:A7,"star*")
    =СЧЁТЕСЛИ(A1:A7;"*star*")

    Эта функция подсчитывает все ячейки, которые содержат «star», независимо от того, что находится до или после искомого текста.

    Подсчет вхождений в Excel

  5. Ещё вы можете подсчитать количество ячеек, содержащих любой текст, прописав эту формулу:

    =COUNTIF(A1:A7,"*")
    =СЧЁТЕСЛИ(A1:A7;"*")

    Подсчет вхождений в Excel

Оцените качество статьи. Нам важно ваше мнение:

В этом руководстве показано, как применять формулы на основе функций 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 года.

Лента Excel (с Kutools for Excel установлены)


Вкладка Office — включение чтения и редактирования с вкладками в Microsoft Office (включая Excel)

  • Одна секунда для переключения между десятками открытых документов!
  • Уменьшите количество щелчков мышью на сотни каждый день, попрощайтесь с рукой мыши.
  • Повышает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
  • Добавляет эффективные вкладки в Office (включая Excel), точно так же, как Chrome, Firefox и новый Internet Explorer.

Снимок экрана Excel (с установленной вкладкой Office)

Комментарии (1)


Оценок пока нет. Оцените первым!

Понравилась статья? Поделить с друзьями:
  • Количество вложенных если excel
  • Количество вложений если в excel
  • Количество видимых ячеек в excel
  • Количество в штуках excel
  • Количество в час как посчитать в excel