Логические функции Excel

Подобного рода функциями служат такие, которые возвращают результат после проверки данных, который всегда представляет «ИСТИНА» либо «ЛОЖЬ», что означает – результат удовлетворяет заданному условию либо не удовлетворяет, соответственно.

Прежде чем перейти к рассмотрению описанных функций, ознакомьтесь со статьей нашего сайта Условия сравнения чисел и строк в Excel.

В описаниях синтаксиса функций их аргументы, которые заключены в квадратные скобки «[]», являются необязательными.

Будут рассмотрены следующие функции:

Функция ИСТИНА

Не принимает никаких аргументов и просто возвращает логическое значение «ИСТИНА».

Синтаксис: =ИСТИНА()

Функция ЛОЖЬ

Аналогична функции ИСТИНА, за исключением то, что возвращает противоположный результат ЛОЖЬ.

Синтаксис: =ЛОЖЬ()

Функция И

Возвращает логическое значение ИСТИНА, если все аргументы функции вернули истинное значение. Если хотя бы один аргумент возвращает значение ЛОЖЬ, то вся функция вернет данное значение.

В виде аргументов должны приниматься условия либо ссылки на ячейки, возвращающие логические значения. Количество аргументов не может превышать 255. Первый аргумент является обязательным.

Рассмотрим таблицу истинности данной функции:

И ИСТИНА ЛОЖЬ
ИСТИНА ИСТИНА ЛОЖЬ
ЛОЖЬ ЛОЖЬ ЛОЖЬ

Синтаксис: =И(Логическое_значение1; [Логическое_значение1];…)

Пример использования:

В первом примере видно, что все аргументы возвращают истинное значение, следовательно, и сама функция вернет истинный результат.

пример использования функции И

Во втором примере функция никогда не вернет значение ИСТИНА, т.к. условие ее второго аргумента заранее неравно.

заведомо ложное условие аргумента функции И

Функция ИЛИ

Возвращает логическое значение ИСТИНА, если хотя бы один аргумент функции вернет истинное значение.

В виде аргументов принимаются условия либо ссылки на ячейки, возвращающие логические значения. Количество аргументов не может превышать 255. Первый аргумент является обязательным.

Таблица истинности функции ИЛИ:

ИЛИ ИСТИНА ЛОЖЬ
ИСТИНА ИСТИНА ИСТИНА
ЛОЖЬ ИСТИНА ЛОЖЬ

Синтаксис: =ИЛИ(Логическое_значение1; [Логическое_значение2];…)

В качестве примера, рассмотрите примеры функции И, все они вернут результат ИСТИНА, т.к. первый аргумент является истинным.

Функция НЕ

Принимает в виде аргумента всего одно логическое значение и меняет его на противоположное, т.е. значение ИСТИНА она изменит на ЛОЖЬ и наоборот.

Таблица истинности функции И с применением функции НЕ:

НЕ(И()) ИСТИНА ЛОЖЬ
ИСТИНА ЛОЖЬ ИСТИНА
ЛОЖЬ ИСТИНА ИСТИНА

Таблица истинности функции ИЛИ с применением функции НЕ:

НЕ(ИЛИ()) ИСТИНА ЛОЖЬ
ИСТИНА ЛОЖЬ ЛОЖЬ
ЛОЖЬ ЛОЖЬ ИСТИНА

Синтаксис: =НЕ(логическое_значение)

Функция ЕСЛИ

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

Синтаксис:

=ЕСЛИ(Логическое_выражение;[Значение_если_истина];[Значение_если_ложь])

Примеры использования функции:

Рассмотрим первый простой пример, чтобы понять, как функция работает.

Умышлено в первый аргумент функции вставить функцию ИСТИНА. В результате проверки, будет возвращен 2 аргумент (значение_если_истина), 3 аргумент будет опущен.

пример использования функции ЕСЛИ

Теперь приведем пример использования вложенности одной функции ЕСЛИ в другую. Такой подход может понадобиться, когда при выполнении (или невыполнении) одного условия требуется дополнительная проверка.

Условия примера:

Имеются банковские карточки с номерами, начинающимися с первых четырех цифр, которые являются идентификатором вида карты:

  • 1111 – Visa;
  • 2222 – Master Card.

Используем нашу функцию для определения типа карты.

вложение функции ЕСЛИ

Функция, применяемая в данном примере, выглядит так:

