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

Создание таблицы истинности в Excel требует правильного применения логических функций И(), ИЛИ(), НЕ() и ИСКЛИЛИ() (XOR). Основная ошибка пользователей — неправильная расстановка аргументов или пропуск комбинаций входных значений. Например, для двух переменных A и B необходимо перечислить все 4 возможные комбинации (00, 01, 10, 11), а не ограничиваться только "истина/ложь". В этой инструкции разберём пошаговое построение таблицы с учётом особенностей синтаксиса Excel и типичных ошибок при работе с булевой логикой.

Особенность Excel в том, что он интерпретирует 1 как ИСТИНА, а 0 как ЛОЖЬ, но при ручном вводе данных лучше использовать именно логические значения ИСТИНА/ЛОЖЬ — это исключит ошибки при расчётах. Если вам нужна таблица для трёх и более переменных, количество строк будет расти экспоненциально (2n), поэтому рекомендуется автоматизировать заполнение через формулы массива или Power Query.

Что такое таблица истинности и зачем она нужна в Excel

Таблица истинности — это перечисление всех возможных комбинаций входных логических переменных и соответствующих им результатов логической операции. В Excel её применяют для:

  • 🔹 Проверки правильности логических выражений перед использованием в сложных формулах (например, в ЕСЛИ() с несколькими условиями).
  • 🔹 Обучения основам булевой алгебры — визуализация работы операторов И, ИЛИ, НЕ.
  • 🔹 Отладки формул, когда результат ЕСЛИ() не соответствует ожиданиям (например, при вложенных условиях).
  • 🔹 Автоматизации принятия решений — например, для расчёта скидок по нескольким критериям.

В отличие от классической математики, где таблицы истинности строят для теоретических задач, в Excel они имеют практическое применение. Например, можно смоделировать логику работы ЕСЛИМН() (аналог SWITCH в других языках) или проверить, как поведёт себя формула при разных сочетаниях входных данных. Это особенно полезно при работе с динамическими массивами (в Excel 365), где логические операции могут возвращать целые диапазоны значений.

📊 Для чего вы чаще всего используете таблицы истинности в Excel?
Для обучения логике
Для отладки формул
Для автоматизации бизнес-процессов
Никогда не использовал

Подготовка данных: как заполнить входные значения

Первый шаг — создать все возможные комбинации входных переменных. Для двух переменных (A и B) это 4 строки, для трёх — 8 строк, и так далее. Вручную заполнять утомительно, поэтому используйте один из методов:

  1. Ручной ввод (подходит для 2–3 переменных):
=ИСТИНА

=ЛОЖЬ

=ИСТИНА

=ЛОЖЬ

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

  1. Формула массива (для Excel 365 или 2019 с динамическими массивами):
=ТЕКСТРАЗД(ПОВТОР({0;1},2^(ЧИСЛОСТОЛБ(A1:D1)-1));"")

Эта формула генерирует все бинарные комбинации для заданного числа переменных. Например, для 3 переменных она вернёт массив из 8 строк с наборами 000, 001, 010 и т.д.

  1. Power Query (для больших таблиц):

Импортируйте пустую таблицу в Power Query, добавьте пользовательский столбец с формулой =List.Accumulate({1..8}, 0, (state, current) => state + 1), затем разделите числа на биты.

Построение таблицы истинности для основных логических операций

Рассмотрим, как создать таблицу для четырёх базовых операций: И (AND), ИЛИ (OR), НЕ (NOT) и исключающее ИЛИ (XOR). Используем две переменные A и B, размещённые в столбцах A2:A5 и B2:B5 соответственно.

