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

Теоретический урок по информатике

Логические функции предназначены для проверки условий

Результатом выполнения является возвращение значения ИСТИНА или ЛОЖЬ.

Значение ИСТИНА соответствует 1

Значение ЛОЖЬ соответствует 0

Основные логические функции

  • ЕСЛИ - Выполняет проверку условия
  • И - Возвращает значение ИСТИНА, если все аргументы имеют значение ИСТИНА
  • ИЛИ - Возвращает значение ИСТИНА, если хотя бы один аргумент имеет значение ИСТИНА
  • НЕ - Меняет логическое значение своего аргумента на противоположное

Синтаксис логических функций

  • ЕСЛИ(лог_выражение;значение_если_истина;значение_если_ложь)
  • И(логическое_значение1, [логическое_значение2], ...)
  • ИЛИ(логическое_значение1;логическое_значение2;...)
  • НЕ(логическое_значение)

Аргументы логической функции

  • Логическое_значение1. Обязательный аргумент. Первое проверяемое условие, вычисление которого дает значение ИСТИНА или ЛОЖЬ.
  • Логическое_значение2, ... Необязательный аргумент. Дополнительные проверяемые условия, вычисление которых дает значение ИСТИНА или ЛОЖЬ. Условий может быть не более 255.
  • Логическое_значение — величина или выражение, которые могут принимать два значения: ИСТИНА или ЛОЖЬ.
  • Лог_выражение — любое значение или выражение, принимающее значения ИСТИНА или ЛОЖЬ.

Синтаксис функции ЕСЛИ

При создании Логического выражения можно использовать операторы сравнения (Формулы Excel)

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

Задача 1

Ученики сдают экзамен. Учитель выставляет оценку по пятибалльной шкале. Условием сдачи экзамена является оценка, большая 2 баллов.

Решение

В ячейке электронной таблицы А1 у нас будет написано Балл. Внесем в ячейку таблицы А2 полученный учеником балл. Пусть для начала это будет значение 1.

В ячейке В1 напишем Проверка. В ячейке В2 будем вводить функцию.

логическая функция если пример 1

Так выглядит наша проверка

Теперь посмотрим условие. Оно звучит так: если ученик получил оценку выше 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 баллов). Если не попали в шкалу -выводится сообщение "вне диапазона".

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