Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава 5.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.05 Mб
Скачать

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

Обзор логических функций. Логические функции предназначены для проверки ус­ловий и принятия решений, зависящих от выполнения этих условий. Всего в Excel существуют шесть логических функций:

1. ЕСЛИ(условие; выражение1; выражение2) – используется для организации ветвления вычислений. Если заданное условие выполняется, функция возвращает значение, вычисленное с использованием выражения1, а если нет – с использованием выражения2. Вместо любого из этих выражений может быть вложена такая же функция ЕСЛИ с другим условием и другими выражениями. Допускается вложение друг в друга до семи функций ЕСЛИ.

2. И(условие1; условие2; … ) – используется главным образом для формирования сложных условий функции ЕСЛИ. Функция И принимает значение ИСТИНА, если выполняются все условия, заданные в качестве ее аргументов. Допускается проверка до 30 условий.

3. ИЛИ(условие1; условие2; … ) – используется главным образом для формирования сложных условий функции ЕСЛИ. Функция ИЛИ принимает значение ИСТИНА, если выполняется хотя бы одно условие из тех, которые заданы в качестве аргументов. Допускается проверка до 30 условий.

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

5. ИСТИНА() – возвращает логическое значение ИСТИНА. В Excel можно непосредствен­но вводить значение ИСТИНА в ячейки и формулы без использования этой функции. Функция ИСТИНА() предусмотрена для совместимости Excel с другими электронными таблицами.

6. ЛОЖЬ() - возвращает логическое значение ЛОЖЬ. В Excel можно непосредственно вводить значение ЛОЖЬ в ячейки и формулы без использования этой функции. Функция ЛОЖЬ() предназначена для совместимости Excel с другими электронными таблицами.

Функция ЕСЛИ. Это одна из наиболее часто используемых функций Excel. Функция ЕСЛИ имеет следующий синтаксис:

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

лог_выражение – это любое логическое выражение, результатом которого может быть ИСТИНА или ЛОЖЬ. При вводе логических выражений используются знаки операций сравнения, перечисленные в Главе 4, п. 4.1. Пример логического выражения: F5<>70. Если значение в ячейке F5 не равно 70, то результатом сравнения будет ИСТИНА.

значение_если_истина – это любое числовое или текстовое значение2, которое возвращает функция, если логическое выражение имеет значение ИСТИНА. Вместо конкретного значения здесь можно использовать формулу или функцию.

значение_если_ложь – это любое числовое или текстовое значение, которое возвращает функция, если логическое выражение имеет значение ЛОЖЬ. Вместо конкретного значения здесь можно использовать формулу или функцию.

Ввиду большой практической значимости функции ЕСЛИ рассмотрим несколько примеров ее использования:

ПРИМЕР 1. Пусть исходная таблица содержит список сотрудников и их оклады. Принято решение о 5-процентном увеличении окладов тех сотрудников, чьи старые оклады не превышают 200 грн. Нужно рассчитать эти новые оклады и округлить копейки до гривен.

Рис. 5.5. Таблица окладов: формулы (а) и результаты (б)

Расчетная формула вначале вводится в ячейку D2 для Кима Н.Н., а затем за маркер заполнения копируется в ячейки D3, D4 и т.д. Последовательность действий:

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

  2. В открывшемся окне мастера функций выбрать категорию Логические, затем – функцию ЕСЛИ, и щелкнуть на кнопке ОК. В результате откроется окно аргументов:

Рис. 5.6. Окно аргументов функции ЕСЛИ

  1. Ввести аргументы функции ЕСЛИ и щелкнуть на кнопке ОК. Функцию ОКРУГЛ (см. выше "Функции округления") и ее аргументы можно ввести с клавиатуры или с помощью мастера функций. Способы вложения функций рассмотрены в начале этой главы (см. п. 5.1).

Можно обойтись и без ОКРУГЛ, задав соответствующий формат ячейкам Новые оклады.

ПРИМЕР 2. Имеется список людей и их месячных доходов (рис. 5.7,а). Нужно вычислить для каждого подоходный налог в соответствии с таблицей налогообложения (рис. 5.7,б).

Рис. 5.7. Таблицы доходов (а) и налогообложения (б)

Расчетная формула вначале вводится в ячейку C2 для Сомова А.А., а затем за маркер заполнения копируется в ячейки C3, C4 и т.д.

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

Вложения функций удобно делать с помощью мастера функций. При этом поля аргументов функций ЕСЛИ будут выглядеть следующим образом:

Рис. 5.8. Аргументы исходной функции (а) и последовательно вложенных функций (б)-(д)

