К содержанию

Модуль 3 · Урок 3.1

Проверки и ЕСЛИ

Сравнения, И, ИЛИ, НЕ, ЕСЛИ и признак 1/0; проверки в отдельных столбцах.

9 задач

В столбце A — числа. Нужно отметить те, что лежат от 10 до 20 включительно, и сосчитать их. Формула должна спросить про каждую строку «подходит ли?» и записать ответ. Сравнение даёт ИСТИНА или ЛОЖЬ, а ЕСЛИ превращает такой ответ в нужное значение — например, в 1 для подходящей строки и 0 для остальных.

Разберём знаки сравнения, функции И, ИЛИ, НЕ и ЕСЛИ, а затем сосчитаем подходящие строки.

Знаки сравнения

Знаки сравнения: = <> < > <= >=, и первое «=» формулы — не сравнение. =A2=5 проверяет равенство, =A2<>5 — неравенство, =A2>=5 — «не меньше», =A2<=5 — «не больше». Поменяй число в A2 и посмотри, как меняются ответы:

B2=A2=5
ABCDEF
1Балл=<>>>=<=
25ИСТИНАЛОЖЬЛОЖЬИСТИНАИСТИНА
Формулы в ячейках
  • B2=A2=5
  • C2=A2<>5
  • D2=A2>5
  • E2=A2>=5
  • F2=A2<=5

В записи =A2=5 первый знак = сообщает, что начинается формула. Второй выполняет сравнение. Формула возвращает ИСТИНА или ЛОЖЬ. Присваивания числа 5 ячейке A2 здесь нет.

Фразы «больше 10» и «не меньше 10» различаются на границе: число 10 подходит только во втором случае. Для «от 10 до 20 включительно» нужно проверить обе границы — но не математической цепочкой 10<=A2<=20: Excel выполнит сравнения по очереди, и смысл получится другой.

  1. Цепочка из двух сравнений, A2 = 15 — число внутри промежутка.
  2. Excel выполняет сравнения слева направо. Первое — 10<=15.
  3. 10<=15 даёт ИСТИНА, и второе сравнение получает логическое значение вместо числа: ИСТИНА<=20.
  4. Логическое значение Excel всегда считает больше любого числа, поэтому ответ ЛОЖЬ — при любом A2.

Для 15 цепочка даёт ЛОЖЬ, хотя 15 лежит между 10 и 20: второе сравнение проверяет уже не A2, а результат первого.

И, ИЛИ, НЕ

И истинна, когда истинны все проверки; ИЛИ — когда истинна хотя бы одна; НЕ переворачивает ответ. =И(A2>=10;A2<=20) проверяет, что число лежит от 10 до 20 включительно, а =ИЛИ(A2<10;A2>20) — что оно вне этого промежутка. На числовой прямой видно, что остаётся от двух проверок:

И
И оставляет общую часть двух лучей — от 10 до 20. Закрашенная точка: граница входит.
ИЛИ
ИЛИ объединяет два луча. Пустая точка: граница не входит, поэтому 10 и 20 дают ЛОЖЬ.

НЕ меняет ИСТИНА на ЛОЖЬ и наоборот: =НЕ(A2=5) — то же, что =A2<>5. Пригождается для сложных проверок: =НЕ(И(A2>=10;A2<=20)) — «вне промежутка».

Все четыре сочетания двух проверок — на одном листе; столбцы C, D и E сравнивают И, ИЛИ и «ровно одна»:

E3=A3<>B3
ABCDE
1ПерваяВтораяИИЛИРовно одна
2ЛОЖЬЛОЖЬЛОЖЬЛОЖЬЛОЖЬ
3ЛОЖЬИСТИНАЛОЖЬИСТИНАИСТИНА
4ИСТИНАЛОЖЬЛОЖЬИСТИНАИСТИНА
5ИСТИНАИСТИНАИСТИНАИСТИНАЛОЖЬ
Формулы в ячейках
  • C2скопирована до C5=И(A2;B2)
  • D2скопирована до D5=ИЛИ(A2;B2)
  • E2скопирована до E5=A2<>B2

ИЛИ истинна и тогда, когда истинны обе проверки (строка 5). Для «ровно одна из двух» нужна другая проверка: =A2<>B2 истинна именно тогда, когда ответы различаются.

