Всех приветствую на новом уроке. Сегодня мы поговорим про логические функции в Excel. Это очень важная тема, которая помогает существенно сэкономить время при работе с большими таблицами и данными. Она поможет автоматизировать некоторые процессы вычисления. Сразу хочу вас предупредить – тема достаточно сложная. Будьте готовы перечитывать эту статью несколько раз. Я вам советую взять обычный лист бумаги, карандаш или ручку. Все логические функции и задачи повторяйте вместе со мной.
Если что-то из статьи вам непонятно – вы можете обратиться ко мне в комментариях. Но я все же советую еще раз перечитать непонятный кусок из текста ниже. Мне самому лично приходилось раз 5-6 перечитывать некоторые моменты, когда я обучался этому в школе. Но как только поймете основы логики и сможете примерно представлять себе некоторые части задач – далее все пойдет как по маслу. Обязательно сохраните эту статью в закладках, чтобы обращаться к ней, как к шпаргалке.
Если вы пока путаетесь в формулах, сначала советую глянуть базовый урок – как вставить формулу в Excel.
Список операторов
В отличие от обычных арифметических формул, логические функции в Excel проверяют условие и возвращают ответ: ИСТИНА или ЛОЖЬ. Давайте рассмотрим основной список, который чаще всего нужен обычному пользователю:
- ИСТИНА
- ЛОЖЬ
- ЕСЛИ
- ЕСЛИОШИБКА
- ИЛИ
- И
- НЕ
- ЕОШИБКА
- ЕПУСТО
На сегодня в Excel есть и другие логические функции, например ЕСЛИМН, ЕСЛИНД и ИСКЛИЛИ. Но для старта я бы не хватался за все сразу, а сначала спокойно разобрал базу выше. Обратите внимание на первые два оператора. В программировании обычно тоже есть значения «true» и «false», а в Excel им соответствуют «ИСТИНА» и «ЛОЖЬ». Эти функции не имеют аргументов, и их можно использовать, чтобы в логической задаче дополнительно вставлять точные значения. Давайте теперь разберем каждый из операторов поподробнее.
ИСТИНА и ЛОЖЬ
Начнем, пожалуй, с самого начала, а именно, как записывается логическая команда в Excel? – записывается она как обычная функция, которая начинается со знака равно (=). Вы можете вставить ее двумя способами:
- Вписать функцию вручную.
- Или использовать кнопку вставки функций (fx), которая находится левее строки значения ячейки.
У функций «ИСТИНА» и «ЛОЖЬ» нет аргументов, а значит скобки, которые вы должны обязательно ставить после любой функции, будут пустыми. Для чего же нужны эти пустые логические функции? – на самом деле их применяют достаточно часто, но рассказывать про них особо смысла нет, вы все поймете, когда мы будем разбирать конкретный пример в самом конце.
И и ИЛИ
Оба оператора могут принимать несколько аргументов – то есть несколько проверок сразу. Давайте коротко вспомним, как вообще работают эти операторы и начнем с «И».
Оператор И возвращает ИСТИНУ только тогда, когда все аргументы имеют правдивые значения. Пока ничего не понятно? – давайте рассмотрим все возможные варианты ответа, если мы будем применять эту функцию для двух значений. Для удобства чтения давайте вместо ИСТИНЫ мы возьмем единицу (1), а вместо значения ЛОЖЬ – ноль (0):
1 И 1 = 1
1 И 0 = 0
0 И 1 = 0
0 И 0 = 0
Оператор ИЛИ принимает значение ИСТИНА, если хотя бы один из аргументов правдивый.
1 ИЛИ 1 = 1
1 ИЛИ 0 = 1
0 ИЛИ 1 = 1
0 ИЛИ 0 = 0
Как вы могли заметить из скриншотов выше, в Excel можно использовать не только два логических значения, а сразу несколько условий. Проще всего делать вставку через окно функции. Но вы можете вписывать значения вручную через знак точки с запятой:
ИЛИ(Логическое_значение1;Логическое_значение2;Логическое_значение3)
В русской версии Excel аргументы обычно разделяются точкой с запятой. Если у вас английская локаль, может использоваться запятая, а названия функций будут IF, AND, OR, NOT.
НЕ
НЕ – это логическое отрицание, или некая инверсия ваших логических значений. Возвращает ответ обратный по логике. То есть – если была ЛОЖЬ, то возвращает ИСТИНУ и наоборот.
НЕ 1 = 0
НЕ 0 = 1
ЕСЛИ
Оператор ЕСЛИ работает как с аргументами, так и с выводом определенной информации при удовлетворении, или наоборот не удовлетворении условия. Проще всего разобрать на конкретном примере. Давайте попробуем использовать функцию в табличке с возрастом. Наша задача вывести в столбец «Зрелость» два значения, «Совершеннолетний» или «Несовершеннолетний». Для этого мы будем использовать столбец «Возраст». Вставляем функцию ЕСЛИ() и открываем окно ввода аргументов.
Лог_выражение – сюда мы вводим логическое выражение. Мы будем использовать адрес столбца «Возраст». Кликаем по нужной ячейке или вводим адрес вручную. Для сравнения вы можете использовать знаки:
< (Меньше)
> (Больше)
>= (Больше либо равно)
<= (Меньше либо равно)
Как они работают, я думаю вы помните из уроков в школе. И логическое выражение по определению совершеннолетия будет достаточно простым:
Возраст >= 18
Далее нам нужно заполнить еще два аргумента:
- Значение_если_истина
- Значение_если_ложь
То, что вы впишите в поля, будет выводиться в таблицу в том или ином случае. В итоге логическая формула:
=ЕСЛИ(B2>=18;”Совершеннолетний”;”Несовершеннолетний”)
Выводит значение совершеннолетия граждан, описанных в табличке. С помощью маркера автозаполнения копируем формулу с измененным адресом ячейки.
Читаем – что такое маркер автозаполнения и как им пользоваться.
Если нужно разобрать эту функцию еще подробнее, вот отдельный урок – формула ЕСЛИ в Excel.
ЕСЛИОШИБКА
Эта функция возвращает значение из аргумента, указанного пользователем, если формула вернула любую из ошибок Excel. Например, если вы попытались поделить на ноль в этом месте. Если же ошибки нет, то возвращается обычное значение.
Для чего эта функция нужна? – чаще для того, чтобы не показывать пользователю страшные ошибки вроде #ДЕЛ/0!. Например, можно вывести ноль, пустую строку или фразу «нет данных».
В итоге при использовании маркера автозаполнения и делении на ноль мы видим ошибку. Конечно, пример достаточно грубый, так как Excel сама выводит ошибку при неправильных подсчетах:
- #Н/Д
- #ЗНАЧ!
- #ЧИСЛО!
- #ДЕЛ/0!
- #ССЫЛКА!
- #ИМЯ?
- #ПУСТО!
Для деления у нас есть отдельный простой урок – формула деления в Excel.
ЕОШИБКА
Функция возвращает ИСТИНА, если в проверяемом значении или ячейке есть ошибка. Список ошибок можно посмотреть выше. Давайте возьмем предыдущий пример, только в столбце «Частное» теперь просто выводится обычное деление без применения «ЕСЛИОШИБКА()». Применив функцию ЕОШИБКА, она возвращает ИСТИНА, так как в последней строчке у нас есть ошибка деления на ноль.
ЕПУСТО
Возвращаем ИСТИНУ, если выделенная ячейка пустая. Тут очень важно отметить, что она действительно должна быть пустой, без ошибок, пробелов, формулы и значения ноль (0). Минус этой функции в том, что она проверяет именно одно значение или одну ячейку. То есть если вы впишите, например:
=ЕПУСТО(C2)
То в ответ получите:
ИСТИНА
если C2 реально пустая. А вот для диапазона лучше использовать не ЕПУСТО, а связку со счетчиками. Например, если нужно понять, пустой ли весь диапазон C2:C12, можно проверить так:
=СЧЕТЗ(C2:C12)=0
Если хотя бы одна ячейка имеет значение, ошибку, пробел или ноль (0), то такая проверка вернет ЛОЖЬ. Тут Excel строгий, как вахтер у турникета.
Пример
Представим себе, что у нас есть таблица с сотрудниками компании. Наша задача подсчитать премию, которая положена каждому из работников. У нас есть два вида премии:
- 500 – обычная премия, которая выдается всем работникам.
- 1500 – повышенная премия, положенная женщинам и пенсионерам, которые родились до 1980 года.
Если сотрудник новый и проработал в компании меньше 30 дней, то ему премия не положена.
Теперь по частям давайте разберем формулу, которую мы будем применять. Ориентируйтесь на скриншот ниже.
=ЕСЛИ(ИЛИ(C2<1980;B2=”ж”)*(НЕ(D2<30));1500;ЕСЛИ(D2<30;0;500))
Я вам настоятельно рекомендую добавить ее вручную, а не копировать у меня. Так как нам нужно вывести значение, мы будем использовать:
ЕСЛИ(…;1500;ЕСЛИ(D2<30;0;500))
А теперь давайте заполним логическое выражение. У нас есть задача выдать повышенную премию женщинам или сотрудникам с датой рождения до 1980 года – для этого мы используем ИЛИ:
ИЛИ(C2<1980;B2=”ж”)
Обратите внимание на сравнение ячейки пола. Здесь мы используем строковое значение “ж”, которое обязательно должно быть в кавычках. Если же вы используете сравнение с цифрами или числами, то кавычки не нужны. Читается строка достаточно просто:
Если у сотрудника дата рождения меньше 1980 ИЛИ он является женщиной, то…
Возвращается «ИСТИНА», ну или выполняется какое-то условие по ЕСЛИ. Но мы не забываем, что нам нужно, чтобы сотрудник обязательно проработал в компании 30 дней или больше. Для этого мы добавляем еще одно условие:
НЕ(D2<30)
Это условие возвращает ИСТИНУ, если сотрудник не попадает под правило «меньше 30 дней». Проще говоря, 30 дней и больше – уже можно считать премию. Вы могли заметить, что эту дополнительную функцию мы перемножаем с помощью обычного знака (*) – так делать можно. При этом знак умножения (*) работает почти как логическое И: ИСТИНА превращается в 1, ЛОЖЬ превращается в 0.
Если будете копировать формулу по таблице, не забывайте про адреса ячеек. Когда ссылка должна оставаться на месте, ее нужно закреплять знаком $. Об этом я отдельно рассказывал тут – относительные и абсолютные ссылки в Excel.
Теперь вы знаете, как работают логические функции в Excel и какой результат возвращает правильное логическое выражение. Тут сложность состоит в том, чтобы всегда держать в голове сразу несколько переменных с логическими выводами.
















Добрый день, таблицу истинности “ИЛИ” проверьте, все ли соответствует тому, что написано текстом. Хотя бы один аргумент истинный .
Спасибо, что сказали. Исправил.
Спасибо вроде все понятно теперь.
Вроде что-то припоминаю из уроков информатики в 11 классе подобное было. Даже задачи решали. Пробую освежить память.