Модуль 2.8. Логические функции

Логические функции используют для проверки и анализа данных, а также в условных вычислениях.

Вместо функций ЛОЖЬ и ИСТИНА можно непосредственно ввести слово с клавиатуры в ячейку или в формулу.

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

Таблица 8.1

Операторы сравнения

Оператор Значение
= (знак равенства) Равно
> (знак больше) Больше
< (знак меньше) Меньше
>= (знак больше и равно) Больше или равно
<= (знак меньше и равно) Меньше или равно
<> (знак меньше и больше) Не равно

 

Рассмотрим несколько логических функций: ЕСЛИ(), И(), ИЛИ(), НЕ().

Функция ЕСЛИ() – изменяется в зависимости от того, истинным или ложным является значение при вычислении условия, и в соответствии с этим возвращает различные значения.

Синтаксис функции: ЕСЛИ(А;В;С),

где A – логическое выражение, правильность которого следует проверить,

В – значение, если логическое выражение истинно,

C – значение, если логическое выражение ложно.

Задание 1.Создание формул с использованием функции ЕСЛИ().

1. Откройте файл Упражнения.xlsx.

2. Перейдите на лист Упр.8.

3. Введите в ячейки F3:H6 исходные данные, как показано на рис. 8.1.

Рис. 8.1. Пример 1 функции ЕСЛИ()

4. В чейку I4 введите формулу:

=ЕСЛИ(G4>H4;"Превышение бюджета";"Все хорошо!")

5. Введите в ячейки F7:G12 исходные данные, показанные на рис. 8.2.

6. В чейку H8 введите формулу:

=ЕСЛИ(G8>1000;G8*20%;G8*10%)

7. В чейку I8 введите формулу:

=ЕСЛИ(G8>=1000;G8*20%;G8*10%)

Рис. 8.2. Пример 2 функции ЕСЛИ()

8. В ячейку F14 (рис. 8.3) введите величину вклада, например, 5000р.

Рис. 8.3. Пример 3 функции ЕСЛИ()

9. В ячейку G14 введите формулу расчета величины вклада, учитывая ниже приведенные значения процентов: если сумма вклада будет меньше 10000р., то банк начислит 10%, если меньше 20000р. – 12%, если меньше 30000р. – 14%, если меньше 40000р. – 17%, и если больше 40000р. – 20%.

=ЕСЛИ(F14<=10000;F14+F14*10%;ЕСЛИ(F14<=20000;F14+F14*12%;ЕСЛИ(F14<=30000;F14+F14*14%;ЕСЛИ(F14<=40000;F14+F14*17%;ЕСЛИ(F14>40000;F14+F14*20%)))))

У логических функций аргументы могут принимать только два значения: ИСТИНА и ЛОЖЬ. Поэтому логические функции можно задать таблицей, где перечислены все возможные значения аргументов и соответствующие им значения функций. Такие таблицы называются таблицами истинности. В табл. 8.1 и 8.2 представлены таблицы истинности для функции НЕ() и функций И() и ИЛИ() соответственно.

Таблица 8.1

Таблица истинности для функции НЕ()

Значение аргумента Значение функции
х НЕ(х)
ЛОЖЬ ИСТИНА
ИСТИНА ЛОЖЬ

Таблица 8.1

Таблица истинности для функций И() и ИЛИ()

Значение аргумента Значение функции
x y И(х,у) ИЛИ(х,у)
ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ
ЛОЖЬ ИСТИНА ЛОЖЬ ИСТИНА
ИСТИНА ЛОЖЬ ЛОЖЬ ИСТИНА
ИСТИНА ИСТИНА ИСТИНА ИСТИНА

Функция НЕ() меняет на противоположное логическое значение своего аргумента. Функция НЕ() используется в тех случаях, когда необходимо быть уверенным в том, что значение не равно некоторой конкретной величине:

НЕ(1+1=2) равняется ЛОЖЬ

Функция И() называется функцией логического умножения и имеет следующий синтаксис: И(условие1;условие2;…)

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

Задание 2.Создание формул с использованием функции И().

1. В ячейку F16 введите следующую формулу:

=И(2+2=4; 2+3=5)

2. В результате в ячейке появится слово ИСТИНА (рис. 8.4), потому что оба выражения являются правильными.

3. Скопируйте формулу из ячейки F16 в ячейку F17.

4. Измените в ячейке F17 значение любого условия в формуле, чтобы в этой ячейке появилось слово ЛОЖЬ (см.рис. 8.4).