=ЕСЛИ(ЛЕВСИМВ(A2;4)="1111"; "Visa";ЕСЛИ(ЛЕВСИМВ(A2;4)="2222";"Master Card";"карта не определена"))

Помимо самой рассматриваем функции, в примере используется текстовая функция ЛЕВСИМВ, которая возвращает часть текста из строки, начиная с левого края, в количестве символов, заданном вторым ее аргументом. С ее помощью мы проверяем, являются ли они равными строке «1111», если да, возвращаем результат «Visa», если нет, то выполняем вложенную функцию ЕСЛИ.

Подобным образом можно достичь значительной вложенности и организовывать сложные проверки.

Функция ЕСЛИОШИБКА

Предназначена для проверки возврата выражением ошибки. Если ошибка обнаружена, то она возвращает значение второго аргумента, иначе первого.

Функция принимает 2 аргумента, все они являются обязательными.

Синтаксис: =ЕСЛИОШИБКА(значение;значение_если_ошибка)

Пример использования функции:

В приведенном примере видно, что выражение в первом аргументе возвращает ошибку деления на ноль, но так как оно вложено в нашу функцию, то ошибка перехватывается и подменяется вторым аргументов, а именно строкой «Делить на ноль нельзя», которую мы ввели самостоятельно. Вместо данной строки могли бы быть другие функции, все зависит от поставленной перед Вами задачи.

Использование функции ЕСЛИОШИБКА

Комментарии  

