Как посчитать цифры в excel если есть буквы

Как посчитать количество цифр в ячейках, даже если помимо цифр в них есть другие символы? Как посчитать ячейки, содержащие только цифры? А ячейки, содержащие цифры и другие символы?

На эти и другие вопросы вы найдете ответы в этой статье.

Посчитать цифры внутри ячеек

Если число целое, число символов в ячейке будет равно числу цифр. В таком случае формула будет:

Но что, если число дробное (с запятой), или содержит буквенные символы/пунктуацию?

Тут поможет формула массива на основе функций ПОДСТАВИТЬ и ДЛСТР:

Формула массива для подсчета цифр внутри ячейки
Формула массива для подсчета цифр внутри ячейки

А вот сам текст формулы, который можно скопировать:

=СУММ(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;{1;2;3;4;5;6;7;8;9;0};"")))

Механика формулы довольно проста:

  1. Функция ПОДСТАВИТЬ в исходной строке поочередно заменяет на пустоту каждое из значений числового массива
  2. Функция ДЛСТР в каждом из случаев возвращает длину результирующей строки
  3. Из исходной длины вычитается эта длина (если цифры в строке не было, результат будет нулевым)
  4. Производится суммирование всех результатов

Посчитать числовые ячейки (содержащие только числа)

Чрезвычайно ненадежное базовое решение, работающее только в случаях, когда в данных действительно содержатся только числа – это использовать функцию СЧЁТ. Пример:

Формула с функцией СЧЁТ для подсчета чисел в диапазоне
Функция СЧЁТ считает числа в диапазоне

Обратите внимание, функция не учтет ячейки даже если они просто форматированы как текст. Вот одно из более надежных решений, тоже формула массива:

формула для подсчета числовых ячеек с числами в текстовом формате
Надежная формула для подсчета числовых ячеек, не игнорирующая числа в текстовом формате
=СУММ(1-ЕОШИБКА(ЗНАК(A2:A6)))

Формулу нужно вводить сочетанием Ctrl + Shift + Enter, иначе она не сработает.

Механика этой формулы:

  1. Для каждой из ячеек диапазона функция ЗНАК возвращает числовое значение или ошибку. Особенность функции в том, что в отличие от функции СЧЁТ, она игнорирует формат ячейки
  2. Если в ячейке действительно не число, а текст или текст + цифры, функция выдаст ошибку, и ее подхватит функция ЕОШИБКА, выдавая ИСТИНА в случае ошибки и ЛОЖЬ в случае ее отсутствия
  3. Как обнулить ошибки и сделать единицами их отсутствие? Очень просто — вычесть их из единицы. ИСТИНА эквивалентна единице и вернет в таком случае 0, а ЛОЖЬ равна нулю и вернет 1
  4. Просуммируем итоговые результаты

Посчитать в диапазоне ячейки, содержащие цифры

Если ячейки могут содержать не только цифры, но и текстовые символы, задача сводится к тому, чтобы сначала определить наличие цифр в ячейках. Ниже формула из соответствующей статьи:

=СЧЁТ(ПОИСК({1:2:3:4:5:6:7:8:9:0};A1))>0

А далее — уже дело техники! Задача лишь в том, чтобы посчитать количество ячеек, содержащих ИСТИНА.

Например, можно функцией СЧЁТЕСЛИ:

Выявить ячейки с цифрами и посчитать их СЧЁТЕСЛИ
Выявляем ячейки, содержащие цифры, и считаем их

Можно использовать формулу массива, с помощью двойного отрицания диапазона сделать ИСТИНЫ и ЛОЖЬ единицами и нулями соответственно, а потом просуммировать получившиеся значения массива. Не забудьте про Ctrl + Shift + Enter при вводе формулы.

чтобы в ячейке появились характерные для формул массива фигурные скобки:

Выявить ячейки с цифрами и посчитать их формулой массива
Двойное отрицание массива и формула СУММ

Заключение

Итак, надеюсь, вам помогла эта статья и вы успешно решите любую задачу по подсчету цифр в ячейках и подсчету самих этих ячеек. Хотите поблагодарить автора? Приобретите мою надстройку для Excel — она ускоряет выполнение множества рутинных задач.

Как в excel суммировать ячейки с цифрой и текстом?

т.е.
в ячейке G2 должна получиться сумма всех ячеек строки 2 где есть буква «л»,

а в ячейке H2 сумма всех ячеек строки 2 где есть буква «п»

