Логические значения ИСТИНА (TRUE) и ЛОЖЬ (FALSE) — основа вычислений в Microsoft Excel и Google Таблицах. Они появляются как результат работы функций ЕСЛИ, И, ИЛИ, сравнений (=, >, <) или ошибок в формулах. Но как их посчитать? Ведь стандартные функции вроде СЧЁТ или СУММ игнорируют логические значения, а попытка сложить ИСТИНА+ИСТИНА даёт не 2, а ошибку.
В этой статье вы найдёте 7 проверенных способов подсчёта ИСТИНА/ЛОЖЬ — от простых формул для новичков до продвинутых массивов для обработки больших данных. Мы разберём:
- 🔹 Почему
СЧЁТЕСЛИне работает с логическими значениями напрямую (и как это обойти) - 🔹 Как преобразовать
ИСТИНА/ЛОЖЬв1/0для математических операций - 🔹 Скрытые возможности
СУММПРОИЗВиЧАСТОТАдля анализа логических массивов - 🔹 Ошибки, которые портят 90% расчётов (и как их избежать)
Все примеры протестированы в Excel 2019–2023 и Google Таблицах, с учётом особенностей синтаксиса. Готовые файлы с формулами можно скачать в конце статьи.
1. Почему Excel не считает ИСТИНА и ЛОЖЬ как числа
Логические значения в Excel — это не числа, а специальный тип данных. Когда вы вводите =5>3, результат ИСТИНА отображается как текст, но ведёт себя иначе:
- 📌 В ячейке: выглядит как слово «ИСТИНА» или «ЛОЖЬ» (зависит от языка интерфейса).
- 📌 В формулах:
ИСТИНАэквивалентна1, аЛОЖЬ—0, но только в математических операциях. - 📌 В функциях:
СЧЁТ,СУММ,СРЗНАЧигнорируют логические значения по умолчанию.
Пример проблемы: если в диапазоне A1:A5 значения [ИСТИНА; ЛОЖЬ; ИСТИНА; 5; ЛОЖЬ], то:
=СЧЁТ(A1:A5)вернёт1(посчитает только число5).=СУММ(A1:A5)вернёт5(проигнорируетИСТИНА/ЛОЖЬ).
Как Excel хранит логические значения?
Внутри Excel представляет ИСТИНА как -1 (не 1!), а ЛОЖЬ как 0. Это наследие старых версий для совместимости с языками программирования. Но в большинстве случаев вы увидите 1/0 при преобразовании.
Решение: нужно явно преобразовать логические значения в числа. Способы ниже.
2. Способ 1: Двойное отрицание (--)
Самый короткий метод — использовать двойное отрицание (--). Оно заставляет Excel преобразовать ИСТИНА/ЛОЖЬ в 1/0:
=--(A1)
Как это работает:
- Первое отрицание (
-A1) преобразуетИСТИНАв-1,ЛОЖЬв0. - Второе отрицание (
--A1) инвертирует-1обратно в1.
Пример для диапазона:
=СУММ(--(A1:A10))
Эта формула посчитает количество ИСТИНА в диапазоне A1:A10 (так как ЛОЖЬ станет 0 и не повлияет на сумму).
3. Способ 2: Функция ЕСЛИ для явного преобразования
Если вам нужно не только посчитать, но и контролировать вывод, используйте ЕСЛИ:
=ЕСЛИ(A1; 1; 0)
Для подсчёта в диапазоне:
=СУММПРОИЗВ(--ЕСЛИ(A1:A10; 1; 0))
Преимущества метода:
- 🔹 Гибкость: можно назначить любые значения вместо
1/0(например,"Да"/"Нет"). - 🔹 Чёткость: формула самоописана (легко понять логику даже через год).
- 🔹 Совместимость: работает во всех версиях Excel и Google Таблицах.
Пример с текстом:
=СУММПРОИЗВ(--ЕСЛИ(A1:A10; "Да"; "Нет"))
Эта формула вернёт количество ячеек с ИСТИНА, но в промежуточных вычислениях будет использовать слова «Да»/«Нет».
1. Убедитесь, что диапазон не содержит текстовых ошибок (например, "#Н/Д")
2. Используйте СУММПРОИЗВ вместо СУММ для массивов
3. Проверьте регистр: в некоторых языковых версиях Excel "ИСТИНА" пишется как "TRUE"-->
4. Способ 3: Функция СЧЁТЕСЛИ с критерием
Функция СЧЁТЕСЛИ умеет считать логические значения, но только если они введены как текст. Для настоящих ИСТИНА/ЛОЖЬ (результатов формул) нужно хитрое решение:
=СЧЁТЕСЛИ(A1:A10; ИСТИНА)
Проблема: если в диапазоне есть формулы, возвращающие ИСТИНА, этот метод не сработает. Вместо этого используйте:
=СУММ(--(A1:A10=ИСТИНА))
Аналогично для ЛОЖЬ:
=СУММ(--(A1:A10=ЛОЖЬ))
Сравнение методов:
| Метод | Работает с формулами | Работает с текстом | Требует Ctrl+Shift+Enter |
|---|---|---|---|
СЧЁТЕСЛИ(A1:A10; ИСТИНА) | ❌ Нет | ✅ Да | ❌ Нет |
СУММ(--(A1:A10=ИСТИНА)) | ✅ Да | ❌ Нет | ❌ Нет |
СУММПРОИЗВ(--(A1:A10=ИСТИНА)) | ✅ Да | ❌ Нет | ❌ Нет |
5. Способ 4: Функция ЧАСТОТА для сложных условий
Если нужно посчитать ИСТИНА/ЛОЖЬ с дополнительными условиями (например, только для строк, где в другом столбце число > 100), используйте ЧАСТОТА:
=ЧАСТОТА(ЕСЛИ(B1:B10>100; --(A1:A10=ИСТИНА)); {0;1})
Разбор формулы:
ЕСЛИ(B1:B10>100; --(A1:A10=ИСТИНА))— возвращает массив1/0только для строк, гдеB>100.ЧАСТОТА(..., {0;1})— считает количество0(ЛОЖЬ) и1(ИСТИНА).
Результат: массив из двух чисел, где:
- Первое число — количество
ЛОЖЬ. - Второе число — количество
ИСТИНА.
Чтобы вывести только количество ИСТИНА, оберните формулу в ИНДЕКС:
=ИНДЕКС(ЧАСТОТА(ЕСЛИ(B1:B10>100; --(A1:A10=ИСТИНА)); {0;1}); 2)
Почему ЧАСТОТА требует Ctrl+Shift+Enter?
В Excel 2019 и старше формулы массивов не требуют специального ввода. Но в Excel 2016 и ниже для ЧАСТОТА нужно нажимать Ctrl+Shift+Enter, чтобы она вернула массив значений.
6. Способ 5: Функция ФИЛЬТР (Excel 365 и 2021)
В новых версиях Excel появилась функция ФИЛЬТР, которая упрощает работу с логическими значениями. Например, чтобы посчитать ИСТИНА в диапазоне A1:A10:
=СТРОКА(ФИЛЬТР(A1:A10; A1:A10=ИСТИНА))
Как это работает:
ФИЛЬТР(A1:A10; A1:A10=ИСТИНА)— возвращает только ячейки сИСТИНА.СТРОКА(...)— считает количество строк в отфильтрованном массиве.
Преимущества:
- 🔹 Нет нужды в двойном отрицании или
СУММПРОИЗВ. - 🔹 Можно добавлять несколько условий (например,
ФИЛЬТР(A1:A10; (A1:A10=ИСТИНА)*(B1:B10>5))).
Ограничения:
- 🔹 Работает только в Excel 365, Excel 2021 и Excel для веб.
- 🔹 В Google Таблицах аналог —
FILTER, но синтаксис отличается.
7. Распространённые ошибки и как их избежать
Даже опытные пользователи допускают ошибки при работе с логическими значениями. Вот TOP-5 ловушек:
⚠️ Внимание: Если в диапазоне есть пустые ячейки, формулы вроде=СУММ(--(A1:A10))посчитают их как0(ЛОЖЬ). Чтобы игнорировать пустые ячейки, используйте=СУММПРОИЗВ(--(A1:A10<>""); --(A1:A10)).
Ошибка 1: Сравнение с текстом
Если ячейка содержит слово «ИСТИНА» (как текст), а не логическое значение, формула =A1=ИСТИНА вернёт ЛОЖЬ. Решение:
=СЧЁТЕСЛИ(A1:A10; "ИСТИНА")
Ошибка 2: Игнорирование регистра
В некоторых языковых версиях Excel логические значения пишутся как TRUE/FALSE. Если ваша формула не работает, проверьте:
=ЕСЛИ(A1=TRUE; 1; 0)
Ошибка 3: Массивы без Ctrl+Shift+Enter
В Excel 2016 и старше формулы массивов требуют специального ввода. Забыли нажать Ctrl+Shift+Enter? Формула вернёт ошибку или неверный результат.
Ошибка 4: Пустые ячейки в диапазоне
Функции вроде СУММ или СРЗНАЧ игнорируют пустые ячейки, но СЧЁТ — считает их. Чтобы посчитать только непустые ИСТИНА/ЛОЖЬ:
=СУММПРОИЗВ(--(A1:A10<>""); --(A1:A10))
Ошибка 5: Ошибки в данных (#Н/Д, #ЗНАЧ!)
Если в диапазоне есть ошибки, формулы типа =СУММ(--(A1:A10)) вернут ошибку. Решение — обернуть в ЕСЛИОШИБКА:
=СУММПРОИЗВ(--ЕСЛИОШИБКА(A1:A10; ЛОЖЬ))
8. Практический пример: Анализ опроса
Допустим, у вас таблица с результатами опроса, где столбец B содержит ответы «Да» (ИСТИНА) или «Нет» (ЛОЖЬ), а столбец C — возраст респондентов. Нужно посчитать:
- Сколько человек ответили «Да».
- Сколько «Да» среди респондентов старше 30 лет.
Решение:
- Всего «Да»:
=СУММ(--(B2:B100=ИСТИНА)) - «Да» для возраста > 30:
=СУММПРОИЗВ(--(B2:B100=ИСТИНА); --(C2:C100>30))
Альтернатива для Excel 365:
=СТРОКА(ФИЛЬТР(B2:B100; (B2:B100=ИСТИНА)*(C2:C100>30)))
FAQ: Частые вопросы
Можно ли посчитать ИСТИНА/ЛОЖЬ без формул?
Да, но только если значения введены как текст (не как результат формулы). Используйте фильтр:
- Выделите диапазон.
- Нажмите
Данные → Фильтр. - В выпадающем списке выберите «ИСТИНА» или «ЛОЖЬ».
- Количество отфильтрованных строк отобразится в статусной строке.
Для результатов формул этот метод не работает.
Почему моя формула возвращает #ЗНАЧ! при подсчёте ИСТИНА?
Ошибка #ЗНАЧ! возникает, если:
- 🔹 Вы забыли ввести формулу как массив (
Ctrl+Shift+Enterв старых версиях). - 🔹 В диапазоне есть текстовые значения, которые нельзя преобразовать в числа.
- 🔹 Используете
СЧЁТЕСЛИдля результатов формул (она работает только с текстом).
Решение: замените СЧЁТЕСЛИ на СУММПРОИЗВ(--(диапазон=ИСТИНА)).
Как посчитать процент ИСТИНА от общего количества?
Используйте формулу:
=СУММ(--(A1:A10=ИСТИНА))/СЧЁТЗ(A1:A10)
Где:
СУММ(--(A1:A10=ИСТИНА))— количествоИСТИНА.СЧЁТЗ(A1:A10)— общее количество непустых ячеек.
Чтобы отобразить результат в процентах, установите для ячейки процентный формат (Главная → Процентный формат).
Работают ли эти методы в Google Таблицах?
Да, но с нюансами:
- 🔹 Двойное отрицание (
--) работает аналогично. - 🔹 Вместо
СУММПРОИЗВможно использоватьSUMPRODUCT(английская версия). - 🔹 Функция
FILTERзаменяетФИЛЬТРиз Excel 365. - 🔹 Логические значения вводятся как
TRUE/FALSE(независимо от языка интерфейса).
Пример для Google Таблиц:
=SUMPRODUCT(--(A1:A10=TRUE))
Как посчитать ИСТИНА в сводной таблице?
Сводные таблицы не умеют напрямую считать логические значения, но есть обходной путь:
- Добавьте вспомогательный столбец с формулой
=ЕСЛИ(A1; 1; 0). - Создайте сводную таблицу, где этот столбец будет полем значений (операция — Сумма).
- Группируйте данные по другим столбцам (например, по категориям).
Альтернатива: используйте Power Query для преобразования ИСТИНА/ЛОЖЬ в 1/0 перед созданием сводной таблицы.