Как посчитать количество плюсов (+) в Excel: от базовых функций до продвинутых формул

Подсчёт символов «+» в таблицах Microsoft Excel или Google Sheets — задача, с которой сталкиваются бухгалтеры, аналитики и даже школьники при обработке опросов или проверке данных. На первый взгляд кажется, что достаточно просто пролистать таблицу глазами, но когда речь идёт о тысячах строк, ручной метод становится неэффективным. К счастью, в Excel есть несколько способов автоматизировать этот процесс — от элементарных функций до сложных формул с регулярными выражениями.

В этой статье мы разберём 5 рабочих методов, включая их плюсы и минусы, а также покажем, как адаптировать решения под разные версии Excel (2010, 2016, 2019, 365) и Google Таблицы. Вы узнаете, как считать плюсы в отдельной ячейке, диапазоне, или даже с учётом условий (например, только в положительных числах). Особое внимание уделим обходу типичной ошибки, когда Excel путает математический знак «+» с текстом или частью формулы.

1. Базовый метод: функция ДЛСТР + ПОДСТАВИТЬ

Самый простой способ посчитать количество плюсов — использовать комбинацию функций ДЛСТР (длина строки) и ПОДСТАВИТЬ (замена символов). Логика проста: мы сравниваем длину исходной строки с длиной строки, где все «+» удалены. Разница и будет количеством плюсов.

Формула выглядит так:

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

Где A1 — ячейка, в которой нужно посчитать плюсы. Этот метод работает и в Google Sheets, и во всех версиях Excel, начиная с 2003 года. Однако у него есть ограничение: он считает все плюсы, включая те, что являются частью слов (например, «C++») или математических выражений (например, «5+3»).

  • ✅ Подходит для любых версий Excel
  • ✅ Не требует знания сложных функций
  • ⚠️ Считает плюсы в составе других символов
  • ⚠️ Не различает плюс как знак операции и как текст

2. Продвинутый подход: функция НАЙТИ в массиве

Для более точного подсчёта, когда плюсы могут быть частью других символов, используйте формулу массива с функцией НАЙТИ. Этот метод позволяет учитывать только изолированные плюсы или плюсы в определённом контексте (например, в начале строки).

Формула для подсчёта всех плюсов в ячейке:

=СУММ(ЕСЛИОШИБКА(НАЙТИ("+"; ПОВТОР(A1; " "); СТРОКА(ДВССЫЛ("1:100"))); 0))

Эта формула работает как формула массива (в старых версиях Excel её нужно вводить через Ctrl+Shift+Enter). Она ищет каждый плюс по отдельности и суммирует результаты. Преимущество метода — гибкость: вы можете модифицировать его для поиска плюсов только в определённых позициях.

⚠️ Внимание: В Excel 365 и Excel 2021 формулы массива вводятся автоматически. В более ранних версиях (2010–2019) не забудьте нажать Ctrl+Shift+Enter, иначе результат будет неверным.
Метод Подходит для Учитывает контекст Сложность
ДЛСТР + ПОДСТАВИТЬ Все версии Excel Нет
НАЙТИ в массиве Excel 2010+ Да ⭐⭐⭐
РЕГВЫРАЖ (REPT) Excel 365, Google Sheets Да ⭐⭐

3. Использование регулярных выражений (Excel 365 и Google Sheets)

Если вы работаете в Excel 365 или Google Таблицах, у вас есть доступ к функции РЕГВЫРАЖ (REGEX в английской версии), которая позволяет использовать регулярные выражения для поиска символов. Это самый мощный инструмент для работы с текстом.

Формула для подсчёта всех плюсов:

=ДЛСТР(РЕГВЫРАЖ.ИЗВЛЕЧЬ(A1; "+"; ""))

А если нужно посчитать только плюсы, которые стоят отдельно (например, как знак операции или маркер):

=ДЛСТР(РЕГВЫРАЖ.ИЗВЛЕЧЬ(A1; "(^\+|\s\+|\+\s|\+$)"; ""))

Регулярное выражение (^\+|\s\+|\+\s|\+$) ищет плюсы, которые стоят:

  • ➕ В начале строки (^\+)
  • ➕ После пробела (\s\+)
  • ➕ Перед пробелом (\+\s)
  • ➕ В конце строки (\+$)

📊 Какую версию Excel вы используете?
Excel 2010–2019
Excel 365
Google Sheets
Другую

4. Подсчёт плюсов в диапазоне ячеек

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

=СУММ(ДЛСТР(A1:A100) - ДЛСТР(ПОДСТАВИТЬ(A1:A100; "+"; "")))

В Excel 365 эта формула будет работать автоматически. В более старых версиях её нужно вводить как формулу массива (Ctrl+Shift+Enter). Альтернативный вариант — создать вспомогательный столбец с формулой для каждой ячейки и затем просуммировать его.