Для вложения функций ЕСЛИ необходимо выполнить следующие операции:

  1. Задать первые два аргумента первой функции ЕСЛИ (см. рис. 5.8,а), перейти в поле Значение_если_ложь и щелкнуть в левой части строки формул на кнопке . При этом откроется пустое окно аргументов вложенной функции ЕСЛИ (рис. 5.8.,б).

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

  3. Когда откроется последнее окно аргументов (рис. 5.8,д), нужно задать и значение_ес­ли_истина, и значение_если_ложь; после чего щелкнуть на кнопке ОК. В результате в ячейку C2 будет введена формула для расчета подоходного налога Сомова А.А., а в таб­лице отобразится вычисленный налог 85.55 грн. Расчетная формула будет иметь вид3:

=ЕСЛИ(B2<=17; 0;

ЕСЛИ(B2<=85; (B2-17)*10%;

ЕСЛИ(B2<=170; 6.80+(B2-85)*15%;

ЕСЛИ(B2<=1020; 19.55+(B2-170)*20%;

ЕСЛИ(B2<=1700; 189.55+(B2-1020)*30%; 393.55+(B2-1700)*40%)))))

Функция И. Эта функция принимает значение ИСТИНА, если выполняются все условия, заданные в качестве ее аргументов. В остальных случаях она имеет значение ЛОЖЬ. Синтаксис функции:

= И(логическое_выражение1; логическое_выражение2; …)

Логическое_выражение1; логическое_выражение2; – это до 30 проверяемых условий, каждое из которых может иметь значение ИСТИНА или ЛОЖЬ. В качестве аргументов можно использовать также ссылки на ячейки или массивы ячеек, содержащие логические выражения.

Выше было сказано, что чаще всего функция И применяется для формирования сложных условий функции ЕСЛИ. Покажем это на конкретном примере.

ПРИМЕР. Вычислим стоимость бывших в употреблении автомобилей (рис. 5.9) при сле­дующих условиях:

1. Если машина выпущена до 1999 г. и ее пробег превышает 200000 км.

(машина старая и много прошла), то новая цена меньше начальной на 40%.

2. Если машина выпущена до 1999 г. но ее пробег не превышает 200000 км.

(машина старая но мало прошла), то новая цена меньше начальной на 30%.

3. Если машина выпущена в 1999 г. или позже, но ее пробег превышает 200000 км.

(машина новая но много прошла), то новая цена меньше начальной на 20%.

4. Во всех остальных случаях новая цена машины меньше начальной на 10%.

Рис. 5.9. Оценка стоимости автомобилей

Как и в предыдущем примере, в данном случае придется вкладывать друг в друга функции ЕСЛИ, чтобы определить новую цену для различных условий. Однако сами условия теперь будут включать два параметра – Год выпуска и Пробег. Для формирования таких соста­вных условий придется использовать функцию И. Ниже приведена формула вычисления в ячейке E2 новой цены Форда (для удобства анализа формула записана в трех строках):

=ЕСЛИ(И(C2<1999; D2>200000); B2*60%;

ЕСЛИ(И(C2<1999; D2<=200000); B2*70%;

ЕСЛИ(И(C2>=1999; D2>200000); B2*80%; B2*90%)))

Остальные новые цены могут быть получены посредством копирования этой формулы за маркер заполнения в ячейки E3, E4 и т.д.

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

= ИЛИ(логическое_выражение1; логическое_выражение2; …)

Логическое_выражение1; логическое_выражение2; – это до 30 проверяемых условий, каждое из которых может иметь значение ИСТИНА или ЛОЖЬ. В качестве аргументов можно использовать также ссылки на ячейки или массивы ячеек, содержащие логические выражения.

Выше было сказано, что чаще всего функция ИЛИ применяется для формирования сложных условий функции ЕСЛИ. Покажем это на конкретном примере.

ПРИМЕР. Определим некую условную итоговую характеристику учеников по результатам сдачи трех экзаменов (рис. 5.10), руководствуясь следующими правилами:

сдавшие все на пять – Отличники;  получившие хоть одну тройку – Троечники;

 получившие хоть одну двойку – Двоечники;  все остальные ученики – Хорошисты.

Рис. 5.10. Определение итоговой характеристики учеников

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

Ниже приведена формула определения в ячейке E3 итоговой характеристики Лосева Т.С. (для удобства анализа она записана в трех строках):

=ЕСЛИ(И(B3=5; C3=5; D3=5);"Отличник";

ЕСЛИ(ИЛИ(B3=2; C3=2; D3=2);"Двоечник";

ЕСЛИ(ИЛИ(B3=3; C3=3; D3=3);"Троечник";"Хорошист")))

Итоговые характеристики остальных учеников могут быть получены посредством копирования этой формулы за маркер заполнения в ячейки E4, E5, E6 и т.д.

Три оставшихся логических функции (НЕ, ИСТИНА и ЛОЖЬ) не требуют пояснений сверх тех, которые даны выше в подразделе Обзор логических функций.