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

Почему стандартный подсчёт не работает с текстом?

Вы когда-нибудь пытались использовать функцию СЧЁТ для текстовых данных в Excel и получали ноль в результате? Это не ошибка программы — так устроена логика работы. Функция СЧЁТ считает только числовые значения, игнорируя текст, даты и пустые ячейки. Аналогично, СЧЁТЗ подсчитывает все непустые ячейки, но не различает их содержимое.

Проблема усложняется, когда в вашей таблице смешаны данные: например, в колонке "Статус заказа" могут быть значения "Оплачен", "Отменён", числа 123 (номер заказа) и пустые ячейки. Как тогда узнать, сколько именно текстовых записей содержится? Стандартные инструменты Excel здесь бессильны — нужны специальные приёмы.

В этой статье мы разберём 5 рабочих методов подсчёта текстовых значений — от элементарных до продвинутых, которые работают даже с частично заполненными данными. Вы научитесь отличать чистый текст от чисел, форматированных как текст, и избежите типичных ошибок, которые искажают результаты.

Метод 1: Функция СЧЁТЕСЛИ для простого подсчёта

Самый доступный способ — использовать функцию СЧЁТЕСЛИ с критерием "". Этот символ обозначает "любой текст", поэтому формула =СЧЁТЕСЛИ(A1:A10; "") вернёт количество ячеек с хотя бы одним текстовым символом в диапазоне A1:A10.

Преимущество метода:

  • ✅ Работает во всех версиях Excel (включая Excel 2003)
  • ✅ Простота — не требует знания сложных формул
  • ✅ Подсчитывает даже ячейки с пробелами или невидимыми символами