пример на скрине
5cab22ed2f557505831457.png


  • Вопрос задан

    более трёх лет назад

  • 9431 просмотр

Для буквы «л» формула такая:
=СУММ(ЕСЛИОШИБКА(ЕСЛИ(ПОИСК(«л»;B4:G4);—ПОДСТАВИТЬ(B4:G4;»л»;»»));0))
Для «п» соответственно такая:
=СУММ(ЕСЛИОШИБКА(ЕСЛИ(ПОИСК(«п»;B4:G4);—ПОДСТАВИТЬ(B4:G4;»п»;»»));0))

Обе — формулы массива. Вводятся одновременным нажатием клавиш Ctrl+Shift+Enter

Пригласить эксперта


  • Показать ещё
    Загружается…

15 апр. 2023, в 23:37

1000 руб./в час

15 апр. 2023, в 23:24

25000 руб./за проект

15 апр. 2023, в 21:40

2000 руб./за проект

Минуточку внимания

  • Редакция Кодкампа

17 авг. 2022 г.
читать 2 мин


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

Метод 1: суммирование ячеек, содержащих один конкретный текст

=SUMIF( A2:A11 , "*avs*", B2:B11 )

Эта формула суммирует ячейки в диапазоне B2:B11 , где соответствующие ячейки в A2:A11 содержат «avs» в ячейке.

Метод 2: суммирование ячеек, содержащих один из нескольких текстов

=SUMIF( A2:A11 , "*avs*", B2:B11 )+SUMIF( A2:A11 , "*eat*", B2:B11 )

Эта формула суммирует ячейки в диапазоне B2:B11 , где соответствующие ячейки в A2:A11 содержат «avs» или «eat» в ячейке.

В следующих примерах показано, как использовать каждый метод на практике со следующим набором данных в Excel:

Пример 1: сумма ячеек, содержащих один конкретный текст

Мы можем использовать следующую формулу для суммирования значений в столбце « Очки », где название команды содержит «avs» в названии:

=SUMIF( A2:A11 , "*avs*", B2:B11 )

На следующем снимке экрана показано, как использовать эту формулу на практике:

Мы видим, что ячейки, в которых столбец « Команда » содержит «avs», набрали в общей сложности 52 балла.

Мы можем проверить это вручную, просуммировав значения, где столбец Team содержит «avs»:

Сумма Очков Команд, в названии которых есть «avs»: 12 + 5 + 8 + 10 + 17 = 52 .

Пример 2. Суммарные ячейки, содержащие один из нескольких текстов

Мы можем использовать следующую формулу для суммирования значений в столбце « Очки », где название команды содержит «avs» или «eat» в названии:

=SUMIF( A2:A11 , "*avs*", B2:B11 )+SUMIF( A2:A11 , "*eat*", B2:B11 )

На следующем снимке экрана показано, как использовать эту формулу на практике:

Мы видим, что ячейки, в которых столбец Team содержит «avs» или «eat», набрали в общей сложности 65 баллов.

Мы можем проверить это вручную, просуммировав значения, где столбец Team содержит «avs» или «eat»:

Сумма Очков для Команд, в названии которых есть «avs» или «eat»: 12 + 5 + 8 + 10 + 13 + 17 = 65 .

Дополнительные ресурсы

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

Excel: как удалить строки с определенным текстом
Excel: как проверить, содержит ли ячейка частичный текст
Excel: как проверить, содержит ли ячейка текст из списка

 

В разных ячейках написаны цифры и буквы вместе. Например: 23д, 15н, 18д и т.д.  
Как посчитать сумму этих чисел?  
При простой автосумме выдает ошибку, из-за текста.  
Отделить их тоже никак не возможно.  
Как поступить в этом случае?  
Заранее благодарю!

 

dude

Пользователь

Сообщений: 1066
Регистрация: 22.12.2012

если цифры всегда слева  
Function vvv(d As Range) As Double  
Dim s  
For Each s In d  
vvv = vvv + Val(d.Text)  
Next  
End Function

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Формула массива:  
=СУММ(—ЛЕВСИМВ(A1:A3;2))

 

bobo

Пользователь

Сообщений: 4
Регистрация: 01.01.1970

выделяем нужные ячейки, правый клик, формат ячеек, (основной «д»)или (основной «км») или (основной «кг») и т.д. можно писать что вы пожелаете.

 

bobo

Пользователь

Сообщений: 4
Регистрация: 01.01.1970