⚠️ Внимание: Если в диапазоне есть пустые ячейки, функция ДЛСТР вернёт 0, что может исказить результат. Чтобы избежать этого, добавьте проверку на пустоту: =СУММЕСЛИ(A1:A100; "<>"; ДЛСТР(A1:A100) - ДЛСТР(ПОДСТАВИТЬ(A1:A100; "+"; "")))

Убедитесь, что в диапазоне нет объединённых ячеек|

Проверьте, нет ли скрытых символов (например, неразрывных пробелов)|

Используйте ТРИМ для удаления лишних пробелов|

Для больших диапазонов (>10 000 строк) разбейте задачу на части-->

5. Учёт плюсов только в числовых значениях

Если вам нужно посчитать плюсы только в ячейках с положительными числами (например, «+5», «+100»), а игнорировать текстовые плюсы (например, «A+», «++»), используйте комбинацию функций ЕЧИСЛО и НАЙТИ:

=СУММ(ЕСЛИ(ЕЧИСЛО(A1:A100); ЕСЛИ(НЕ(ЕОШ(НАЙТИ("+"; A1:A100))); 1; 0); 0))

Эта формула:

  1. Проверяет, является ли содержимое ячейки числом (ЕЧИСЛО).
  2. Ищет в нём знак «+» (НАЙТИ).
  3. Суммирует только те ячейки, где оба условия выполнены.

В Google Sheets аналогичный результат даст формула:

=СУММАРНО(ЕСЛИ(ЕЧИСЛО(A1:A100); ЕСЛИ(РЕГВЫРАЖСОВПАД(A1:A100; "\+"); 1; 0); 0))
Что делать, если Excel не видит плюс в числе?

Иногда Excel автоматически удаляет знак «+» перед числами (например, «+5» становится «5»). Чтобы этого избежать:

  1. Форматируйте ячейку как текст перед вводом данных.
  2. Используйте апостроф перед числом: '+5.
  3. В настройках Excel отключите параметр Автоматическое исправление знаков при вводеФайл → Параметры → Правописание → Параметры автозамены).

6. Автоматизация с помощью VBA (для опытных пользователей)

Если вам регулярно приходится считать плюсы в больших таблицах, имеет смысл написать простую макрофункцию на VBA. Этот метод подходит для Excel 2010–2019 и позволяет гибко настраивать условия подсчёта.

Пример кода для подсчёта плюсов в выбранном диапазоне:

Function CountPluses(rng As Range) As Long

Dim cell As Range

Dim count As Long

count = 0

For Each cell In rng

count = count + (Len(cell.Value) - Len(Replace(cell.Value, "+", "")))

Next cell

CountPluses = count

End Function

Чтобы использовать эту функцию:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Сохраните файл как .xlsm (с поддержкой макросов).
  4. В ячейке введите формулу: =CountPluses(A1:A100).

Преимущество VBA — возможность доработать функцию под специфические задачи, например, игнорировать плюсы в определённых столбцах или учитывать регистр.

FAQ: Частые вопросы о подсчёте плюсов в Excel

Можно ли посчитать плюсы в защищённой ячейке?

Да, но только если у вас есть права на просмотр содержимого ячейки. Формулы будут работать, даже если ячейка заблокирована для редактирования. Однако если ячейка скрыта (с помощью формата ;;;), её содержимое не будет учитываться в расчётах.

Почему формула ДЛСТР - ПОДСТАВИТЬ даёт неверный результат?

Наиболее вероятные причины:

  • 🔹 В ячейке есть непечатаемые символы (например, табуляция или перевод строки). Используйте =ЧИСТ(A1), чтобы их удалить.
  • 🔹 Плюс является частью формулы, а не текста. В этом случае Excel не увидит его как символ.
  • 🔹 Ячейка содержит ошибку (например, #Н/Д). Добавьте проверку ЕОШИБКА.

Как посчитать плюсы в сводной таблице?

Сводные таблицы не поддерживают пользовательские формулы для подсчёта символов. Решения:

  1. Добавьте вспомогательный столбец с формулой подсчёта плюсов в исходных данных, затем включите его в сводную таблицу.
  2. Используйте Power Query для предварительной обработки данных.

Есть ли разница между плюсом в тексте и в формуле?

Да, и это критично для подсчёта:

  • 📌 Текстовый плюс (например, «A+») — виден как символ и считается всеми методами.
  • 📌 Плюс в формуле (например, =5+3) — не является частью текста ячейки, поэтому формулы его не увидят. Чтобы посчитать такие плюсы, нужно анализировать Формульный текстExcel 365 есть функция ФОРМУЛТЕКСТ).

Как посчитать плюсы в Google Sheets?

Все описанные методы работают и в Google Таблицах, за исключением VBA. Вместо макросов используйте Apps Script. Например, этот скрипт подсчитает плюсы в диапазоне A1:A100:

function countPluses() {

var sheet = SpreadsheetApp.getActiveSheet();

var range = sheet.getRange("A1:A100");

var values = range.getValues();

var count = 0;

for (var i = 0; i < values.length; i++) {

count += (values[i][0].toString().split("+").length - 1);

}

Logger.log(count);

}