Логическая функция или
Данная функция истинна, если истинно хотя бы одно из двух входящих в нее условий. Формат записи:
= ИЛИ (условие №l; условие №2) |
Лишь в случае, когда оба условия ложны, то функция ИЛИ также ложна.
Условие №1 |
Условие №2 |
Результат |
истина |
истина |
истина |
истина |
ложь |
истина |
ложь |
истина |
истина |
ложь |
ложь |
ложь |
Данная функция используется вместе с логической функцией ЕСЛИ, которая в этом случае имеет следующий формат:
= ЕСЛИ(ИЛИ (усл. №l; усл. №2);выражен.В;выражен.С) |
Пример 3. Найти работников, у которых имеется либо задолженность по потребительскому кредиту, либо по кредиту на жилищное строительство, либо по обоим видам кредита сразу, и удержать с них в счет погашения кредита 10% от начисленной им суммы (рис. 6.5).
Логическая функция в нашем примере будет иметь вид:
= ЕСЛИ(ИЛИ (С3>0;D3>0);B3*0/1;» «) |
Данная логическая функция означает следующее: если одновременно или по отдельности задолженности по потребительскому кредиту и кредиту на жилищное строительство больше нуля, то необходимо удержать 10% с начисленной суммы, в противном случае необходимо вывести пробелы.
Запишем ее в ячейку ЕЗ, а затем скопируем в ячейки Е4:Е7.
Рис. 6.5 Логическая функция ИЛИ в сочетании с функцией ЕСЛИ
В столбцах С и D (рис. 6.6) будут найдены работники, у которых есть задолженность хотя бы по одному виду кредита, и в столбце Е с них будет удержано 10% от начисленной им суммы. Один работник не имеет задолженности по кредиту и в столбце Е напротив его фамилии будут выведены пробелы.
Рис. 6.6 Результат выполнения логической функции ИЛИ в сочетании с функцией ЕСЛИ
Вложенные логические функции если
Формат записи:
=ЕСЛИ (усл.№1;выраженнеВ;ЕСЛИ(усл.№2;выражение C;ЕСЛИ(...))) |
Число вложенных функций в принципе может быть любое, но общая длина строки не должна быть слишком большой, это затрудняет ее чтение, кроме того, необходимо следить за тем, чтобы число открытых скобок в точности равнялось числу закрытых скобок.
Пример 4. Найти работников, у которых имеются одновременно задолженности по обоим видам кредита, и удержать от начисленной им суммы 20% в счет погашения кредитов (рис. 6.7). С остальных работников, имеющих задолженность по какому-либо одному виду кредита, удержать 10% от начисленной им суммы. Работникам, не имеющим задолженность по кредиту, проставить в графе "Удержано" - "б/к".
В нашем примере логическая функция будет иметь следующий вид:
=ЕСЛИ (И(С3>0;D36>0);В3*0.2;ЕСЛИ (И (С3=0;D3=0):"б/к"; ВЗ*0.1)) |
Данная логическая функция означает следующее: если одновременно задолженности по потребительскому кредиту и кредиту на жилищное строительство больше нуля, то необходимо удержать 20% с начисленной суммы, если обе задолженности одновременно равны нулю, то необходимо вывести «б/к», в противном случае необходимо удержать 10% от начисленной суммы.
Запишем ее в ячейку Е3, а затем скопируем в ячейки Е4:Е7 (см. рис. 6.7).
Рис. 6. 7 Вложенная логическая функция ЕСЛИ
В столбцах С и D (рис. 6.8) будут найдены работники, у которых есть задолженности по двум видам кредита, и с них будет удержано 20% от начисленных им cумм. Напротив фамилии работника, у которого нет задолженности по кредиту, в столбце Е будет выведено «б/к». Наконец, с остальных работником будет удержано 10% от начисленных им сумм.
Рис. 6.8 Результат выполнения вложенной логической функции ЕСЛИ
Задание. Составьте логическую функцию для взимания подоходного налога с физических лиц, если дана шкала налогообложения:
до 12 млн руб. - 12%
от 12 до 24 млн руб. - 1440 тыс. руб. + 20% с суммы > 12 млн руб.
от 24 до 36 млн руб. - 3840 тыс. руб. + 25% с суммы > 24 млн руб.
от 36 до 48 млн руб. - 6840 тыс. руб. + 30% с суммы > 36 млн руб.
свыше 48 млн руб. 10440 тыс. руб. + 35% с суммы > 48 млн руб.