A B А И B А ИЛИ B НЕ A A XOR B
ЛОЖЬ ЛОЖЬ =И(A2;B2) =ИЛИ(A2;B2) =НЕ(A2) =ИЛИ(И(A2;НЕ(B2));И(НЕ(A2);B2))
ЛОЖЬ ИСТИНА =И(A3;B3) =ИЛИ(A3;B3) =НЕ(A3) =ИЛИ(И(A3;НЕ(B3));И(НЕ(A3);B3))
ИСТИНА ЛОЖЬ =И(A4;B4) =ИЛИ(A4;B4) =НЕ(A4) =ИЛИ(И(A4;НЕ(B4));И(НЕ(A4);B4))
ИСТИНА ИСТИНА =И(A5;B5) =ИЛИ(A5;B5) =НЕ(A5) =ИЛИ(И(A5;НЕ(B5));И(НЕ(A5);B5))

Обратите внимание на формулу для XOR (исключающее ИЛИ): в Excel нет отдельной функции для этой операции, поэтому используем комбинацию И() и ИЛИ(). Альтернативный вариант — =НЕ(А2=B2), который работает быстрее.

⚠️ Внимание: Если вместо ИСТИНА/ЛОЖЬ вы используете 1/0, замените функции на =ЕСЛИ(A2*B2;1;0) для И и =ЕСЛИ(A2+B2;1;0) для ИЛИ. Иначе Excel может вернуть ошибку #ЗНАЧ!.

Таблица истинности для трёх и более переменных

При увеличении числа переменных до 3 (A, B, C) количество комбинаций вырастает до 8. Чтобы не заполнять их вручную, используйте декартово произведение:

  1. Создайте отдельные столбцы для каждой переменной с значениями ИСТИНА/ЛОЖЬ.
  2. Используйте Power Query:
    • Загрузите данные как таблицу (Ctrl+T).
    • Перейдите в Данные → Получить данные → Из других источников → Пустая запрос.
    • Введите в редакторе Power Query:
      let
      

      Source = Table.FromColumns({

      {true,false,true,false,true,false,true,false},

      {true,true,false,false,true,true,false,false},

      {true,true,true,true,false,false,false,false}

      })

      in

      Source

Для четырёх переменных проще сгенерировать бинарные числа от 0 до 15 (для 4 бит) и преобразовать их в логические значения с помощью функции =ЕСЛИ(РАЗРЯДНОЕ.И(ЧИСЛО;2^(N-1));ИСТИНА;ЛОЖЬ), где N — позиция бита.

Пример формулы для автоматического заполнения 3 переменных

Скопируйте в столбец A числа от 0 до 7. В столбце B введите:

=ЕСЛИ(ОСТАТ(ЦЕЛОЕ(A2/4);2);ИСТИНА;ЛОЖЬ)

В столбце C:

=ЕСЛИ(ОСТАТ(ЦЕЛОЕ(A2/2);2);ИСТИНА;ЛОЖЬ)

В столбце D:

=ЕСЛИ(ОСТАТ(A2;2);ИСТИНА;ЛОЖЬ)

Это разложит число на биты, которые соответствуют комбинациям переменных.

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

Даже в простой таблице истинности легко допустить ошибки, которые исказят результат. Вот наиболее распространённые:

  • 🚫 Пропуск комбинаций: Например, для 3 переменных вместо 8 строк введено только 4. Это приводит к неполной таблице и неверным выводам.
  • 🚫 Использование чисел вместо логических значений: Формулы И(1;0) и И(ИСТИНА;ЛОЖЬ) возвращают разные результаты.
  • 🚫 Неправильный порядок аргументов: В формуле =ИЛИ(A1;И(A2;A3)) скобки меняют приоритет операций. Без них Excel вычислит сначала И(), а затем ИЛИ().
  • 🚫 Копирование формул с относительными ссылками: Если вы протянули формулу =И(A2;B2) вниз, но забыли зафиксировать ссылки (=И($A2;$B2)), результаты в строках будут сдвигаться.
⚠️ Внимание: Функция ИСКЛИЛИ() (XOR) появилась только в Excel 2013. В более ранних версиях используйте альтернативную формулу: =ЕСЛИ(A2=B2;ЛОЖЬ;ИСТИНА).