{quote}{login=bobo}{date=07.04.2011 08:53}{thema=}{post}выделяем нужные ячейки, правый клик, формат ячеек, все форматы,(основной «д»)или (основной «км») или (основной «кг») и т.д. можно писать что вы пожелаете.{/post}{/quote}

 

слэн

Пользователь

Сообщений: 5192
Регистрация: 16.01.2013

как в формате применить эти «или» ?

 

А что должно получиться, если 23д+15н?

 

bobo

Пользователь

Сообщений: 4
Регистрация: 01.01.1970

слово «основной» — это значение ячейки который вбивает пользователь с клавиатуры, добавочное слово (после цифры) — экзель приписывает то слово которое вы написали формат ячеек-все форматы-основной «слово»  
«слово» — это то что вы хотите видеть после цифры.

 

bobo

Пользователь

Сообщений: 4
Регистрация: 01.01.1970

лучше посмотрите в этом файле формат ячеек

 

{quote}{login=The_Prist}{date=06.04.2011 10:32}{thema=}{post}Странно, что при «простой автосумме выдает ошибку». Если применить формулу =СУММ(A1:A10), то она просто игнорирует ячейки с текстом. {/quote}  
пробовал, не работает.

 

{quote}{login=vikttur}{date=07.04.2011 08:14}{thema=}{post}Формула массива:  
=СУММ(—ЛЕВСИМВ(A1:A3;2)){/post}{/quote}  
тоже пробовал, не работает.

 

{quote}{login=bobo}{date=07.04.2011 08:53}{thema=}{post}выделяем нужные ячейки, правый клик, формат ячеек, (основной «д»)или (основной «км») или (основной «кг») и т.д. можно писать что вы пожелаете.{/post}{/quote}  
к сожалению результата нет.  
выручайте господа!

 

MCH

Пользователь

Сообщений: 3875
Регистрация: 22.12.2012

#13

11.04.2011 17:28:55

еще вариант:  
=СУММПРОИЗВ(—ПСТР(«00″&D6:AB6;1;ДЛСТР(D6:AB6)+1))

Как посчитать сумму ячеек где буквы и цифры

exc012

Дата: Вторник, 29.10.2019, 13:27 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 29


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

Здравствуйте.
Есть ячейки в них будет такой текст, например,
Я 8.2
Я 4,4
Необходимо в результирующей ячейке посчитать сумму по этим всем ячейкам, чтобы формула игнорировала буквы
Т.е. тут итог должен быть 12.6

Какую формулу надо использовать (функцию для суммирования)?

Сообщение отредактировал exc012Среда, 30.10.2019, 06:59

 

Ответить

bmv98rus

Дата: Вторник, 29.10.2019, 14:16 |
Сообщение № 2

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4009


Репутация:

760

±

Замечаний:
0% ±


Excel 2013/2016

exc012, Все ячейки с буквами. Название темы лучше приблизить к сути проблемы.


Замечательный Временно просто медведь , процентов на 20.

 

Ответить

китин

Дата: Вторник, 29.10.2019, 14:30 |
Сообщение № 3

Группа: Модераторы

Ранг: Экселист

Сообщений: 6973


Репутация:

1063

±

Замечаний:
0% ±


Excel 2007;2010;2016

exc012, — Прочитайте Правила форума
— Исправьте название темы согласно п.2 Правил форума, конкретнее обозначьте проблему
— Приложите файл с исходными данными и желаемым результатом (можно вручную) в формате Excel размером до 100кб согласно п.3 Правил форума


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

 

Ответить

exc012

Дата: Среда, 30.10.2019, 07:00 |
Сообщение № 4

Группа: Пользователи

Ранг: Новичок

Сообщений: 29


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

Прикладываю файл

К сообщению приложен файл:

0575860.xls
(25.0 Kb)

 

Ответить

bmv98rus

Дата: Среда, 30.10.2019, 07:40 |
Сообщение № 5

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4009


Репутация:

760

±

Замечаний:
0% ±


Excel 2013/2016

Ну с названием по прежнему не доработка. Вы не сумму ячеек считаете, а сумму чисел в ячейках, содержащих числа с суффиксом из текста.
для конкретно этого случая

Код

=SUMPRODUCT(—SUBSTITUTE(A3:C3;»Я»;))

но то что было в топике требует минимум еще одну подстановку, точки или запятой на разделитель десятичный

Код

=SUMPRODUCT(—SUBSTITUTE(SUBSTITUTE(A3:C3;»Я»;);».»;»,»)

А для общего случая не зависисмого от региональных установок

Код

=SUMPRODUCT(—SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A3:C3;»Я»;);».»;»,»);»,»;MID(1/2;2;1)))