-2 # Антон Александрович 06.06.2016 06:37
Здравствуйте!
Подскажите, необходимо сравнить числа в 2 столбиках в Excel, допустим столбцы A и B. Необходим результат, чтобы если два числа будут равны друг другу в столбце C выводилось значение "Истина", если больше или меньше "Ложь". Заранее спасибо!
Ответить | Ответить с цитатой | Цитировать
0 # Андрей 06.06.2016 08:06
Добрый день!
Достаточно написать в ячейке C1 формулу =A1=B1, а затем протянуть ее на необходимое количество строк вниз.
Ответить | Ответить с цитатой | Цитировать
-1 # Наталья1985 12.05.2016 15:14
Подскажите, почему после ввода функции значение не выводится, хотя все сделано верно и ошибок он не выдает. Функция следующая:
=ЕСЛИ(M3>=49;"в.ур.";ЕСЛИ(И(M3>=45;M3=40;M3=34;M3=25;M3
Ответить | Ответить с цитатой | Цитировать
-3 # Андрей 12.05.2016 16:13
Наталья, т.к. формула не отображается в комментарии правильно, то вышлите Ваш пример на почту, указанную в контактах.
Ответить | Ответить с цитатой | Цитировать
-1 # Вячеслав 17.02.2016 13:19
день добрый!
Прошу уточнить, как построить формулу условия, если необходимо: если значение (дата, время) попадает в интервал, то значение истина, если не попадает, то значение ложно. пример:
если 14:00>=12:00>=1 0:00 - истина
если 14:00>=17:00>=1 0:00 - ложь
Ответить | Ответить с цитатой | Цитировать
-2 # Андрей 17.02.2016 14:01
Запишите два условия с использованием функции И().
Ответить | Ответить с цитатой | Цитировать
-2 # Ксения 01.02.2016 17:26
Есть комплектации и цвета и серийныхе номера в одной таблице и в другой только комплектации и цвета. Как серийные номера согласно комплектация и цветам подтянуть во во вторую таблицу?
Ответить | Ответить с цитатой | Цитировать
-1 # Андрей 01.02.2016 17:55
Создайте ключ из двух столбцов, а затем примените функцию ВПР.
Ответить | Ответить с цитатой | Цитировать
+3 # Светлана 24.01.2016 17:43
Какую функцию использовать и как решить задачу? Посчитать количество игроков, у которых рост >170 или год рождения
Ответить | Ответить с цитатой | Цитировать
-3 # Андрей 24.01.2016 21:38
Светлана, используйте статистическую функцию СЧЕТЕСЛИ для одного условия или СЧЕТЕСЛИМН для нескольких условий.
Описание этих функцию можно найти на этом сайте.
Ответить | Ответить с цитатой | Цитировать
-2 # Екатерина 23.01.2016 17:29
Здравствуйте! Подскажите, пожалуйста, какой формулой мне необходимо воспользоваться для решения такой задачи:
Если выполняется условие в ячейке А1 значение ="x", а в ячейке В1 выполняется условие "y", то присвоить ячейке D5 значение ячейки C1?
Ответить | Ответить с цитатой | Цитировать
-1 # Андрей 23.01.2016 18:41
Добрый день, Екатерина.
Используйте функцию ЕСЛИ с вложением функции И в логическое условие.
Ответить | Ответить с цитатой | Цитировать
-2 # Рустам 30.11.2015 20:27
Как сделать
А=В если только А изменится до изменения В пустая клетка
Ответить | Ответить с цитатой | Цитировать
-2 # Андрей 30.11.2015 21:17
Если нужно отслеживать изменение в ячейке, то это реализуется с помощью макросов.
Ответить | Ответить с цитатой | Цитировать
-2 # Евгений 30.11.2015 10:57
Подскажите как быть если нужнно проверять условие по дате; если до 20.09.2015 А=ЗАО если после А=АО? ячейки в формате даты почему то не воспринимает
Ответить | Ответить с цитатой | Цитировать
-3 # Андрей 30.11.2015 11:34
Евгений, проблема в итоге в чем? В формате дат или непонимании как пишется формула?
Ответить | Ответить с цитатой | Цитировать
-1 # Евгений 30.11.2015 13:02
проблема в том что если я указываю дату как условие, или ячейку с датой, то формула не работает) формулу я вроде пишу верно:

=ЕСЛИ(C3>C4;"АО";"ЗАО")
Ответить | Ответить с цитатой | Цитировать
-2 # Андрей 30.11.2015 13:45
Скорее всего у Вас дата записана как текст - такое бывает. Измените формат ячейки на дату и внесите значение повторно. Если не поможет, то скидывайте файл и описание на почту, указанную в контактах.
Ответить | Ответить с цитатой | Цитировать
-2 # Евгений 30.11.2015 15:36
Да, все получилось когда изменил формат ячейки. А если я хочу указать конкретную дату в формуле, в каком формате ее записывать?
Ответить | Ответить с цитатой | Цитировать
-2 # Андрей 30.11.2015 15:42
Можно числом, можно с использованием функции ДАТА. Экспериментируй те)))
Ответить | Ответить с цитатой | Цитировать
+2 # Ирина 20.10.2015 00:14
Имею 20 отдельных файлов (по кол-ву организаций). В каждом на стр1 в ячейке Р8 содержится текстовая информация - названия групп (гр.№33 и т.д.)Как мне в отчетном файле (21-м)в ячейке Р8 собрать все тексты (н-р: гр.№31, гр№33, гр.№36 и т.д.)
Ответить | Ответить с цитатой | Цитировать
+2 # Андрей 20.10.2015 08:45
Используйте текстовую функцию СЦЕПИТЬ.
Ответить | Ответить с цитатой | Цитировать
+2 # Вячеслав 14.09.2015 10:47
Подскажите. пожалуйста
есть ряд данных: 3б 2н 1б 0 1о
в первой клетке может стоять, например 1н
как написать функцию, которая будет считать в ряду количество б, н и о по отдельности. Спасибо
Ответить | Ответить с цитатой | Цитировать
+2 # Андрей 14.09.2015 19:08
Вячеслав, используйте функцию СЧЕТЕСЛИ. Она описана в статье про статистические функции.
Ответить | Ответить с цитатой | Цитировать
+1 # Вячеслав 15.09.2015 06:18
функция СЧЕТЕСЛИ:
=СЧЁТЕСЛИ(C10:AG10;"б")
увеличивает на 1, если истина,
а мне надо на число, которое стоит перед "б".
Как это организовать?
Ответить | Ответить с цитатой | Цитировать
-1 # Андрей 15.09.2015 08:48
Здесь может быть несколько решений. Выбор любого из них зависит от исходных данных. Как мне видится сейчас, потребуется преобразование текстовых значений ряда данных - удаление букв. Затем произвести подсчет с помощью СУММ.
Это можно сделать добавлением дополнительных столбцов либо 1 функцией массива.
Рекомендую ознакомиться с текстовыми функциями и функциями массивов. Если останутся вопросы, пишите на электронную почту, указанную в контактах.
Ответить | Ответить с цитатой | Цитировать
-2 # Николай 08.09.2015 07:24
Имею такую задачу: Дают Файл ексель с полным названием стран а надо чтоб функция делала сокращеную... =ЕСЛИ(ЛЕВСИМВ(A 5;20)="Australi a";"AU";ЕСЛИ(ЛЕ ВСИМВ(A5;20)="A ustria";"AT";ЕС ЛИ(ЛЕВСИМВ(A5;2 0)="Azerbaijan" ;"AZ";ЕСЛИ(ЛЕВС ИМВ(A5;20)="Alb ania";"AL";)))) Пока начал писать такую функцию.. Есть ли проще Вариант решения задачи ? Возможно готовый для таких заданий.. ато 256 стран набирать не охото ?
Ответить | Ответить с цитатой | Цитировать
+3 # Андрей 08.09.2015 09:10
Добрый день!
У задачи должно быть другое решение. Попробуйте создать список на отдельном листе, где будут сопоставлены страны с их сокращениями. Затем используйте функцию ВПР, чтобы подтянуть к странам короткое название.

