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

Функция XOR в Google Sheets: как работает и примеры

8 min read Таблицы Google Обновлено 06 Jan 2026
XOR в Google Sheets — как использовать
XOR в Google Sheets — как использовать

Функция XOR в Google Sheets возвращает TRUE, если число истинных выражений в списке аргументов нечётно, и FALSE — если это число чётно или равно нулю. В статье подробно объяснён синтаксис, варианты использования (один и несколько аргументов), практические сценарии, шаблоны формул, тесты и чек-листы для аналитиков и владельцев продуктов.

Важно: XOR не возвращает число — только TRUE или FALSE. Числа (ненулевые) и непустые ячейки интерпретируются как TRUE.


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

Что такое XOR и зачем он нужен

XOR — это логическая операция Exclusive OR (исключающее ИЛИ). В контексте Google Sheets функция XOR проверяет одну или несколько логических проверок и возвращает TRUE, если число истинных проверок нечётно; в противном случае возвращает FALSE. Простая идея: «работает ли только один, трое или любое нечётное количество условий?» — тогда XOR даст TRUE.

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

  • Логическое выражение — сравнение или условие, которое возвращает TRUE или FALSE, например A1>10.
  • Аргумент функции — отдельный элемент внутри скобок функции, например XOR(A1>10, B1=”Yes”).

Синтаксис функции XOR

=XOR(logical1, logical2, ...)

Аргументы могут быть:

  • отдельными логическими выражениями (например, A2>AVERAGE(A2:A14)),
  • ссылками на ячейки, содержащие TRUE/FALSE,
  • диапазонами (например, A2:E2), где любая непустая/числовая ячейка считается TRUE (см. раздел об особенностях обработки значений).

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

Иллюстрация работы XOR с разными входными параметрами

Пример базовой логики

  • XOR(1>2) → FALSE (нуло истинных выражений)
  • XOR(2>1) → TRUE (одно истинное выражение)
  • XOR(2>1, 1>2) → TRUE (одно истинное выражение из двух)
  • XOR(2>1, 4>3) → FALSE (два истинных выражения — чётно)

Если в аргументы передать саму цифру, например XOR(1), Google Sheets трактует значение 1 как TRUE. Это важно учитывать при работе с диапазонами, содержащими числа, логические значения и пустые ячейки.

Как работает XOR на практике

Функция ведёт себя по-разному при одном и при нескольких аргументах:

  • С одним аргументом результат совпадает с результатом логического теста: XOR(A1>10) равно A1>10.
  • С несколькими аргументами результат зависит от числа истинных выражений (не от порядка): нечётное число → TRUE, чётное или ноль → FALSE.

Ниже — подробные примеры и рабочие приёмы.

Использование XOR с одним параметром

Когда вы передаёте в XOR только один логический тест, функция просто возвращает TRUE или FALSE в зависимости от теста. Это похоже на использование IF для булевой проверки, но без выбора пользовательского вывода.

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

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

Эта формула возвращает TRUE для значений выше среднего и FALSE для остальных. Здесь AVERAGE(A2:A14) вычисляет среднее, выражение A2>AVERAGE(…) даёт TRUE/FALSE, а XOR принимает этот единственный логический аргумент и возвращает его значение.

Колонка чисел в Google Sheets с отметками выше среднего

Совет по читаемости: если вы хотите возвращать не TRUE/FALSE, а текст (например “Выше”/“Ниже”), используйте IF вокруг XOR:

=IF(XOR(A2>AVERAGE(A2:A14)), "Выше", "Не выше")

Использование XOR с несколькими параметрами

С несколькими параметрами XOR подсчитывает истинные значения и возвращает TRUE при нечётном количестве. Полезно, когда нужно определить нечётность количества некоторых событий, флагов или наличия значений.

Пример: определить, есть ли в строке нечётное количество заполненных чисел.

=XOR(A2:E2)

Если в диапазоне A2:E2 содержатся числа и пустые ячейки, то непустые считаются TRUE. XOR вернёт TRUE для строк с нечётным числом ненулевых/непустых ячеек.

Строки чисел в Google Sheets и проверка на нечётное количество значений

