Книга: Google Таблицы
Назад: Функции СТРОКА, СТОЛБЕЦ
Дальше: Функции импорта

ЛОГИЧЕСКИЕ ФУНКЦИИ

Логические функции возвращают одно из двух булевых значений — ИСТИНА (TRUE) или ЛОЖЬ (FALSE). X всегда либо больше, либо не больше Y, значение из одной ячейки либо равно значению из другой, либо нет (немножко беременной быть нельзя; мы либо даем клиенту скидку, либо не даем и т. д.).

Ниже мы рассмотрим основные логические функции на примерах.

СРАВНИВАЕМ ДВЕ ЯЧЕЙКИ

Чтобы сравнить две ячейки, достаточно поставить между ссылками на них знак «равно»:

=A1=B1

А ЕСЛИ ДВЕ ЯЧЕЙКИ НЕ РАВНЫ, ТО КАКАЯ МЕЖДУ НИМИ РАЗНИЦА?

Для решения этой задачи воспользуемся функцией IF (ЕСЛИ). Ее синтаксис:

IF(источник; значение при соблюдении условия; значение при несоблюдении условия)

источник — это логическое выражение или ссылка на ячейку с ним; источник всегда равен единице или нулю, ИСТИНА или ЛОЖЬ;

значение при соблюдении условия — значение, которое вернет функция, если первый аргумент — источник — равен TRUE (ИСТИНА);

значение при несоблюдении условия — значение, которое вернет функция, если первый аргумент — источник — равен FALSE (ЛОЖЬ).

В нашем случае логическое выражение — это сравнение двух ячеек

A2=B2

В случае их равенства будем возвращать слово «Равны», в противном случае — модуль разницы (функция ABS) между ячейками:

=IF(A2=B2;"Равны";ABS­(B2-A2))

=ЕСЛИ­(A2=B2;"Равны";ABS­(B2-A2))

ОПЛАТА УЖЕ ПРОШЛА?

Еще один пример использования функции IF. Мы будем сравнивать дату оплаты с сегодняшней. Если дата оплаты меньше сегодняшней — оплата уже прошла и формула возвратит текст «прошла». Иначе — текст «в плане».

Сегодняшняя дата (системная) возвращается функцией TODAY(), у которой нет аргументов:

=IF(G2<TODAY();"прошла";"в плане")

=ЕСЛИ­(G2<СЕГОДНЯ();"прошла";"в плане")

ПРОВЕРЯЕМ, ПРОШЕЛ ЛИ СПОРТСМЕН ОТБОР. ФУНКЦИИ OR (ИЛИ), AND (И)

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

Проверим достижение этого балла с помощью функции OR (ИЛИ), сравнивая каждую попытку с исходным критерием:

=IF(OR(B2>$G$1;C2>$G$1;D2>$G$1);"Да";"Нет")

=ЕСЛИ­(ИЛИ­(B2>$G$1;C2>$G$1;D2>$G$1);"Да";"Нет")

А если задача стоит иначе и нужно во всех трех попытках превзойти критерий — поменяем функцию OR (ИЛИ) на AND (И):

РАССЧИТЫВАЕМ СУММУ СКИДКИ

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

При этом скидки мы выдаем при покупке от определенной суммы, которая занесена в отдельную ячейку. Размер скидки в процентах также занесен в отдельную ячейку. Все параметры легко поменять.

Для решения этой простой задачи понадобится функция IF (ЕСЛИ).

Логическое выражение — сравнение суммы сделки с той суммой, которая является минимальной для скидки:

сумма сделки больше минимальной суммы для скидки

A2>$E$1

Если сравнение верное — умножаем сумму сделки на ставку:

сумма сделки*ставка скидки

A2*$E$2

Если же оно неверно (сумма слишком мала) — скидку не даем и возвращаем 0.

В итоге получаем функцию:

=IF(A2>$E$1;A2*$E$2;0)

=ЕСЛИ(A2>$E$1;A2*$E$2;0)

Назад: Функции СТРОКА, СТОЛБЕЦ
Дальше: Функции импорта