Гид по технологиям

XOR в Google Sheets: как работает и когда применять

7 min read Таблицы Обновлено 16 Nov 2025
XOR в Google Sheets — руководство и примеры
XOR в Google Sheets — руководство и примеры

Логотип Google Sheets с надписью XOR

Что такое XOR — кратко

XOR (exclusive OR) — логическая операция, которая считает истинными только те наборы аргументов, где истинно нечетное число входных значений. В одну строку: XOR возвращает TRUE, если количество истинных элементов нечётно; иначе — FALSE.

Краткое определение терминов

  • TRUE / FALSE — булевы значения в таблицах.
  • Аргумент функции — отдельное логическое выражение или ссылка на ячейку.

Синтаксис функции XOR в Google Sheets

=XOR(logical1, logical2, ...)
  • logical1, logical2 и т.д. — логические выражения или диапазоны/ячейки.
  • Google Sheets рассматривает числовые значения отличные от нуля как TRUE, пустые и ноль как FALSE при неявном приведении.

Важно: если передать диапазон без выражений (например, A2:E2), XOR будет интерпретировать каждую непустую ячейку как TRUE (если в ней число или текст), а пустые ячейки — как FALSE. Для точного тестирования используйте сравнения или специальные проверки (например, A2<>”” или ISNUMBER()).

Реакция функции XOR на разные параметры

Поведение на простых примерах и таблица истинности

Разберём на простых примерах, чтобы зафиксировать интуицию.

  • =XOR(1>2) → FALSE (0 истинных выражений — чётное число)
  • =XOR(2>1) → TRUE (1 истинное выражение — нечётное число)
  • =XOR(2>1, 1>2) → TRUE (1 истинное, 1 ложное → всего 1 TRUE)
  • =XOR(2>1, 4>3) → FALSE (2 TRUE → чётное)
  • =XOR(1,2,3,4) → FALSE (все аргументы интерпретируются как TRUE → 4 TRUE → чётное)

Таблица по числу истинных аргументов

  • 0 TRUE → FALSE
  • 1 TRUE → TRUE
  • 2 TRUE → FALSE
  • 3 TRUE → TRUE
  • 4 TRUE → FALSE

Это чередующаяся логика: функция возвращает TRUE только при нечётном количестве истинных условий.

Как использовать XOR в Google Sheets — пошаговые инструкции

Ниже — несколько практических сценариев с пошаговыми инструкциями и объяснениями.

Один параметр: проверка условия

Если нужно просто проверить условие и получить TRUE/FALSE без дополнительных ветвлений, XOR с одним аргументом эквивалентна простой проверке.

Пример: определить, выше ли число среднего значения в столбце.

  1. Выделите ячейку, куда поместите результат, например B2.
  2. Введите формулу:
=XOR(A2>AVERAGE(A2:A14))
  1. Нажмите Enter и протяните формулу вниз.

Пояснение: A2>AVERAGE(A2:A14) — логический тест. Для каждой строки получится TRUE, если значение выше среднего, иначе FALSE. Поскольку у нас один аргумент, результат совпадает с логическим тестом.

Колонка чисел в Google Sheets

Несколько параметров: подсчитать нечётность истин

Частая задача — выяснить, является ли количество найденных условий нечётным. Например, есть пять столбцов с числами, нужно понять, содержит ли каждая строка нечётное количество заполненных ячеек/чисел.

Формула для проверки диапазона A2:E2:

=XOR(A2:E2)

Если ячейка содержит число — она считается TRUE. Затем XOR возвращает TRUE, когда в диапазоне нечётное количество TRUE.

Строки чисел в Google Sheets

Применение с ArrayFormula для массового применения

Чтобы применять XOR к каждой строке сразу по всему столбцу, удобно использовать ArrayFormula:

=ArrayFormula(XOR(B2:C2="Win"))

или

=ArrayFormula(XOR(B2:B10="No"))

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

Реальные сценарии использования XOR

Ниже — несколько наглядных сценариев, где XOR упрощает логику и позволяет избежать сложных if-цепочек.

Пример: футбольная таблица — кто идёт на третий матч

У команды два матча. Если команда выиграла оба или проиграла оба — она занимает 1‑ое или 4‑ое место. Если выиграла один и проиграла другой — нужно назначить третий матч.

Формула для строки с результатами B2 и C2:

=ArrayFormula(XOR(B2:C2="Win"))

Пояснение: B2:C2="Win" даёт массив TRUE/FALSE по каждому матчу. XOR вернёт TRUE только если ровно один матч — победа.

Определение третьего матча в лиге

Пример: ужин — нужен ли круглый стол

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

Формула подсчёта гостей без компаньона (No) и проверки нечётности их числа:

=ArrayFormula(XOR(B2:B10="No"))

Логика: каждый гость с компаньоном даёт парное число (2 человека), поэтому единственным источником нечётности будет число гостей без компаньона.

Определение нечётности числа гостей для выбора стола

Типичные ошибки и особенности поведения

  • Пустые ячейки: если диапазон содержит пустые ячейки, они считаются FALSE; это может изменить результат. Используйте LEN() или ISBLANK() для явной проверки.
  • Текст и числа: текстовые непустые значения интерпретируются как TRUE при неявном приведении; это может ввести в заблуждение. Для контроля используйте ISNUMBER() или сравнения (например, A2<>””).
  • Диапазоны с массивами: XOR(A2:E2) интерпретирует каждую ячейку диапазона как отдельный аргумент. Если нужно подать на вход явно сравнения, используйте XOR(A2:E2<>"", ...) или XOR(A2:E2>0).
  • Совместимость: Excel и другие таблицы поддерживают XOR, но поведение при неявном приведении типов может отличаться.

