Оглавление
Многие задачи, выполняемые в Excel, предполагают сравнение данных в разных ячейках. Для этого Microsoft Excel предоставляет шесть логических операторов, которые также называются операторами сравнения. Цель этого урока - помочь вам понять суть логических операторов Excel и написать наиболее эффективные формулы для анализа данных.
Логические операторы Excel - обзор
Логический оператор используется в Excel для сравнения двух значений. Логические операторы иногда называют булевыми операторами, поскольку результат сравнения в любом конкретном случае может быть только TRUE или FALSE.
В Excel доступны шесть логических операторов. В следующей таблице объясняется, что делает каждый из них, и иллюстрируется теория примерами формул.
Состояние | Оператор | Пример формулы | Описание |
Равный | = | =A1=B1 | Формула возвращает TRUE, если значение в ячейке A1 равно значениям в ячейке B1; FALSE в противном случае. |
Не равно | =A1B1 | Формула возвращает TRUE, если значение в ячейке A1 не равно значению в ячейке B1; FALSE в противном случае. | |
Больше, чем | > | =A1>B1 | Формула возвращает TRUE, если значение в ячейке A1 больше, чем значение в ячейке B1; в противном случае она возвращает FALSE. |
Менее | < | =A1 Формула возвращает TRUE, если значение в ячейке A1 меньше, чем в ячейке B1; FALSE в противном случае. | |
Больше или равно | >= | =A1>=B1 | Формула возвращает TRUE, если значение в ячейке A1 больше или равно значениям в ячейке B1; FALSE в противном случае. |
Меньше или равно | <= | =A1<=B1 | Формула возвращает TRUE, если значение в ячейке A1 меньше или равно значениям в ячейке B1; FALSE в противном случае. |
На скриншоте ниже показаны результаты, возвращаемые Равный , Не равно , Больше, чем и Менее логические операторы:
Может показаться, что приведенная выше таблица охватывает все, и говорить больше не о чем. Но на самом деле каждый логический оператор имеет свои особенности, знание которых поможет вам использовать реальную мощь формул Excel.
Использование логического оператора "Equal to" в Excel
Сайт Равный Логический оператор (=) можно использовать для сравнения всех типов данных - чисел, дат, текстовых значений, булевых чисел, а также результатов, возвращаемых другими формулами Excel. Например:
=A1=B1 | Возвращает TRUE, если значения в ячейках A1 и B1 одинаковы, FALSE в противном случае. |
=A1= "апельсины" | Возвращает TRUE, если ячейки A1 содержат слово "апельсины", FALSE в противном случае. |
=A1=TRUE | Возвращает TRUE, если ячейки A1 содержат булево значение TRUE, в противном случае возвращает FALSE. |
=A1=(B1/2) | Возвращает TRUE, если число в ячейке A1 равно коэффициенту деления B1 на 2, FALSE в противном случае. |
Пример 1. Использование оператора "Equal to" с датами
Возможно, вы удивитесь, узнав, что Равный Логический оператор не может сравнивать даты так же легко, как числа. Например, если ячейки A1 и A2 содержат дату "12/1/2014", то формула =A1=A2
вернет TRUE, как и должно быть.
Однако, если вы попробуете =A1=12/1/2014
или =A1="12/1/2014"
вы получите FALSE в качестве результата. Немного неожиданно, да?
Дело в том, что Excel хранит даты как числа, начиная с 1 января 1900 года, которое хранится как 1. Дата 12/1/2014 хранится как 41974. В приведенных выше формулах Microsoft Excel интерпретирует "12/1/2014" как обычную текстовую строку, и поскольку "12/1/2014" не равно 41974, он возвращает FALSE.
Чтобы получить правильный результат, вы всегда должны обернуть дату в функцию DATEVALUE, например, так =A1=DATEVALUE("12/1/2014")
Примечание. Функцию DATEVALUE необходимо использовать и с другими логическими операторами, как показано в следующих примерах.
Такой же подход следует применять при использовании оператора Excel "равно" в логическом тесте функции ЕСЛИ. Более подробную информацию, а также несколько примеров формул вы можете найти в этом учебнике: Использование функции ЕСЛИ Excel с датами.
Пример 2. Использование оператора "Equal to" с текстовыми значениями
Использование Excel Равный оператор с текстовыми значениями не требует никаких дополнительных наворотов. Единственное, о чем следует помнить, это то, что Равный логическим оператором в Excel является без учета регистра означает, что при сравнении текстовых значений игнорируются различия в регистре.
Например, если ячейка A1 содержит слово " апельсины " и ячейка B1 содержит " Апельсины ", формула =A1=B1
вернет TRUE.
Если вы хотите сравнить текстовые значения с учетом их различий в регистре, то вместо функции EXACT следует использовать функцию Равный Оператор. Синтаксис функции EXACT прост как:
EXACT(text1, text2)Если значения полностью совпадают, включая регистр, Excel возвращает TRUE, в противном случае - FALSE. Вы также можете использовать функцию EXACT в формулах IF, когда вам нужно сравнить текстовые значения с учетом регистра, как показано на скриншоте ниже:
Примечание. Если вы хотите сравнить длину двух текстовых значений, вместо этого можно использовать функцию LEN, например =LEN(A2)=LEN(B2)
или =LEN(A2)>=LEN(B2)
.
Пример 3. Сравнение булевых значений и чисел
Существует распространенное мнение, что в Microsoft Excel булево значение TRUE всегда равно 1, а FALSE - 0. Однако это верно лишь отчасти, и ключевым словом здесь является "всегда" или, точнее, "не всегда" : )
При написании логического выражения "равно", которое сравнивает булево значение и число, необходимо указать в Excel, что нечисловое булево значение должно рассматриваться как число. Это можно сделать, добавив двойной знак минус перед булевым значением или ссылкой на ячейку, например. =A2=--TRUE
или =A2=--B2
.
Первый знак минус, который технически называется унарным оператором, преобразует TRUE/FALSE в -1/0, соответственно, а второй унар отрицает значения, превращая их в +1 и 0. Возможно, это будет легче понять, глядя на следующий скриншот:
Примечание. Вы должны добавить двойной унарный оператор перед булевым числом, когда используете другие логические операторы, такие как не равный , больше, чем или менее для корректного сравнения числовых и булевых значений.
При использовании логических операторов в сложных формулах может потребоваться добавление двойного унарного оператора перед каждым логическим выражением, которое возвращает TRUE или FALSE в качестве результата. Вот пример такой формулы: SUMPRODUCT и SUMIFS в Excel.
Использование логического оператора "Не равно" в Excel
Вы используете программу Excel Не равно оператор (), когда вы хотите убедиться, что значение ячейки не равно заданному значению. Использование оператора Не равно оператор очень похож на использование Равный который мы обсуждали минуту назад.
Результаты, возвращаемые Не равно оператор аналогичен результату, получаемому функцией Excel NOT, которая меняет значение своего аргумента. В следующей таблице приведено несколько примеров формул.
Не равен оператору | НЕ функция | Описание |
=A1B1 | =NOT(A1=B1) | Возвращает TRUE, если значения в ячейках A1 и B1 не совпадают, FALSE в противном случае. |
=A1 "апельсины" | =NOT(A1="апельсины") | Возвращает TRUE, если ячейка A1 содержит любое значение, отличное от "oranges", FALSE, если она содержит "oranges" или "ORANGES" или "Oranges" и т.д. |
=A1TRUE | =NOT(A1=TRUE) | Возвращает TRUE, если ячейка A1 содержит любое значение, отличное от TRUE, FALSE в противном случае. |
=A1(B1/2) | =NOT(A1=B1/2) | Возвращает TRUE, если число в ячейке A1 не равно коэффициенту деления B1 на 2, FALSE в противном случае. |
=A1DATEVALUE("12/1/2014") | =NOT(A1=DATEVALUE("12/1/2014")) | Возвращает TRUE, если A1 содержит любое значение, отличное от даты 1-Dec-2014, независимо от формата даты, FALSE в противном случае. |
Больше чем, меньше чем, больше или равно, меньше чем или равно
Вы используете эти логические операторы в Excel, чтобы проверить, как одно число сравнивается с другим. Microsoft Excel предоставляет 4 операции сравнения, названия которых не требуют пояснений:
- Больше чем (>)
- Больше или равно (>=)
- Меньше, чем (<)
- Меньше или равно (<=)
Чаще всего операторы сравнения в Excel используются с числами, значениями даты и времени. Например:
=A1>20 | Возвращает TRUE, если число в ячейке A1 больше 20, FALSE в противном случае. |
=A1>=(B1/2) | Возвращает TRUE, если число в ячейке A1 больше или равно коэффициенту деления B1 на 2, FALSE в противном случае. |
=A1 Возвращает TRUE, если дата в ячейке A1 меньше, чем 1-Dec-2014, FALSE в противном случае. | |
=A1<=SUM(B1:D1) | Возвращает TRUE, если число в ячейке A1 меньше или равно сумме значений в ячейках B1:D1, FALSE в противном случае. |
Использование операторов сравнения Excel с текстовыми значениями
Теоретически, вы также можете использовать больше, чем , больше или равно операторы, а также их менее аналогов с текстовыми значениями. Например, если ячейка A1 содержит " яблоки " и В1 содержит " бананы ", угадайте, что означает формула =A1>B1
вернется? Поздравляю тех, кто сделал ставку на FALSE : )
При сравнении текстовых значений Microsoft Excel игнорирует их регистр и сравнивает значения символ за символом, при этом "a" считается наименьшим текстовым значением, а "z" - наибольшим.
Таким образом, при сравнении значений " яблоки " (A1) и " бананы " (B1), Excel начинает с их первых букв "a" и "b" соответственно, и поскольку "b" больше, чем "a", формула =A1>B1
возвращает FALSE.
Если первые буквы одинаковые, то сравниваются 2-е буквы, если и они оказываются одинаковыми, то Excel переходит к 3-й, 4-й буквам и т.д. Например, если A1 содержит " яблоки " и В1 содержал " агава ", формула =A1>B1
вернет TRUE, потому что "p" больше, чем "g".
На первый взгляд, использование операторов сравнения с текстовыми значениями имеет очень мало практического смысла, но никогда не знаешь, что может понадобиться в будущем, поэтому, возможно, эти знания окажутся кому-то полезными.
Общие случаи использования логических операторов в Excel
В реальной работе логические операторы Excel редко используются сами по себе. Согласитесь, возвращаемые ими булевы значения TRUE и FALSE, хотя и очень верны (простите за каламбур), но не имеют большого смысла. Чтобы получить более осмысленные результаты, можно использовать логические операторы как часть функций Excel или правил условного форматирования, как показано в приведенных ниже примерах.
1. использование логических операторов в аргументах функций Excel
Когда дело доходит до логических операторов, Excel очень свободен и позволяет использовать их в параметрах многих функций. Одно из наиболее распространенных применений можно найти в функции Excel IF, где операторы сравнения могут помочь построить логический тест, а формула IF вернет соответствующий результат в зависимости от того, оценивается ли тест как TRUE или FALSE. Например:
=IF(A1>=B1, "OK", "Не OK")
Эта простая формула IF возвращает значение OK, если значение в ячейке A1 больше или равно значению в ячейке B1, и "Не OK" в противном случае.
А вот еще один пример:
=IF(A1B1, SUM(A1:C1), "")
Формула сравнивает значения в ячейках A1 и B1, и если A1 не равно B1, возвращается сумма значений в ячейках A1:C1, иначе - пустая строка.
Логические операторы Excel также широко используются в специальных функциях ЕСЛИ, таких как SUMIF, COUNTIF, AVERAGEIF и их множественных аналогах, которые возвращают результат на основе определенного условия или нескольких условий.
Множество примеров формул вы найдете в следующих руководствах:
- Использование функции IF в Excel
- Как использовать SUMIF в Excel
- Excel SUMIFS и SUMIF с несколькими критериями
- Использование COUNTIF в Excel
- Excel COUNTIFS и COUNTIF с несколькими критериями
2. использование логических операторов Excel в математических расчетах
Конечно, функции Excel очень мощные, но не всегда нужно использовать их для достижения желаемого результата. Например, результаты, возвращаемые следующими двумя формулами, идентичны:
Функция IF: =IF(B2>C2, B2*10, B2*5)
Формула с логическими операторами: =(B2>C2)*(B2*10)+(B2<=C2)*(B2*5)
Думаю, формулу IF легче интерпретировать, верно? Она говорит Excel умножить значение в ячейке B2 на 10, если B2 больше C2, в противном случае значение в B1 умножается на 5.
Теперь давайте проанализируем, что означает 2-я формула с больше, чем и меньше или равно Полезно знать, что в математических расчетах Excel приравнивает булево значение TRUE к 1, а FALSE - к 0. Помня об этом, давайте посмотрим, что на самом деле возвращает каждое из логических выражений.
Если значение в ячейке B2 больше значения в C2, то выражение B2>C2 является TRUE и, следовательно, равно 1. С другой стороны, B2C2, наша формула претерпевает следующее преобразование:
Поскольку любое число, умноженное на ноль, дает ноль, мы можем отбросить вторую часть формулы после знака плюс. А поскольку любое число, умноженное на 1, является этим числом, наша сложная формула превращается в простую =B2*10, которая возвращает произведение умножения B2 на 10, что как раз и делает приведенная выше формула IF : )
Очевидно, что если значение в ячейке B2 меньше, чем в C2, то выражение B2>C2 оценивается как FALSE (0), а B2<=C2 - как TRUE (1), то есть произойдет обратное описанному выше.
3. Логические операторы в условном форматировании Excel
Еще одно распространенное использование логических операторов можно найти в Excel в условном форматировании, которое позволяет быстро выделить наиболее важную информацию в электронной таблице.
Например, следующие простые правила выделяют выделенные ячейки или целые строки в рабочем листе в зависимости от значения в столбце A:
Меньше, чем (оранжевый): =A1<5
Больше чем (зеленый): =A1>20
Подробные пошаговые инструкции и примеры правил смотрите в следующих статьях:
- Формулы условного форматирования Excel
- Как изменить цвет строки на основе значения ячейки
- Два способа изменения цвета фона на основе значения ячейки
- Как выделить каждую вторую строку в Excel
Как видите, использование логических операторов в Excel интуитивно понятно и просто. В следующей статье мы познакомимся с логическими функциями Excel, которые позволяют выполнять более одного сравнения в формуле. Пожалуйста, следите за новостями и спасибо за чтение!