Логические функции Excel
Теоретический урок по информатике
Логические функции предназначены для проверки условий
Результатом выполнения является возвращение значения ИСТИНА или ЛОЖЬ.
Значение ИСТИНА соответствует 1
Значение ЛОЖЬ соответствует 0
Основные логические функции
- ЕСЛИ - Выполняет проверку условия
- И - Возвращает значение ИСТИНА, если все аргументы имеют значение ИСТИНА
- ИЛИ - Возвращает значение ИСТИНА, если хотя бы один аргумент имеет значение ИСТИНА
- НЕ - Меняет логическое значение своего аргумента на противоположное
Синтаксис логических функций
- ЕСЛИ(лог_выражение;значение_если_истина;значение_если_ложь)
- И(логическое_значение1, [логическое_значение2], ...)
- ИЛИ(логическое_значение1;логическое_значение2;...)
- НЕ(логическое_значение)
Аргументы логической функции
- Логическое_значение1. Обязательный аргумент. Первое проверяемое условие, вычисление которого дает значение ИСТИНА или ЛОЖЬ.
- Логическое_значение2, ... Необязательный аргумент. Дополнительные проверяемые условия, вычисление которых дает значение ИСТИНА или ЛОЖЬ. Условий может быть не более 255.
- Логическое_значение — величина или выражение, которые могут принимать два значения: ИСТИНА или ЛОЖЬ.
- Лог_выражение — любое значение или выражение, принимающее значения ИСТИНА или ЛОЖЬ.
Синтаксис функции ЕСЛИ
При создании Логического выражения можно использовать операторы сравнения (Формулы Excel)
Примеры использования логических функций
Задача 1
Ученики сдают экзамен. Учитель выставляет оценку по пятибалльной шкале. Условием сдачи экзамена является оценка, большая 2 баллов.
Решение
В ячейке электронной таблицы А1 у нас будет написано Балл. Внесем в ячейку таблицы А2 полученный учеником балл. Пусть для начала это будет значение 1.
В ячейке В1 напишем Проверка. В ячейке В2 будем вводить функцию.
Так выглядит наша проверка
Теперь посмотрим условие. Оно звучит так: если ученик получил оценку выше 2 баллов, то он сдал экзамен. Если меньше - не сдал.
=ЕСЛИ(А2>2;"сдал";"не сдал")
В примере функция состоит из:
- Логическое выражение: А2>2
- Значение если истина: "сдал"
- Значение если ложь: "не сдал"
Все баллы, которые больше 2, приводят к истинному значению "сдал". Все остальные - "не сдал".
Обратите внимание: если в функцию внедряется текст, его следует брать в кавычки.
Проверим:
В ячейке А2 содержится значение 1, то есть можно мысленно представить функцию в виде:
Обратите внимание: в ячейке уже содержится функция. Под словом "представить" подразумевается или фантазия, или запись на листе в клеточку.
=ЕСЛИ(1>2;"сдал";"не сдал")
Так как 1 явно меньше 2, то будет возвращено значение если ложь: "не сдал".
Введём в ячейку А2 другое значение: 3
Проверим:
=ЕСЛИ(3>2;"сдал";"не сдал")
Так как 3 больше 2, то будет возвращено значение если истина. В нашем случае - "сдал".
Задача 2
Усложним задачу:
- Ученики сдают экзамен. Учитель выставляет оценку по пятибалльной шкале. Условием сдачи экзамена является оценка, большая 2 баллов.
- Учесть возможные ошибочные вводы данных в ячейку А2.
Необходимо проверить, попал ли учитель с выставляемым баллом в пределы пятибалльной шкалы (1, 2, 3, 4, 5).
В процессе выставления баллов он мог ошибочно ввести число 10 или -3. Если не проверять вводимые значения, то возможно получение не верного результата. Если в ячейку А2 ввести значение 7, то будет возвращено значение "сдал", а должно выводиться сообщение об ошибке.
Функция вида: =ЕСЛИ(А2>2;"сдал";"не сдал") не учитывает ввод ошибочных значений. Любое число больше 2 будет приводить к результату "сдал", меньше - "не сдал", в том числе и отрицательные.
Для решения необходимо ввести дополнительную функцию ЕСЛИ, усилив её функцией ИЛИ.
Представим себе (лучше - нарисуем на листе) шкалу оценок:
Красным цветом выделены баллы, соответствующие значению "не сдал", зелёным - "сдал", синим - "ошибка".
Нам необходимо в функции указать значения, которые соответствуют "ошибке", затем - "сдал". Все остальные будут соответствовать "не сдал".
Так как значения, отмеченные синим цветом не пересекаются (расположены слева и справа от шкалы), то они одновременно не смогут приводить к истине.
=ИЛИ(А2<1;A2>5)
При выполнении функции мы будем получать результат ИСТИНА в каждом случае, когда введено значение, находящееся в синей зоне шкалы.
К примеру, в ячейку А2 введено значение 15: выполняя проверку, мы получим ИСТИНУ:
=ИЛИ(15<1;15>5)
Слева-направо будут проверены утверждения. Первое - ЛОЖЬ. Второе приводит к ИСТИНЕ, значит результат - ИСТИНА.
Встроим полученную функцию ИЛИ в функцию ЕСЛИ, значение_если_истина определим как "ошибка", а на место значение_если_ложь поместим функцию из первой задачи :
=ЕСЛИ(ИЛИ(А2<1;А2>5);"ошибка";ЕСЛИ(А2>2;"сдал";"не сдал"))
При выполнении полученной функции сперва будет проверяться наличие ошибок ввода данных (соответствие их пятибалльной шкале оценок).
В случае получения результата ИСТИНА будет выводиться надпись "ошибка".
Когда выполнение приведет к результату ЛОЖЬ, в дело вступит вторая функция ЕСЛИ, которая проверит: значение в ячейке А2 больше или меньше 2.
В случае, когда значение в А2 больше 2, выведется надпись "сдал", во всех остальных случаяx - "не сдал".
Эта же задача с использованием функции И может быть решена так:
Сначала проверяем наше нахождение в пятибалльной шкале:
=ЕСЛИ(И(А2>0;А2<6)
Значение_если_истина в этом случае: уже ранее использовавшаяся функция:
ЕСЛИ(А2>2;"сдал";"не сдал")
Далее определяем, что будет, если не попали в пятибалльную шкалу - значение_если_ложь:
"вне диапазона"
В итоге, полученная логическая функция:
= ЕСЛИ(И(А2>0;А2<6);ЕСЛИ(А2>2;"сдал";"не сдал");"вне диапазона")
Если мы попали в пятибалльную шкалу (1-5), то значение_если_истина проверяет сдачу или не сдачу экзамена (когда оценка больше 2 баллов). Если не попали в шкалу -выводится сообщение "вне диапазона".
Как видите, задачи с использованием логических функций можно решить несколькими способами, манипулируя логическими выражениями, истинными и ложными значениями.