Ограничения:

  • ❌ Не различает текст и числа, отформатированные как текст (например, '123)
  • ❌ Считает пустые ячейки с формулами, возвращающими текст (например, =ЕСЛИ(...;"Да";""))

Метод 2: Комбинация функций ЕТЕКСТ и СЧЁТЕСЛИ

Для точного подсчёта только текстовых значений (исключая числа, даты и логические значения) используйте формулу массива:

=СУММ(--ЕТЕКСТ(A1:A10))

Как это работает:

  1. ЕТЕКСТ проверяет каждую ячейку и возвращает ИСТИНА (1), если содержимое — текст.
  2. -- преобразует логические значения в числа (1/0).
  3. СУММ складывает все единицы, давая итоговое количество.

Пример: если в диапазоне A1:A5 содержатся значения "Яблоко", 123, "Груша", ИСТИНА, "Банан", формула вернёт 3 (только текстовые строки).

Почему не работает СЧЁТЕСЛИ с критерием "???"

Критерий "???" в СЧЁТЕСЛИ ищет ячейки с ровно 3 символами, а не любой текст. Для произвольной длины используйте "*" или "??????????" (10 знаков подряд).

Метод 3: Продвинутый подсчёт с СУММПРОИЗВ

Функция СУММПРОИЗВ позволяет гибко комбинировать условия. Например, чтобы посчитать текстовые ячейки длиной более 5 символов, используйте:

=СУММПРОИЗВ(--(ЕТЕКСТ(A1:A10)); --(ДЛСТР(A1:A10)>5))

Практическое применение:

  • 📌 Подсчёт коротких текстовых меток (например, "Да"/"Нет")
  • 📌 Фильтрация ячеек с текстом, содержащим определённые символы (=СУММПРОИЗВ(--(ЕНД(A1:A10; "текст"))))
  • 📌 Исключение ячеек с ошибками (#Н/Д, #ЗНАЧ!)
📊 Какой метод вы используете чаще для работы с текстом в Excel?
Функции ЕТЕКСТ/ЕЧИСЛО
СЧЁТЕСЛИ с критериями
СУММПРОИЗВ
Фильтры и условное форматирование
Другой

Метод 4: Подсчёт уникальных текстовых значений

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

=СЧЁТЕСЛИ(УНИК(A1:A10); "*")

Для старых версий Excel (до 2019 года) подойдёт формула массива:

=СУММ(1/ЧАСТОТА(ЕСЛИ(ЕТЕКСТ(A1:A10); A1:A10); ЕСЛИ(ЕТЕКСТ(A1:A10); A1:A10)))

Важно! Вводите её как формулу массива, нажав Ctrl+Shift+Enter.

Пример: в диапазоне A1:A5 значения "Москва", "Питер", "Москва", "Казань", "Питер". Формула вернёт 3 (уникальные города).

☑️ Проверка перед подсчётом уникальных значений

Выполнено: 0 / 4

Метод 5: Подсчёт текстовых значений с условиями (цвет, формат)

Иногда текстовые данные нужно считать с учётом дополнительных параметров, например:

  • 🎨 Ячейки определённого цвета
  • 📏 Ячейки с конкретным форматированием (жирный, курсив)
  • 🔍 Текст, содержащий ключевые слова

Для этого используйте пользовательскую функцию VBA или комбинацию функций. Пример для подсчёта красных текстовых ячеек:

=СУММПРОИЗВ(--(ЕТЕКСТ(A1:A10)); --(ЦВЕТЗНАЧ(A1:A10)=3))

Где 3 — код красного цвета в палитре Excel.

⚠️ Внимание: Функция ЦВЕТЗНАЧ доступна только в Excel 365 и Excel 2021. Для старых версий потребуется VBA-макрос.

Сравнение методов: какой выбрать?

Выбор метода зависит от задачи и версии Excel. Ниже таблица с сравнением ключевых параметров:

Метод Подходит для Сложность Ограничения Версия Excel
СЧЁТЕСЛИ("*") Простого подсчёта любого текста Считает числа, отформатированные как текст Все
СУММ(--ЕТЕКСТ()) Точного подсчёта только текста ⭐⭐ Не работает с пустыми ячейками 2007+
СУММПРОИЗВ с условиями Сложных критериев (длина, символы) ⭐⭐⭐ Требует знания синтаксиса 2003+
Уникальные значения Аналитики уникальных записей ⭐⭐⭐⭐ В старых версиях — формула массива 2019+ (или VBA)
VBA/ЦВЕТЗНАЧ Подсчёта с учётом форматирования ⭐⭐⭐⭐⭐ Требует навыков программирования 365/2021

Критическая ошибка новичков: функция СЧИТАТЬПУСТОТЫ не поможет с подсчётом текста — она считает только абсолютно пустые ячейки, игнорируя текстовые строки и формулы, возвращающие пустое значение.

Типичные ошибки и как их избежать

Даже опытные пользователи Excel допускают ошибки при работе с текстовыми данными. Вот самые распространённые:

  1. Пробелы и невидимые символы. Ячейка может выглядеть пустой, но содержать пробел или символ табуляции. Используйте СЖПРОБЕЛЫ для очистки:
    =СЧЁТЕСЛИ(СЖПРОБЕЛЫ(A1:A10); "*")
  2. Числа в текстовом формате. Если ячейка содержит '123 (с апострофом), СЧЁТЕСЛИ посчитает её как текст. Чтобы исключить такие случаи, комбинируйте ЕТЕКСТ и ЕЧИСЛО.
  3. Логические значения. ИСТИНА/ЛОЖЬ не являются текстом, но некоторые формулы могут их учитывать. Исключите их явно:
    =СУММ(--(ЕТЕКСТ(A1:A10)); --(НЕ(ИЛИ(A1:A10=ИСТИНА; A1:A10=ЛОЖЬ))))
⚠️ Внимание: Если вы импортировали данные из CSV или базы данных, текстовые числа (например, артикулы) могут восприниматься как числа. Используйте ТЕКСТ для принудительного преобразования: =ТЕКСТ(A1; "0").

FAQ: Ответы на частые вопросы

Можно ли посчитать текстовые ячейки по цвету без VBA?

В Excel 365 и 2021 да — используйте функцию ЦВЕТЗНАЧ. Для старых версий потребуется VBA-макрос или обходной путь: отсортируйте данные по цвету и используйте СЧЁТЕСЛИ для видимого диапазона.

Почему СЧЁТЕСЛИ(A1:A10; "*") возвращает 0, если в ячейках есть текст?

Вероятные причины:

  • Текст в ячейках — результат формулы, возвращающей пустую строку (например, =ЕСЛИ(...; ""; "Текст")). Используйте ДЛСТР>0.
  • Ячейки содержат только непечатаемые символы (проверьте с КОДСИМВ).
  • Диапазон указан неверно (например, A1:A10 вместо A1:A100).
Как посчитать текстовые ячейки, содержащие конкретное слово?

Используйте СЧЁТЕСЛИ с подстановочным знаком:

=СЧЁТЕСЛИ(A1:A10; "слово")

Для регистронезависимого поиска (например, "текст" и "ТЕКСТ"):

=СУММПРОИЗВ(--НЕ(ЕОШИБКА(ПОИСК("текст"; СТРОЧН(A1:A10)))))
Можно ли автоматически обновлять количество текстовых ячеек при изменении данных?

Да. Все приведённые формулы (кроме VBA) обновляются автоматически. Для больших таблиц используйте:

  • 📊 Сводные таблицы (группировка по текстовым полям).
  • 🔄 Power Query (преобразование данных с подсчётом на этапе загрузки).
  • 📈 Динамические массивыExcel 365): =ФИЛЬТР(A1:A10; ЕТЕКСТ(A1:A10)) + СТРОКА.
Как посчитать текстовые ячейки в фильтрованном диапазоне?

Используйте функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ:

=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3; A1:A10)

Для текста комбинируйте с ЕТЕКСТ:

=СУММПРОИЗВ(--ЕТЕКСТ(A1:A10); --ПОДСЧЁТ(A1:A10))

Где ПОДСЧЁТ — это ПРОМЕЖУТОЧНЫЕ.ИТОГИ(2; ...) (количество видимых ячеек).