Важно: диапазон без явных логических тестов рассматривает сами значения (пустая ячейка → FALSE, текст → TRUE, число → TRUE). Если вам нужно считать только числа, комбинируйте с ISNUMBER или N.

Пример, считаем только числовые ячейки:

=XOR(N(A2), N(B2), N(C2), N(D2), N(E2))

Или динамически через массивную формулу:

=XOR(ARRAYFORMULA(ISNUMBER(A2:E2)))

Практические сценарии применения XOR

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

Пример: футбольный турнир — кто играет дополнительный матч

У команд по две сыгранные игры. Если команда выиграла 0 или 2 матча — она на 1-м или на 4-м месте. Если выиграла ровно 1 — нужна дополнительная игра между такими командами.

Формула (вместе с ArrayFormula, чтобы применить ко всему столбцу):

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

Логика: выражение B2:C2=”Win” возвращает массив TRUE/FALSE по двум матчам; XOR возвращает TRUE, когда ровно один из матчей выигран.

Результаты матчей для определения третьего матча с помощью XOR

Пример: круглый стол или прямоугольный — гостевой список

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

Формула:

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

Здесь B2:B10=”No” помечает одиночных гостей. Если число одиночных гостей нечётно, суммарное число гостей будет нечётным.

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

Альтернативные подходы и когда XOR не подходит

  • Если вам нужно вернуть кастомные значения (не TRUE/FALSE), используйте IF(XOR(…), “A”, “B”).
  • Для подсчёта количества истинных значений удобнее использовать SUMPRODUCT или COUNTIF/COUNTIFS с TRUE/FALSE:
    • Подсчитать число совпадений: SUMPRODUCT(–(A2:E2=1)) или COUNTIF(A2:E2, TRUE).
    • Проверить нечётность: MOD(COUNTIF(…), 2)=1. Это альтернативный способ получить тот же результат, что и XOR, но с явным контролем над условием.

Пример с MOD:

=MOD(COUNTIF(A2:E2, "<>"), 2)=1

Эта формула считает непустые ячейки и проверяет, нечётно ли их количество.