Тонкости:«ровно одна» через И, ИЛИ, НЕ

Та же проверка без сравнения логических значений: =И(ИЛИ(A2;B2);НЕ(И(A2;B2))) — «хотя бы одна, но не обе».

ЕСЛИ и признак

ЕСЛИ выбирает одно из двух значений по условию.

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

Например, =ЕСЛИ(A2>=60;"зачёт";"незачёт") возвращает текст. Кавычки показывают, что «зачёт» — буквальный текст, а не имя ячейки или функции. Числа и ссылки обычно не заключают в кавычки.

Для подсчёта подходящих строк удобно возвращать числовой признак:

=ЕСЛИ(И(A2>=10;A2<=20);1;0)

Вложенную формулу Excel вычисляет изнутри наружу. При A2 = 15:

  1. ЕСЛИ, внутри неё И, внутри И — два сравнения.
  2. Значение A2 подставлено в оба сравнения.
  3. Оба сравнения истинны.
  4. Оба аргумента И равны ИСТИНА — значит, и сама И даёт ИСТИНА.
  5. Условие ЕСЛИ истинно — она выбирает второй аргумент: 1.
C3=ЕСЛИ(И(A3>=10;A3<=20);1;0)
ABC
1БаллРезультатПризнак 10…20
259незачёт0
315незачёт1
420незачёт1
560зачёт0
610незачёт1
7
8Подходящих строк3
Формулы в ячейках
  • B2скопирована до B6=ЕСЛИ(A2>=60;"зачёт";"незачёт")
  • C2скопирована до C6=ЕСЛИ(И(A2>=10;A2<=20);1;0)
  • C8=СУММ(C2:C6)

Подходящая строка даёт 1, неподходящая — 0, поэтому сумма признаков =СУММ(C2:C6) равна числу подходящих строк. Границы 10 и 20 вошли в подсчёт: проверки «не меньше» и «не больше».

Условие по столбцам

Сложное условие удобнее разложить на столбцы: каждая проверка в своём столбце, итоговый признак — их И. Строка подходит, если сумма трёх чисел больше 10 и среди них есть пятёрка. Каждая проверка — в своём столбце: D — сумма, E — пятёрка, а в F итог =ЕСЛИ(И(D2;E2);1;0). Так видно, на каком условии строка перестала подходить.

E3=ИЛИ(A3=5;B3=5;C3=5)
ABCDEF
1Число 1Число 2Число 3Сумма > 10Есть 5Подходит
2256ИСТИНАИСТИНА1
3444ИСТИНАЛОЖЬ0
4152ЛОЖЬИСТИНА0
Формулы в ячейках
  • D2скопирована до D4=СУММ(A2:C2)>10
  • E2скопирована до E4=ИЛИ(A2=5;B2=5;C2=5)
  • F2скопирована до F4=ЕСЛИ(И(D2;E2);1;0)

В строке 3 видно сразу: сумма подходит, а пятёрки нет. Когда всё работает, столбцы можно объединить в одну формулу, но это не обязательно: несколько коротких проверок легче проверить, чем одну длинную.

Защита деления

Деление защищают выбором ветви ЕСЛИ, а не скрытием ошибки. Средняя цена штуки — сумма, делённая на число штук; при нуле штук делить нельзя. =ЕСЛИ(B2=0;"нет данных";A2/B2) при нуле даже не начинает делить, а выбирает текст.

D3=И(B3<>0;A3/B3>1)
ABCD
1СуммаШтукЕСЛИ выбирает ветвьИ вычисляет всё
2200540ИСТИНА
31200нет данных#ДЕЛ/0!
Формулы в ячейках
  • C2скопирована до C3=ЕСЛИ(B2=0;"нет данных";A2/B2)
  • D2скопирована до D3=И(B2<>0;A2/B2>1)

Столбец D проверяет то же через И — и в строке 3 получает #ДЕЛ/0!: И вычисляет все свои аргументы, даже если первый уже ложен. Поэтому от деления на ноль защищает только ЕСЛИ.

Тонкости:почему не ЕСЛИОШИБКА

=ЕСЛИОШИБКА(A2/B2;0) при любой ошибке возвращает 0. Ноль штук превратится в «среднюю цену 0», а заодно спрячутся неверная ссылка или текст вместо числа. Явная ветвь ЕСЛИ отделяет «нет данных» от настоящего нуля.

Итог

Проверка отвечает «да» или «нет», а ЕСЛИ превращает ответ в число, которое можно сложить. Вот что понадобится дальше.

  • СравнениеДаёт ИСТИНА или ЛОЖЬ; «больше» и «не меньше» различаются на границе.
  • И, ИЛИПромежуток — =И(A2>=10;A2<=20), а не цепочка 10<=A2<=20; «ровно одна» — =A2<>B2.
  • ПризнакЕСЛИ(условие;1;0); сумма признаков — число подходящих строк.
  • СтолбцыСложное условие — по проверке в столбце, итог — их И.
  • ДелениеЗащищают ветвью ЕСЛИ: И вычисляет все аргументы.

Проверьте себя

Ответь сначала сам, потом открой ответ.

Вопрос 1

В A2 находится балл. Запиши проверку принадлежности диапазону от 40 до 70 включительно. Возврати 1 для подходящего балла и 0 для остальных.

ОтветСкрыть ответ
Ответ

=ЕСЛИ(И(A2>=40;A2<=70);1;0). На значениях 40 и 70 результат равен 1, на 39 и 71 — 0.

Вопрос 2

В G2 и H2 находятся результаты двух логических проверок. Запиши условие, что истинна ровно одна из них.

ОтветСкрыть ответ
Ответ

=G2<>H2. Результаты должны различаться: один истинный, другой ложный. Если оба истинны, ответ ложный.

Вопрос 3

Запиши проверку «A2 лежит вне промежутка от 5 до 9 включительно» двумя способами: через ИЛИ и через НЕ.

ОтветСкрыть ответ
Ответ

=ИЛИ(A2<5;A2>9) и =НЕ(И(A2>=5;A2<=9)).

Вопрос 4

Что вернёт =ЕСЛИ(A2>B2;A2;B2) при A2 = 3 и B2 = 8? Какую известную функцию заменяет эта формула для двух ячеек?

ОтветСкрыть ответ
Ответ

8 — большее из двух, как =МАКС(A2;B2).

Вопрос 5

Почему =ЕСЛИОШИБКА(A2/B2;0) опасна как ответ на «средний чек», когда покупок не было?

ОтветСкрыть ответ
Ответ

При нуле покупок она покажет 0, будто средний чек равен нулю, и так же скроет ошибку в ссылке или текст вместо числа.

Практика

Для проверки ответов нужен JavaScript. Условия, подсказки и решения доступны ниже.

«Больше» на границе

Что вернёт =A2>10 при A2 = 10?

Введите ИСТИНА или ЛОЖЬ.

«Не меньше» на границе

Что вернёт =A2>=10 при A2 = 10?

Введите ИСТИНА или ЛОЖЬ.

Цепочка сравнений

Что вернёт =10<=A2<=20 при A2 = 15?

Введите ИСТИНА или ЛОЖЬ.

ИЛИ на границе

Что вернёт =ИЛИ(A2<10;A2>20) при A2 = 20?

Введите ИСТИНА или ЛОЖЬ.

Ровно одна из двух

В A2 — ИСТИНА, в B2 — ИСТИНА. Что вернёт =A2<>B2?

Введите ИСТИНА или ЛОЖЬ.

Признак по баллам

Баллы пяти учеников: 35, 40, 55, 70, 71. У скольких из них =ЕСЛИ(И(A2>=40;A2<=70);1;0) даст 1?

Введите число.

ЕСЛИ выбирает большее

Что вернёт =ЕСЛИ(A2>B2;A2;B2) при A2 = 3 и B2 = 8?

Введите число.

Защита деления

В A2 — 120, в B2 — 0. Что вернёт =ЕСЛИ(B2=0;"нет данных";A2/B2)?

Введите ответ так, как его покажет Excel.

Сделай сам: признак и итог

Составь лист: в A2:A6 — числа 12, 7, 20, 3, 15; в B — признак «число от 5 до 15 включительно», в B8 — количество подходящих чисел. Чему равно B8?

excel-zadachnik.xlsxЗадачник курса: лист «Задачи» — данные задачи и жёлтые ячейки для формул, лист «Ответы» — решения формуламиExcel · 61,7 КБ

Введите число.