Зачем Вы используете функцию ЛЕВСИМВ?
Ответить | Ответить с цитатой | Цитировать
-1 # Николай 08.09.2015 17:17
Спас меня ! :) Супер Благодарю!
Ответить | Ответить с цитатой | Цитировать
+1 # Андрей 13.08.2015 10:07
Здравствуйте!
Функция проверки, какое значение стоит в ячейке G1. При G1 от 1 до 8 всё хорошо, добавляю дальше G1=9 выскакивает ошибка. Хотя в справке написано, что можно использовать до 64 вложенных друг в друга функций ЕСЛИ.
=ЕСЛИ(G1=1;J24/3;ЕСЛИ(G1=2;J24/3*2;ЕСЛИ(G1=3;J24;ЕСЛИ(G1=4;J24+K24/3;ЕСЛИ(G1=5;J24+K24/3*2;ЕСЛИ(G1=6;J24+K24;ЕСЛИ(G1=7;J24+K24+L24/3;ЕСЛИ(G1=8;J24+K24+L24/3*2))))))))
Ответить | Ответить с цитатой | Цитировать
-1 # Андрей 13.08.2015 23:10
Добрый день!

Скорее всего Вы запутались в простановке скобок.

Готовый вариант:
=ЕСЛИ(G1=1;J24/3;ЕСЛИ(G1=2;J24/3*2;ЕСЛИ(G1=3;J24;ЕСЛИ(G1=4;J24+K24/3;ЕСЛИ(G1=5;J24+K24/3*2;ЕСЛИ(G1=6;J24+K24;ЕСЛИ(G1=7;J24+K24+L24/3;ЕСЛИ(G1=8;J24+K24+L24/3*2;ЕСЛИ(G1=9;"Значение 9";"Иное значение")))))) )))
Ответить | Ответить с цитатой | Цитировать
+1 # Владимир 17.07.2015 10:36
Добрый день. подскажите вот функция:
ЕСЛИ($B42="";0;$F41*$G42;ЕСЛИ($B43="";0;$F41*$G43;ЕСЛИ($B44="";0;$F41*$G44)))))
пишет что много аргументов;
Вообще необходимо чтоб при подставленный значения Х в яейку В42,В43, и В44 значение в яч F41 * на G42 g43 g44. в чем ошибка
Ответить | Ответить с цитатой | Цитировать
-1 # Андрей 17.07.2015 23:20
У Вас ошибка в простановке скобок. И для каждого ЕСЛИ используется только 2 аргумента, а Вы используете 3.
Опишите словами, какую конструкцию Вы хотите построить.
Ответить | Ответить с цитатой | Цитировать
+1 # Кира 30.04.2015 08:24
Подскажите как увеличить кол-во вариантов. Например-
если А1=1 то С1=хорошо,
если А1=2 то С1=плохо,
если А1=3 то С1=ваще зашибись,
если А1=4 то С1=нейтрально.
Спс за внимание.
Ответить | Ответить с цитатой | Цитировать
-1 # Андрей 30.04.2015 21:51
Кира, Вы уже сами все написали)))
Вложите каждое дополнительное ЕСЛИ в аргумент, где указывается значение для ЛОЖЬ.
Ответить | Ответить с цитатой | Цитировать
-1 # Кира 30.04.2015 23:10
Странно, но вчера не получалось. Наверно путаница со скобками. Главное надо было услышать что решение есть (для уверенности), и добиваться))) Спасибки Вам Андрей!
Ответить | Ответить с цитатой | Цитировать
-2 # Lempompusik 16.04.2015 14:08
Здравствуйте! Подскажите пожалуйста как задать формулу мне надо так чтобы когда вписываешь в ячейке допустим А1 цифру 72705 а в ячейке D1 пишет ТАРА, когда вписываешь в этой же ячейке А1 72420 отображается в ячейке D1 МКР
Ответить | Ответить с цитатой | Цитировать
-1 # Андрей 16.04.2015 20:14
Добрый день!
Вам понадобится написать 2 функции ЕСЛИ для 2х условий, где в качестве аргумента ЗНАЧЕНИЕ_ЕСЛИ_Л ОЖЬ первой функции вписать вторую. Пример:
ЕСЛИ(условие1;значение_если_истина;если(условие2;значение_если_истина2;"значение не определено"))
Ответить | Ответить с цитатой | Цитировать
-2 # Дарья 23.01.2015 10:36
действительно, ОЧЕНЬ полезная информация!
подскажите пож-та можно ли прописать условие для даты?
например, "дата заказа" - не ограничена, но "дата вывоза" должна включать не более/равно 15 вывозов в день. как задать ограничение и чтобы при более 16 вывозов на одну дату, автоматически присваивало следующий день? или это не возможно.
Ответить | Ответить с цитатой | Цитировать
-2 # Андрей 23.01.2015 13:36
Дарья, чтобы дать Вам подсказку необходимо знать структуру таблицы и решение принимать, исходя из нее.
С ходу могу предположить, что потребуется финкция СЧЕТЕСЛИ для подсчета с нарастанием кол-ва вывозов по дню. А исходя из полученного значения, делить на 15 и округлять значение до меньшего. Таким образом можно получить число дней, на которые требуется скорректировать исходную дату вывоза.
Если не получится самостоятельно, то напишите мне в соц.сетях (https://vk.com/morinman), попробую помочь разобраться.
Ответить | Ответить с цитатой | Цитировать
+2 # Дарья 20.01.2015 21:59
Здравствуйте! Никак не пойму, как используя функцию ЕСЛИ (или нужно использовать какую-то другую функцию?) можно сделать отбор по таким параметрам:
Есть таблица с артикулом товара и его ценой. Необходимо проставить такие данные

Стоимость артикула группа
от до
0 800 A
800 1425 B
больше 1425 C

Помогите, пожалуйста. Заранее спасибо
Ответить | Ответить с цитатой | Цитировать
+1 # Андрей 20.01.2015 22:33
Здравствуйте, Дарья!
Использовать нужно именно функцию ЕСЛИ, только для указания границ диапазона использовать в логическом условии функцию И. Для проверки удовлетворения последующих условий, вкладывать в аргумент "если_ложь" новые функции ЕСЛИ.
Ответить | Ответить с цитатой | Цитировать
-2 # Экономист-777 20.01.2015 15:27
По вашим рекомендациям научился записывать макросы и многое другое, что значительно упростило работу. Но не смог найти подходящую функцию, которая смогла бы суммировать все значения по определенному ключу (плохо ориентируюсь еще). Например в ведомости на зарплату сотрудник "Иванов" имеет, помимо оклада, много других выплат. Мне нужно посчитать итог по этому сотруднику. При этом список огромен, сотрудников много и нужно посчитать зарплату каждого. Подскажите пожалуйста способ, если есть, это сделать
Ответить | Ответить с цитатой | Цитировать
+3 # Андрей 20.01.2015 17:30
Для суммирования по условию воспользуйтесь математическими функциями СУММЕСЛИ или СУММЕСЛИМН. Описания и примеры приведены на нашем сайте на данной странице http://office-menu.ru/index.php/uroki-excel/13-uverennoe-ispolzovanie-excel/39-matematicheskie-funktsii-excel#sum
Ответить | Ответить с цитатой | Цитировать
-1 # Экономист-777 22.01.2015 10:25
Спасибо, все получилось как хотел)))))
Ответить | Ответить с цитатой | Цитировать
+1 # Экономист-777 15.01.2015 15:35
Спасибо, очень много полезной информации. Можно-ли задавать вопросы в случае ошибок?
Ответить | Ответить с цитатой | Цитировать
+4 # Андрей 15.01.2015 15:56
Спасибо за положительный отзыв. Если имеются вопросы, Вы можете их задать.
Ответить | Ответить с цитатой | Цитировать

Добавить комментарий