Замечательный Временно просто медведь , процентов на 20.

 

Ответить

amfor

Дата: Среда, 30.10.2019, 07:49 |
Сообщение № 6

Группа: Проверенные

Ранг: Обитатель

Сообщений: 250


Репутация:

75

±

Замечаний:
0% ±


Excel 2016

Вариант

Код

=СУММПРОИЗВ(—ПСТР(«00″&A3:C3;1;ДЛСТР(A3:C3)+1))


Семь бед — один RESET.

 

Ответить

exc012

Дата: Четверг, 31.10.2019, 07:06 |
Сообщение № 7

Группа: Пользователи

Ранг: Новичок

Сообщений: 29


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

Вариант

=СУММПРОИЗВ(—ПСТР(«00″&A3:C3;1;ДЛСТР(A3:C3)+1))

Спасибо!!! Так работает.
Еще добавил в конце +СУММ(A3:C3) чтобы подсуммировались ячейки, где буква не указана.

Отличный форум! Оригинальный дизаин

 

Ответить

exc012

Дата: Понедельник, 11.11.2019, 08:03 |
Сообщение № 8

Группа: Пользователи

Ранг: Новичок

Сообщений: 29


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

СОС!!
Помогите, оказывается надо учесть еще лучай когда в ячейк не 1 буква, например, 7.6Я, а еще когда так в ячейке: 7.6АП

Прикладываю файл, помогите!

П.с. сейчас еще сам, конечно попробую, но не факт что смогу.

К сообщению приложен файл:

6893054.xls
(25.0 Kb)

 

Ответить

Светлый

Дата: Понедельник, 11.11.2019, 09:17 |
Сообщение № 9

Группа: Друзья

Ранг: Старожил

Сообщений: 1742


Репутация:

479

±

Замечаний:
0% ±


Excel 2013, 2016

Ещё одна функция ПОДСТАВИТЬ и всё в порядке.


Программировать проще, чем писать стихи.

 

Ответить

exc012

Дата: Понедельник, 11.11.2019, 10:53 |
Сообщение № 10

Группа: Пользователи

Ранг: Новичок

Сообщений: 29


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

Излишнее цитирование удалено администрацией — это нарушение п.5j Правил форума
У меня вообще не работал.
Пожалуйста?

Сообщение отредактировал китинПонедельник, 11.11.2019, 12:52

 

Ответить

exc012

Дата: Понедельник, 11.11.2019, 11:35 |
Сообщение № 11

Группа: Пользователи

Ранг: Новичок

Сообщений: 29


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

Очень бы хотелось получить ответ. Просто срочно надо!!!
Ковыряюсь по всякому, не работает

Вот в такой формуле, если поставить 3 нуля, тогда работает, если Я с пробелом стоит, но это тоже не вариант пробелы ставить

Код

=СУММПРОИЗВ(—ПСТР(«000″&A3:C3;1;ДЛСТР(A3:C3)+1))

 

Ответить

bmv98rus

Дата: Понедельник, 11.11.2019, 12:27 |
Сообщение № 12

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4009


Репутация:

760

±

Замечаний:
0% ±


Excel 2013/2016

Ковыряюсь по всякому, не работает

Ну вы ж сразу от правильного варианта переключились на понятный Вам.

Ещё одна функция ПОДСТАВИТЬ и всё в порядке.

Код

=SUMPRODUCT(—SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A3:C3;»Я»;);»АП»;);».»;»,»))


Замечательный Временно просто медведь , процентов на 20.

 

Ответить

exc012

Дата: Понедельник, 11.11.2019, 12:45 |
Сообщение № 13

Группа: Пользователи

Ранг: Новичок

Сообщений: 29


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

Спасибо, видимо я плохой пример привел.
Там внутри длинная строка и могут быть пустые ячейки

Этот вариант работает только при непрерывной строке.

А строка может быть:

7.8Я 7.8АП В В 7.8РП

То есть и букв может быть много и в ячейке может быть только буква без часов.

 

Ответить

bmv98rus

Дата: Понедельник, 11.11.2019, 12:52 |
Сообщение № 14

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4009


Репутация:

760

±

Замечаний:
0% ±


Excel 2013/2016

видимо я плохой пример привел.

Естественно надо прикладывать реалистичные данные, или уметь адаптировать к ним решения.


Замечательный Временно просто медведь , процентов на 20.

 

Ответить