5. Введите в ячейку G16 число между 1 и 100, например, 56.

6. В ячейку H16 введите формулу:

=И(G16>1;G16<100)

7. В результате в ячейке H16 появится слово ИСТИНА (см. рис. 8.4).

8. Скопируйте формулу из ячейки H16 в ячейку H17, затем в ячейку G17 введите число 109. В результате в ячейке H17 появится слово ЛОЖЬ (см. рис. 8.4).

9. В ячейку I16 введите формулу:

=ЕСЛИ(И(G16>1;G16<100);G16;"Значение вне интервала")

10. Скопируйте формулу из ячейки I16 в ячейку I20. В результате в ячейках I16 и I17 будут разные значения (см. рис. 8.4).

Рис. 8.4. Пример функции И()

11. В ячейки F18:H28 (рис. 8.5) введите исходные данные для выявления факта пригодности призывников к военной службе (Годен/Не годен). Например, отклоняются кандидатуры ростом менее 150 см или более 200 см, а также весом менее 55 кг или свыше 100 кг.

Рис. 8.4. Пример функции ЕСЛИ() и И()

12. В ячейку I19 введите следующую формулу:

=ЕСЛИ(И(G22>=150;G22<=200;H22>=55;H22<=100);"Годен";"Не годен")

13. В ячейке F29 введите число 3 (рис. 8.5).

14. Присвойте этой ячейки имя z.

15. Необходимо выяснить, принадлежит ли z отрезку [2,5].

16. В ячейку G29 введите формулу:

=И(z>=2;z<=5).

17. В результате в ячейке значение ИСТИНА.

Функция ИЛИ() называется функцией логического сложения и имеет следующий синтаксис: ИЛИ(условие1;условие2;…)

Задание 3. Необходимо выяснить, принадлежит ли z одному из лучей на числовой оси (–¥,2) или (5,+¥).

1. В ячейку H29 введите следующую функцию:

=ИЛИ(z<2,z>5)

2. Формула возвращает в ячейку H29 слово ЛОЖЬ (см. рис. 8.5).

3. Пример можно решить иначе с учетом того обстоятельства, что на рабочем столе есть формула проверки принадлежности числа z отрезку [2,5]. Упомянутые два луча составляют на числовой оси дополнение к этому отрезку. Введите в ячейку I29 формулу:

=НЕ(В1)

4. Убедитесь, вводя в ячейку F29 различные числа, что формулы в ячейках H29и I29 дают идентичные результаты.

Рис. 8.5. Пример функции ИЛИ() и НЕ()

Задание 4. Самостоятельно решите следующие примеры:

Пример 1. Введите в ячейку Е1 формулу, возвращающую значение ИСТИНА, если z принадлежит одному из следующих отрезков: (–2,4] или [7,12) или [20,+¥), и ЛОЖЬ – в противном случае.

Пример 2. Присвойте ячейкам А5, В5 и С5 имена u, v, w. В самих ячейках содержатся числа. Введите в ячейки А6, А7, А8 и т.д. логические формулы, которые возвращают значение ИСТИНА, если:

1. Каждое из чисел u, v, w является положительным;

2. Хотя бы одно из чисел u, v, w является положительным;

3. Только одно из чисел u, v, w является положительным;

4. Ни одно из чисел u, v, w не является положительным;

5. Хотя бы одно из чисел u, v, w не является положительным.

Пример 3. Дать решение предыдущих примеров 6 и 7 без использования функций И(), ИЛИ(), НЕ(), а с помощью вложенных функций ЕСЛИ().

Пример 4. В трех ячейках записаны числа. Если все они ненулевые, вернуть 1, в противном случае 0. Решить задачу с использованием функции ЕСЛИ() без вложений.

Пример 5. Необходимо начислить праздничные премии работникам организации (10 человек). Ниже показана структура данных, где на местах формул, которые нужно создать, пока стоят знаки вопроса (рис. 8.6).

Месяц
Работник Пол Зарплата Зарплата+Премия
Иванов И.И. м ?
Петрова П.П. ж ?

Рис. 8.6.

Указания:

1. Если месяц третий, то женщинам устанавливается премия в размере 5000 руб.

2. Если месяц второй, то мужчинам назначается премия в размере 7000 руб.

3. Если месяц первый, то всем работникам назначается премия в размере 10000 руб. К исходной таблице добавьте еще один столбец и рассчитайте зарплату с учетом премии.

4. В остальные месяцы выплачивается только зарплата.