☑️ Проверка таблицы истинности перед использованием

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

Практические примеры: применение таблиц истинности

Разберём два реальных кейса, где таблицы истинности помогают решить задачи в Excel:

Пример 1: Расчёт скидок по нескольким условиям

Допустим, скидка 10% предоставляется, если:

  • 🛒 Клиент совершил покупку на сумму > 5000 И является постоянным (да/нет).
  • 🛒 ИЛИ сегодня пятница.

Создайте таблицу истинности для переменных:

  • Сумма > 5000 (A)
  • Постоянный клиент (B)
  • Сегодня пятница (C)

Формула для скидки будет:

=ЕСЛИ(ИЛИ(И(A2;B2);C2);10%;0%)

Пример 2: Проверка корректности вложенных условий

Если у вас есть сложная формула:

=ЕСЛИ(И(A2>10;ИЛИ(B2="Да";C2<5));"Принято";"Отклонено")

Постройте таблицу истинности для промежуточных выражений (A2>10, B2="Да", C2<5), чтобы убедиться, что логика работает как задумано.

Автоматизация с помощью VBA

Для генерации таблиц истинности с большим числом переменных (4+) удобно использовать макрос VBA. Ниже пример кода, который создаёт таблицу для N переменных:

Sub GenerateTruthTable()

Dim ws As Worksheet

Dim numVars As Integer

Dim rowsNeeded As Integer

Dim i As Integer, j As Integer

numVars = InputBox("Введите число переменных (2-6):", "Таблица истинности", 2)

If numVars < 2 Or numVars > 6 Then Exit Sub

rowsNeeded = 2 ^ numVars

Set ws = ActiveSheet

' Заголовки столбцов

For i = 1 To numVars

ws.Cells(1, i).Value = "Var" & i

Next i

' Заполнение значений

For i = 0 To rowsNeeded - 1

For j = 1 To numVars

ws.Cells(i + 2, j).Value = ((i And (2 ^ (numVars - j))) <> 0)

Next j

Next i

End Sub

Этот макрос:

  1. Запрашивает количество переменных (от 2 до 6).
  2. Создаёт все возможные комбинации ИСТИНА/ЛОЖЬ.
  3. Выводит результат на активный лист.
⚠️ Внимание: Перед запуском макроса сохраните файл с поддержкой VBA (.xlsm) и включите макросы в настройках безопасности Excel (Файл → Параметры → Центр управления безопасностью).

FAQ: Частые вопросы по таблицам истинности в Excel

Можно ли создать таблицу истинности для функции ЕСЛИ() с несколькими условиями?

Да. Разбейте сложное условие на простые логические выражения (например, A2>10, B2="Да") и постройте таблицу для каждого из них. Затем объедините результаты с помощью И()/ИЛИ().

Почему моя таблица истинности для XOR возвращает неверные значения?

Скорее всего, вы используете формулу =ИЛИ(И(A2;НЕ(B2));И(НЕ(A2);B2)) без скобок или заменяете ИСТИНА/ЛОЖЬ на 1/0. Для XOR в Excel 2013+ есть отдельная функция ИСКЛИЛИ().

Как автоматически обновить таблицу при изменении числа переменных?

Используйте динамические массивы (Excel 365) или Power Query. В первом случае формула =ТЕКСТРАЗД(ПОВТОР({0;1},2^A1);"") (где A1 — число переменных) вернёт все комбинации.

Можно ли визуализировать таблицу истинности как диаграмму?

Да. Преобразуйте логические значения в числа (=ЕСЛИ(A2;1;0)), затем постройте тепловую карту (условное форматирование) или гистограмму для наглядного сравнения результатов.

Как экспортировать таблицу истинности в Word или PDF?

Выделите диапазон с таблицей, скопируйте его (Ctrl+C), затем вставьте в Word как Сохранить исходное форматирование. Для PDF используйте Файл → Экспорт → Создать PDF/XPS.