Когда XOR может ввести в заблуждение:

  • Диапазон содержит текстовые значения, которые вы не хотите считать. XOR будет считать непустой текст как TRUE.
  • Диапазон содержит логические значения вместе с числами, и вы хотите учесть только TRUE/FALSE. В этом случае используйте ISLOGICAL или приведение типов.
  • Если аргументы — массивы разной длины или содержат ошибки (#N/A и т. п.), XOR может вернуть ошибку или некорректный результат.

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

  • Подумайте о XOR как о «проверке нечётности» для множества логических флагов.
  • Если вам удобно считать — замените XOR на MOD(COUNTIF(…), 2) для прозрачности и контроля.
  • Если видите, что в данных есть строки или пустые значения, сначала приведите их к нужному типу (ISNUMBER, LEN>0, TRIM и т. п.).

Мини‑методология: как внедрять XOR в отчёт

  1. Определите, какие именно ячейки/флаги вы считаете как TRUE (числа, текст, конкретное значение).
  2. Очистите входные данные — приведите типы (ISNUMBER, TRIM, UPPER/LOWER), удалите пробелы.
  3. Сформулируйте выражение и протестируйте на небольшом наборе данных.
  4. Напишите тестовый набор с краевыми случаями (см. раздел ниже).
  5. Если нужно применить к столбцу — оберните в ArrayFormula или протяните формулу.
  6. Документируйте в блоке с описанием, какие значения считаются TRUE.

Чек-листы по ролям

Аналитик данных:

  • Очистить входные данные (удалить пробелы, привести числа).
  • Явно определить, что считать TRUE.
  • Написать тесты для пустых, текстовых и ошибочных значений.

Разработчик/скриптер:

  • Обернуть в ArrayFormula при необходимости.
  • Предусмотреть обработку ошибок (IFERROR).
  • Комментировать формулы для поддержки.

Владелец продукта/менеджер отчётов:

  • Подтвердить бизнес-логику (что считать одним сущностью).
  • Утвердить формат вывода (TRUE/FALSE или человекочитаемый текст).

Чеклист приёма для формулы с XOR

Критерии приёмки:

  • Формула возвращает TRUE для нечётного числа целевых значений и FALSE для чётного/нулевого.
  • Обработаны пустые и текстовые значения в соответствии с требованиями.
  • Производительность адекватна для объёма данных (нет чрезмерных ARRAYFORMULA в миллионах строк).
  • Документация/комментарии присутствуют рядом с формулой.

Набор тестов и кейсов при проверке

  1. Все аргументы FALSE → ожидается FALSE.
  2. Один аргумент TRUE, остальные FALSE → ожидается TRUE.
  3. Два TRUE → FALSE.
  4. Пустая строка среди аргументов → должна трактоваться как FALSE (если это ожидаемо).
  5. Текстовые значения в диапазоне: если не должны учитываться — ожидать FALSE; если учитываются — корректно считать их как TRUE.
  6. Ошибки в ячейках (#N/A, #REF) — формула должна обрабатывать IFERROR или возвращать ошибку, если это допустимо.

Шпаргалка с часто нужными формулами (cheat sheet)

Проверить нечётное количество ненулевых ячеек:

=MOD(COUNTA(A2:E2), 2)=1

Проверить нечётность числовых значений только:

=MOD(COUNT(A2:E2), 2)=1

Эквивалент XOR через MOD и COUNTIF (проверка TRUE в логическом массиве):

=MOD(COUNTIF(A2:E2, TRUE), 2)=1

Использование XOR с ArrayFormula для столбца:

=ArrayFormula(IF(ROW(A2:A)=1, "Header", XOR(A2:A>0)))

Преобразование значений к булевым через N (0/1):

=ARRAYFORMULA(MOD(SUM(N(A2:E2)), 2)=1)

Полезные приёмы и оптимизация производительности

  • Используйте COUNT/COUNTA/MOD вместо сложных массивных выражений, если важно скорость на больших наборах данных.
  • Избегайте вложенных ARRAYFORMULA в клетках с большим количеством строк — по возможности применяйте формулы на уровне диапазонов.
  • Для больших объёмов данных можно вынести предварительную обработку типов в отдельные вспомогательные столбцы.

Крайние случаи и тонкости

  • Пустые строки: COUNTA считает непустые, COUNT считает только числа.
  • Текстовые значения: в большинстве случаев считаются как TRUE, поэтому их нужно фильтровать, если они не должны учитываться.
  • Логические значения: если в ячейке явно указано TRUE или FALSE — XOR будет работать ожидаемо.
  • Ошибки в ячейках приводят к ошибке формулы — оборачивайте IFERROR, если нужно игнорировать ошибки.

Примеры расширенного применения

  1. Контроль качества: несколько проверок в строке — нужно сработать, если нечётное число проверок прошло.
  2. Система голосования: три независимых критерия — принять предложение, если ровно одно или ровно три критерия истинны.
  3. Сигналы мониторинга: быстро определить, есть ли нечётное число аномалий среди перечня тестов.

Глоссарий (1‑строчный)

  • XOR: логическая функция, возвращающая TRUE при нечётном числе истинных аргументов; иначе FALSE.

Короткая сводка и рекомендации

  • Используйте XOR для проверки нечётности количества истинных флагов.
  • Если нужно подсчитать количество истин и работать с ним — используйте COUNT/COUNTA и MOD.
  • Всегда явно приводите типы данных (ISNUMBER, LEN, TRIM) в исходных данных, чтобы избежать неожиданных TRUE для текста.
  • Документируйте, что в вашем контексте считается TRUE.

Итог

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

extras: конец

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

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

Создать QR‑код на Android — пошагово
Android.

Создать QR‑код на Android — пошагово

Как уменьшить шум в Photoshop
Фотография

Как уменьшить шум в Photoshop

Установка Java на Linux: OpenJDK и Oracle Java
Linux

Установка Java на Linux: OpenJDK и Oracle Java

Запись геймплея с консоли: руководство
Гайды

Запись геймплея с консоли: руководство

Как выбрать и установить Wi‑Fi антенну высокого усиления
Сеть

Как выбрать и установить Wi‑Fi антенну высокого усиления

dos2unix и unix2dos — конвертация переносов строк
Системное администрирование

dos2unix и unix2dos — конвертация переносов строк