exc012

Дата: Понедельник, 11.11.2019, 12:53 |
Сообщение № 15

Группа: Пользователи

Ранг: Новичок

Сообщений: 29


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

Вот, прикладываю файл уже приближенный.

К сообщению приложен файл:

6538239.xlsx
(11.1 Kb)

 

Ответить

exc012

Дата: Понедельник, 11.11.2019, 12:57 |
Сообщение № 16

Группа: Пользователи

Ранг: Новичок

Сообщений: 29


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

Естественно надо прикладывать реалистичные данные, или уметь адаптировать к ним решения.
К сообщению приложен файл: Copy_of_1267_1.xlsx(17.3 Kb)

Да, вижу тут есть обработка ошибки, но, если как в недавнем выложеном файле. Разные буквы, т.е. чтобы учесть все буквы надо формулу очень большукю тут рисовать

Поэтому я схватился за вариант

Код

=СУММПРОИЗВ(—ПСТР(«00″&A3:C3;1;ДЛСТР(A3:C3)+1))

Где все это работало и только не учитывало буквы с длиной 2 (т.е. всякие РП, АП, ДО, и т.д.)
И попытался ее смодифицировать

 

Ответить

exc012

Дата: Понедельник, 11.11.2019, 13:13 |
Сообщение № 17

Группа: Пользователи

Ранг: Новичок

Сообщений: 29


Репутация:

0

±

Замечаний:
0% ±


Excel 2016


Что то хотел упростить (убрать замену точек на зпт) и добавить обработку еще 1 символа «РП» что-то заплюхался
…Еще пробую так, чтото не работает

Код

=СУММПРОИЗВ(ЕСЛИОШИБКА(—ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3:E3;»Я»;);»АП»;);»РП»;);))

Сообщение отредактировал exc012Понедельник, 11.11.2019, 13:14

 

Ответить

bmv98rus

Дата: Понедельник, 11.11.2019, 13:22 |
Сообщение № 18

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4009


Репутация:

760

±

Замечаний:
0% ±


Excel 2013/2016

Ага,а если учесть что пример от
то…Короче, если тексто суффиксом, то массивная

Код

=SUM(IFERROR(—SUBSTITUTE(LEFT(A3:E3;MAX(IF(ISNUMBER(—MID(A3:E3;{1;2;3;4;5};1));{1;2;3;4;5})));».»;»,»);))

Думаю 5 хватит, даже если будет 23.59
Нормальные примеры в следующий раз готовьте.

Что-то сложное вышло из под пера

Код

=SUM(IFERROR(—SUBSTITUTE(LEFT(A3:E3;TRANSPOSE(MMULT(—(ISNUMBER(—MID(TRANSPOSE(SUBSTITUTE(A3:E3;».»;»,»));1;{12345})));{1;1;1;1;1})));».»;»,»);))


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rusПонедельник, 11.11.2019, 14:28

 

Ответить

exc012

Дата: Понедельник, 11.11.2019, 13:24 |
Сообщение № 19

Группа: Пользователи

Ранг: Новичок

Сообщений: 29


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

Естественно надо прикладывать реалистичные данные, или уметь адаптировать к ним решения.
К сообщению приложен файл: Copy_of_1267_1.xlsx(17.3 Kb)

Добавил обработку еще символа, кое-как с бубном заработало.
Сейчас попытаюсь все буквы учесть

 

Ответить

exc012

Дата: Понедельник, 11.11.2019, 13:38 |
Сообщение № 20

Группа: Пользователи

Ранг: Новичок

Сообщений: 29


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

7.8Я 7.8АП В В 7.8РП
то…

Короче, если тексто суффиксом, то массивная

=СУММ(ЕСЛИОШИБКА(—ПОДСТАВИТЬ(ЛЕВСИМВ(A3:E3;МАКС(ЕСЛИ(ЕЧИСЛО(—ПСТР(A3:E3;{1;2;3;4;5};1));{1;2;3;4;5})));».»;»,»);))
Думаю 5 хватит, даже если будет 23.59
Нормальные примеры в следующий раз готовьте.

Формула в вашем примере работает, а себе в лист вставляю и меняю диапазон на свой и показывает 0.
Вроде аккуратно копирую формулу.

 

Ответить

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Как посчитать цикл в excel
  • Как посчитать ячейки в excel на разных листах
  • Как посчитать ячейки с буквами в excel
  • Как посчитать цену с учетом скидки в excel
  • Как посчитать ячейки в excel vba

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии