ЕСЛИ(лог_выражение;значение_если_истина;значение_если_ложь).
В логическом выражении функции ЕСЛИ
могут использоваться числа, даты, ссылки на ячейки, а также знаки > (больше), < (меньше), = (равно), >= (не меньше), <= (не больше), <> (не равно). Функция ЕСЛИ выполняется следующим образом.1. Вычисляется логическое выражение, которое может иметь одно из двух значений: ИСТИНА
или ЛОЖЬ.2. В зависимости от результата вычисления логического выражения функция возвращает один из двух возможных результатов, которые записаны в аргументах значение_если_истина
и значение_если_ложь. Рассмотрим пример. Пусть на предприятии выплачивается надбавка к зарплате за стаж в размере 20 % для работников, имеющих стаж 10 и более лет. Пример расчетной таблицы приведен на рис. 6.39, где показан процесс ввода формулы в ячейку D3 с использованием строки формул. В этой формуле используется логическое выражение C3>=10, чтобы определить право работника на надбавку. Если логическое выражение будет иметь значение ИСТИНА, то сумма надбавки рассчитывается по формуле B3*20%, в противном случае результат функции будет равен нулю.Рис. 6.39.
Пример ввода логической функции ЕСЛИДля объединения нескольких условий в одно можно использовать логическую функцию И
, которая возвращает значение ИСТИНА, если все входящие условия имеют значение ИСТИНА. Например, условие «значение ячейки A1 должно быть больше 5 и меньше 10» записывается так: И(A1>5;A1<10). Логическая функция ИЛИ возвращаетзначение ИСТИНА, если хотя бы одно входящее условие имеет значение ИСТИНА.Другой способ постройки сложных логических выражений состоит в использовании вложений функции ЕСЛИ
. Этот способ будет рассмотрен в следующей практической работе.ПРИМЕЧАНИЕ
Количество вложений функции ЕСЛИ может достигать 64, что позволяет задавать сложные условия. Читатели, имеющие понятие о программировании, должны обратить внимание на то, что функция ЕСЛИ является аналогом условного оператора (if… then… else).
Практическая работа 47. Расчеты с использованием логических функций
Задание.
Рассчитать надбавку за стаж по следующей шкале: до трех лет – 0; от трех до 10 лет – 10 %, 10 и более лет – 20 %.Для решения задачи нужно сформулировать словесный вариант решения. Он может звучать приблизительно так: «ЕСЛИ
стаж меньше трех лет, то результат: 0, иначе ЕСЛИ стаж меньше 10 лет, то результат: зарплата * 10 %, иначе результат: зарплата * 20 %. Жирным шрифтом выделены ключевые слова, которые определяют аргументы функций. Необходимо использовать две функции ЕСЛИ, вторая из которых будет вложена в первую.Последовательность выполнения
1. Создайте таблицу с исходными данными (см. рис. 6.39).
2. Сделайте активной нужную ячейку (в данном примере D3).
3. Выполните команду Формулы ► Библиотека функций ► Логические
и выберите в списке функцию ЕСЛИ.4. Введите аргументы функции. Следуя словесной формулировке решения, в поле Лог_выражение
введите условие С3<3, а в поле Значение_если_истина – число 0.5. В поле Значение_если_ложь
следует создать вложенную функцию ЕСЛИ. Для этого установите курсор в указанное поле и выберите функцию ЕСЛИ из раскрывающегося списка в строке формул (рис. 6.40).Рис. 6.40.
Вставка вложенной функции6. Укажите аргументы второй функции. Согласно словесной формулировке они будут такие: Лог_выражение
– С3<10; Значение_если_истина – В3*10%; Значение_если_ложь – В3*20%.7. Нажмите кнопку ОК
и проверьте результат работы формулы при различных исходных данных. Если все было сделано правильно, формула в ячейке D3 должна быть такой: =ЕСЛИ(СЗ<3;0;ЕСЛИ(СЗ<10;ВЗ*10%;ВЗ*20%)). Эта формула приведена только для проверки, и вводить ее вручную настоятельно не рекомендуется – это нужно сделать описанным выше способом с помощью Мастера функций.8. Выполните автозаполнение созданной формулой остальных ячеек столбца D и рассчитайте значения для столбца Е
. Проверьте правильность работы созданных формул и сохраните таблицу под именем Надбавка за стаж.Подведение итогов
Вопросы для проверки
□
Какая разница между абсолютными и относительными ссылками на ячейки?□
Какие преимущества дает использование имен для ячеек и диапазонов?□
Как создать имя и как его удалить?□
Что такое функция, аргументы функции?