Когда XOR не годится — альтернативные подходы

  • Если нужно проверить «ровно одно из условий истинно», можно использовать COUNTIF/SUMPRODUCT:
=SUMPRODUCT(--(range=condition))=1
  • Если требуется вернуть пользовательский текст вместо TRUE/FALSE, используйте IF:
=IF(XOR(condition1, condition2), "Нечётное", "Чётное")
  • Для логики «исключающего ИЛИ» между двумя булевыми значениями можно также использовать <> (не равно) в некоторых случаях:
=A2<>B2

Это работает как двухаргументный XOR: TRUE, если значения различны.

Развитые приёмы и шаблоны

Ниже — подборка приёмов, которые часто встречаются в реальных задачах.

Шаблон: проверка нечётности заполненных значений в строке A2:E2

=LET(
  filled, ARRAYFORMULA(--(A2:E2<>"")),
  XOR(filled)
)

Шаблон: вернуть «ОК», если нечётное количество ошибок в столбце F2:F100

=IF(XOR(F2:F100="Error"), "Требуется проверка", "OK")

Частая идиома: сочетание COUNTIF и MOD для явной проверки нечётности

=MOD(COUNTIF(range, "condition"), 2)=1

Эта формула даёт тот же результат, что XOR, но её легче читать для коллег: сначала считаем совпадения, затем берём остаток от деления на 2.

Ментальные модели и эвристики

  • Подумайте о XOR как о «счётчике нечётности»: он не интересуется какими именно условиями истинны, только — чётность их количества.
  • XOR удобно использовать, когда правило принимается при нечётном числе признаков (например, однажды сработал флаг безопасности, нечётное число подтверждений и т.п.).
  • Если нужны детальные причины (какие именно поля истинны), комбинируйте XOR с SUM/COUNT для диагностики.

Критерии приёмки (как проверить, что формула работает)

  • Тест 1: Пустая строка — результат FALSE.
  • Тест 2: Одна истинная ячейка — TRUE.
  • Тест 3: Две истинные ячейки — FALSE.
  • Тест 4: Все значения истинны и их количество чётно — FALSE.
  • Тест 5: Все значения истинны и их количество нечётно — TRUE.

Проведите тесты на краевых случаях: пустые ячейки, текст, нули.

Рольовые чек-листы при внедрении в проект

Аналитик

  • Определить бизнес-логику: нужна ли проверка нечётности.
  • Выставить ожидаемые сценарии и примеры данных.
  • Подготовить тестовый набор (краевые случаи).

Разработчик (скрипты/автоматизация)

  • Внедрить формулу в шаблон таблицы.
  • Добавить поясняющие комментарии и небольшие инструкции рядом с формулой.
  • Реализовать backup и версионирование шаблона.

Менеджер

  • Подтвердить, что результат влияет на процесс принятия решения.
  • Убедиться, что пользователи понимают TRUE/FALSE или заменить их человекочитаемыми метками через IF.

Playbook внедрения XOR в отчёты

  1. Проанализируйте: где нужна проверка чётности истинных условий.
  2. Спроектируйте формулу и проверьте поведение на тестовых данных.
  3. Выберите формат вывода (TRUE/FALSE или метка через IF).
  4. Документируйте расположение формулы и её назначение в отчёте.
  5. Автоматически проверяйте изменение входных данных (контроль целостности).

Отладка и частые вопросы

Вопрос: «Почему XOR возвращает TRUE для текста?» Ответ: текстовые непустые значения при неявном приведении считаются TRUE. Используйте ISNUMBER() или A2<>"" для явной проверки.

Вопрос: «Можно ли посчитать ‘ровно одно’ при большом количестве условий?» Ответ: да: SUMPRODUCT(--(conditions))=1 или MOD(COUNTIF(range, condition),2)=1 в зависимости от задачи.

Тест-кейсы и приёмочные сценарии

  1. Ввод: пустые ячейки в A2:E2 → Ожидаемый вывод: FALSE
  2. Ввод: одна ненулевая ячейка → TRUE
  3. Ввод: две ненулевые ячейки → FALSE
  4. Ввод: текстовые значения в разных комбинациях → проверить поведение через ISBLANK и ISNUMBER отдельно
  5. Массовая проверка с ArrayFormula на 1000 строк: проверить производительность и отсутствие ошибок

Диаграмма принятия решения (Mermaid)

flowchart TD
  A[Начало: есть условия?] --> B{Число истинных условий нечётно?}
  B -- Да --> C[Вернуть TRUE]
  B -- Нет --> D[Вернуть FALSE]
  C --> E[Дальнейшая логика]
  D --> E

Нюансы безопасности и приватности

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

Короткая шпаргалка (cheat sheet)

  • XOR(cond1, cond2, ...) — TRUE при нечётном числе TRUE.
  • Для подсчёта так же удобно: MOD(COUNTIF(range, condition),2)=1.
  • Для «ровно одно» используйте =SUMPRODUCT(--(conditions))=1.
  • Используйте ISNUMBER()/ISBLANK() для точного контроля типов.

Словарь терминов — 1 строка на понятие

  • XOR — исключающее ИЛИ, возвращает TRUE при нечётном числе TRUE.
  • ArrayFormula — функция для применения выражения к массиву ячеек.
  • COUNTIF / SUMPRODUCT — классические инструменты подсчёта совпадений.

Заключение

XOR — простая, но мощная логическая функция для задач, где важна нечётность числа истинных условий. Она эквивалентна проверке остатка от деления суммы истин на 2 и помогает сократить сложные IF-цепочки. Используйте её вместе с ArrayFormula, COUNTIF и IS... функциями, чтобы сделать формулы прозрачными и надёжными.

Если хотите, могу подготовить готовый шаблон Google Sheets с примерами (футбольная таблица, список гостей и подсчёт нечётности) для вашего конкретного набора данных.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство