К содержанию

Модуль 5 · Урок 5.1

От условия к таблице вычислений

Один объект — одна строка, единица ответа, проверка на маленьком наборе, ошибки с сообщением и без.

9 задач

Сколько покупок после скидки 10% стоят больше 100 рублей и на какую сумму? Все нужные формулы ты уже знаешь: стоимость, скидку со знаком $, признак через ЕСЛИ, СУММЕСЛИ. Осталось собрать их в таблицу, которой можно верить. Условие задачи превращается в таблицу вычислений так: один объект — одна строка, каждая проверка — свой столбец, ответ — итог по столбцу признаков, и каждый шаг проверяется на маленьком наборе.

Урок собирает в один порядок действий формулы и копирование (модуль 2), проверки и подсчёт (модуль 3), отбор и поиск (модуль 4). В конце таблица покупок ответит на вопрос выше.

Один объект — одна строка

Начни с одного объекта: что нужно вычислить для одной строки и как потом объединить строки. В таблице покупок объект — покупка, в задаче со списком чисел — строка чисел. В задании 18 ЕГЭ это клетка поля, по которому ходит Робот, в задании 22 — процесс. Сначала выясни, что нужно для одного объекта, затем — как объединить результаты всех.

Например, «найти количество строк, где максимум меньше суммы остальных» распадается на четыре шага: найти сумму строки, найти её максимум, сравнить максимум с разностью суммы и максимума, сосчитать истинные сравнения. Получается цепочка: исходные числа → промежуточные величины → проверка → общий ответ. Каждое звено стоит в своём столбце и проверяется отдельно.

G5=F5<E5-F5
ABCDEFGH
11-е2-е3-е4-еСуммаМаксимумПроверкаПризнак
23456186ИСТИНА1
31239159ЛОЖЬ0
45519209ИСТИНА1
52226126ЛОЖЬ0
6
7Строк2
Формулы в ячейках
  • E2скопирована до E5=СУММ(A2:D2)
  • F2скопирована до F5=МАКС(A2:D2)
  • G2скопирована до G5=F2<E2-F2
  • H2скопирована до H5=ЕСЛИ(G2;1;0)
  • H7=СУММ(H2:H5)

Строка 5 — пограничная: максимум 6 равен сумме остальных 2 + 2 + 2, а условие строгое, поэтому в G5 — ЛОЖЬ.

Единица ответа

Величина, проверка и подсчёт — три разных уровня, а какую функцию взять для ответа, решает его единица. На листе «Цепочка» сумма в E — величина (число), сравнение в G — проверка (ИСТИНА или ЛОЖЬ), итог в H7 — подсчёт строк, где проверка истинна. Перепутать уровни — значит получить формулу, которая считает не то.

Так же различны три вопроса об одних и тех же продажах: «сколько штук продано», «сколько было продаж» и «сколько разных товаров продано». Прежде чем выбрать функцию, назови единицу ответа: штуки, записи или разные значения.

C4=ЕСЛИ(СЧЁТЕСЛИ($A$2:A4;A4)=1;1;0)
ABC
1ТоварШтукВпервые
2Тетрадь51
3Ручка31
4Тетрадь20
5Папка11
6Ручка40
7
8Продано штук15
9Продаж5
10Разных товаров3
Формулы в ячейках
  • B8=СУММ(B2:B6)
  • B9=СЧЁТЗ(A2:A6)
  • B10=СУММ(C2:C6)
  • C2скопирована до C6=ЕСЛИ(СЧЁТЕСЛИ($A$2:A2;A2)=1;1;0)

Штуки — сумма столбца B, продажи — число записей, разные товары — сумма столбца C. В C стоит 1, только когда товар встретился впервые: диапазон $A$2:A2 растёт вниз вместе с формулой, как накопление в уроке 4.3, и СЧЁТЕСЛИ считает товар только среди строк выше.

Проверка на малом наборе

Логику проверяют на 3–6 строках с известным ответом: подходящей, неподходящей и пограничной. Строки 2–5 листа «Цепочка» — как раз такой набор: строки 2 и 4 подходят, строка 3 нет, строка 5 пограничная. Ответ для них можно посчитать в уме и сравнить с таблицей. Для условия «строго больше» обязательно проверь равенство, для повторений — одну пару, две пары и тройное повторение.

Только когда ручной и табличный ответы совпали, копируй формулы на весь файл. Тысячи строк Excel посчитает быстро, но неверную логику это не исправит.

Сообщения об ошибках

Сообщение об ошибке подсказывает, где искать причину. Каждое сообщение ниже получено настоящей формулой из столбца B — выбери ячейку, чтобы увидеть её. В столбце C — где искать причину.

B2=A2/(A3-9)
ABC
1ДанныеРезультатГде искать причину
27#ДЕЛ/0!Делитель: на что делим, есть ли числа
39#ЗНАЧ!Тип данных: текст вместо числа
4нет#ИМЯ?Имя функции: опечатка или язык
5#Н/ДКлюч: его нет в справочнике
6#ССЫЛКА!Адрес или номер столбца вне диапазона
7#ЧИСЛО!Число вне допустимого: мест больше, чем чисел
Формулы в ячейках
  • B2=A2/(A3-9)
  • B3=A4+1
  • B4=СУММА(A2:A3)
  • B5=ВПР(5;A2:A3;1;0)
  • B6=ВПР(7;A2:A3;3;0)
  • B7=НАИБОЛЬШИЙ(A2:A3;5)

#### — не ошибка формулы: число или дата не помещается в столбец. Расширь его.

Тонкости:английские имена и формула вместо результата

В английском Excel сообщения называются #DIV/0!, #VALUE!, #NAME?, #N/A, #REF! и #NUM!.

Если в ячейке видно =A2+B2 вместо результата, проверь три вещи: нет ли перед формулой апострофа, не задан ли ячейке текстовый формат до ввода, не включён ли показ формул для всего листа. После смены текстового формата формулу нужно подтвердить заново: F2 и Enter.

Ошибки без сообщения

Самые опасные ошибки не дают сообщения: ответ выглядит правдоподобно. Их ловят три проверки. Сумма могла пропустить первую строку, формула — не дойти до последней, справочник — съехать при копировании, «не меньше» — превратиться в «больше», а забытый фильтр — оставить лишнее ограничение.

Концы

Проверь первую, среднюю и последнюю строки: в каждой формула ссылается на свою строку, а последняя строка данных не осталась без формулы. Отдельно возьми пограничную строку и строку с необычными повторениями.

Второй способ

Посчитай то же другим путём. Признаки дали 37 — сравни с СЧЁТЕСЛИМН по тем же условиям или отфильтруй строки с признаком 1 и посмотри число строк (урок 4.1).

Та же формула, повторённая в соседнем столбце, — не проверка: она повторит и ошибку. Меняй способ рассуждения.

Масштаб

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

Такие оценки не доказывают, что ответ верен, но быстро ловят грубые ошибки. Единица ответа тоже должна совпасть с вопросом: строки, рубли, миллисекунды.

Таблица покупок

Таблица покупок отвечает на вопрос урока, и второй способ даёт те же числа. Один объект — покупка. Для неё нужны стоимость (D), цена после скидки (E) и признак «больше 100» (F). Ответ в строке 7: сумма признаков — сколько покупок, СУММЕСЛИ по признаку — на какую сумму. Строка 8 — проверка без признаков: СЧЁТЕСЛИ и СУММЕСЛИ прямо по столбцу E.

F2=ЕСЛИ(E2>100;1;0)
ABCDEFG
1ТоварЦенаКоличествоСтоимостьПосле скидки> 100Скидка
2Тетрадь405200180110%
3Ручка20360540
4Папка12022402161
5Карандаш15460540
6
7Ответ3962
8Проверка3962
Формулы в ячейках
  • D2скопирована до D5=B2*C2
  • E2скопирована до E5=D2*(1-$G$2)
  • E7=СУММЕСЛИ(F2:F5;1;E2:E5)
  • E8=СУММЕСЛИ(E2:E5;">100")
  • F2скопирована до F5=ЕСЛИ(E2>100;1;0)
  • F7=СУММ(F2:F5)
  • F8=СЧЁТЕСЛИ(E2:E5;">100")

Две покупки — тетради и папки — на 396 рублей, и проверка даёт то же. Поставь в G2 скидку 50%: тетради будут стоить ровно 100 рублей, строгое «больше 100» их не возьмёт, и ответ с проверкой изменятся одинаково.

Итог

Условие задачи стало таблицей: объект в строке, проверки в столбцах, ответ в итоге — и второй способ, который его подтверждает.

  • ОбъектОдна строка; каждая проверка — свой столбец, ответ — итог по признакам.
  • Единица ответаШтуки, записи или разные значения — от неё зависит функция.
  • Малый наборПодходящая, неподходящая и пограничная строки с заранее известным ответом.
  • Сообщение#ДЕЛ/0!, #ЗНАЧ!, #Н/Д и другие подсказывают, где искать причину.
  • Без сообщенияКонцы диапазона, второй способ, масштаб ответа.

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

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

Вопрос 1

Строка из пяти чисел A2:E2 подходит, если её сумма чётна, а максимум встречается один раз. Какие столбцы понадобятся?

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

Сумма в F2: =СУММ(A2:E2). Чётность в G2: =ОСТАТ(F2;2)=0. Единственный максимум в H2: =СЧЁТЕСЛИ(A2:E2;МАКС(A2:E2))=1. Признак в I2: =ЕСЛИ(И(G2;H2);1;0). Ответ — сумма признаков.

Вопрос 2

В файле 5000 строк, а подходящих получилось 5200. Что пошло не так?

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

Подходящих строк не может быть больше, чем строк в файле: признаки посчитаны за концом данных или в подсчёт попали строки заголовков и итогов.

Вопрос 3

Признаки дали 37, а СЧЁТЕСЛИМН по тем же условиям — 36. Что проверить первым?

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

Пограничную строку и концы диапазонов: одно условие записано по-разному («больше» и «не меньше») или формула признака не дошла до последней строки.

Вопрос 4

Какое сообщение покажет =ВПР(10;A2:B5;3;0), если 10 есть в столбце A? А =СРЗНАЧ(A2:A5), если в A2:A5 только текст?

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

#ССЫЛКА!: в диапазоне два столбца, а нужен третий. #ДЕЛ/0!: чисел нет, делить не на что.

Вопрос 5

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

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

Первое — сумма количеств, второе — число записей, третье — число первых появлений товара.

Практика

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

Скидка 50%: сколько покупок

В таблице покупок урока (лист «База») поставь в G2 скидку 50%. Сколько покупок теперь стоят после скидки больше 100 рублей?

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

Скидка 50%: на какую сумму

В таблице покупок урока (лист «База») поставь в G2 скидку 50%. На какую сумму после скидки куплено то, что стоит больше 100 рублей?

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

Максимум меньше остальных

Строки чисел: 3, 4, 5, 6; 1, 2, 3, 9; 5, 5, 1, 9; 2, 2, 2, 6; 4, 4, 4, 4. В скольких строках максимум меньше суммы остальных чисел строки?

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

Единица ответа: штуки

Продажи за день: тетрадь 5 штук, ручка 3, тетрадь 2, папка 1, ручка 4, тетрадь 1. Сколько штук продано?

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

Единица ответа: разные товары

Продажи за день: тетрадь 5 штук, ручка 3, тетрадь 2, папка 1, ручка 4, тетрадь 1. Сколько разных товаров продано?

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

Место больше, чем чисел

В A2:A4 стоят числа 7, 3 и 9. Что покажет ячейка с формулой =НАИБОЛЬШИЙ(A2:A4;4)?

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

Пограничная строка

Строка подходит, если сумма её чисел не меньше 20. Строки: 5, 7, 8; 10, 9, 1; 6, 6, 7; 2, 3, 4. Сколько строк подходят?

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

Баллы не меньше 60: два способа

Составь лист: в A2:A7 — баллы 45, 80, 62, 80, 30, 95. Посчитай двумя способами — признаками и СЧЁТЕСЛИ, — сколько баллов не меньше 60.

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

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

Баллы не меньше 60: среднее

В A2:A7 — баллы 45, 80, 62, 80, 30, 95. Найди среднее баллов не меньше 60.

Введите число; дробную часть — через запятую.