Модуль 5 · Урок 5.1
От условия к таблице вычислений
Один объект — одна строка, единица ответа, проверка на маленьком наборе, ошибки с сообщением и без.
Сколько покупок после скидки 10% стоят больше 100 рублей и на какую сумму? Все нужные формулы ты уже знаешь: стоимость, скидку со знаком $, признак через ЕСЛИ, СУММЕСЛИ. Осталось собрать их в таблицу, которой можно верить. Условие задачи превращается в таблицу вычислений так: один объект — одна строка, каждая проверка — свой столбец, ответ — итог по столбцу признаков, и каждый шаг проверяется на маленьком наборе.
Урок собирает в один порядок действий формулы и копирование (модуль 2), проверки и подсчёт (модуль 3), отбор и поиск (модуль 4). В конце таблица покупок ответит на вопрос выше.
Один объект — одна строка
Начни с одного объекта: что нужно вычислить для одной строки и как потом объединить строки. В таблице покупок объект — покупка, в задаче со списком чисел — строка чисел. В задании 18 ЕГЭ это клетка поля, по которому ходит Робот, в задании 22 — процесс. Сначала выясни, что нужно для одного объекта, затем — как объединить результаты всех.
Например, «найти количество строк, где максимум меньше суммы остальных» распадается на четыре шага: найти сумму строки, найти её максимум, сравнить максимум с разностью суммы и максимума, сосчитать истинные сравнения. Получается цепочка: исходные числа → промежуточные величины → проверка → общий ответ. Каждое звено стоит в своём столбце и проверяется отдельно.
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 1 | 1-е | 2-е | 3-е | 4-е | Сумма | Максимум | Проверка | Признак |
| 2 | 3 | 4 | 5 | 6 | 18 | 6 | ИСТИНА | 1 |
| 3 | 1 | 2 | 3 | 9 | 15 | 9 | ЛОЖЬ | 0 |
| 4 | 5 | 5 | 1 | 9 | 20 | 9 | ИСТИНА | 1 |
| 5 | 2 | 2 | 2 | 6 | 12 | 6 | ЛОЖЬ | 0 |
| 6 | ||||||||
| 7 | Строк | 2 |
E2скопирована до E5=СУММ(A2:D2)F2скопирована до F5=МАКС(A2:D2)G2скопирована до G5=F2<E2-F2H2скопирована до H5=ЕСЛИ(G2;1; 0) H7=СУММ(H2:H5)
Строка 5 — пограничная: максимум 6 равен сумме остальных 2 + 2 + 2, а условие строгое, поэтому в G5 — ЛОЖЬ.
Единица ответа
Величина, проверка и подсчёт — три разных уровня, а какую функцию взять для ответа, решает его единица. На листе «Цепочка» сумма в E — величина (число), сравнение в G — проверка (ИСТИНА или ЛОЖЬ), итог в H7 — подсчёт строк, где проверка истинна. Перепутать уровни — значит получить формулу, которая считает не то.
Так же различны три вопроса об одних и тех же продажах: «сколько штук продано», «сколько было продаж» и «сколько разных товаров продано». Прежде чем выбрать функцию, назови единицу ответа: штуки, записи или разные значения.
| A | B | C | |
|---|---|---|---|
| 1 | Товар | Штук | Впервые |
| 2 | Тетрадь | 5 | 1 |
| 3 | Ручка | 3 | 1 |
| 4 | Тетрадь | 2 | 0 |
| 5 | Папка | 1 | 1 |
| 6 | Ручка | 4 | 0 |
| 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 — где искать причину.
| A | B | C | |
|---|---|---|---|
| 1 | Данные | Результат | Где искать причину |
| 2 | 7 | #ДЕЛ/0! | Делитель: на что делим, есть ли числа |
| 3 | 9 | #ЗНАЧ! | Тип данных: текст вместо числа |
| 4 | нет | #ИМЯ? | Имя функции: опечатка или язык |
| 5 | #Н/Д | Ключ: его нет в справочнике | |
| 6 | #ССЫЛКА! | Адрес или номер столбца вне диапазона | |
| 7 | #ЧИСЛО! | Число вне допустимого: мест больше, чем чисел |
B2=A2/(A3-9)B3=A4+1B4=СУММА(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.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Товар | Цена | Количество | Стоимость | После скидки | > 100 | Скидка |
| 2 | Тетрадь | 40 | 5 | 200 | 180 | 1 | 10% |
| 3 | Ручка | 20 | 3 | 60 | 54 | 0 | |
| 4 | Папка | 120 | 2 | 240 | 216 | 1 | |
| 5 | Карандаш | 15 | 4 | 60 | 54 | 0 | |
| 6 | |||||||
| 7 | Ответ | 396 | 2 | ||||
| 8 | Проверка | 396 | 2 |
D2скопирована до D5=B2*C2E2скопирована до 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!,#ЗНАЧ!,#Н/Ди другие подсказывают, где искать причину. - Без сообщенияКонцы диапазона, второй способ, масштаб ответа.
Проверьте себя
Ответь сначала сам, потом открой ответ.
Строка из пяти чисел A2:E2 подходит, если её сумма чётна, а максимум встречается один раз. Какие столбцы понадобятся?
ОтветСкрыть ответ
Сумма в F2: =СУММ(A2:E2). Чётность в G2: =ОСТАТ(F2;. Единственный максимум в H2: =СЧЁТЕСЛИ(A2:E2;. Признак в I2: =ЕСЛИ(И(G2;. Ответ — сумма признаков.
В файле 5000 строк, а подходящих получилось 5200. Что пошло не так?
ОтветСкрыть ответ
Подходящих строк не может быть больше, чем строк в файле: признаки посчитаны за концом данных или в подсчёт попали строки заголовков и итогов.
Признаки дали 37, а СЧЁТЕСЛИМН по тем же условиям — 36. Что проверить первым?
ОтветСкрыть ответ
Пограничную строку и концы диапазонов: одно условие записано по-разному («больше» и «не меньше») или формула признака не дошла до последней строки.
Какое сообщение покажет =ВПР(10;, если 10 есть в столбце A? А =СРЗНАЧ(A2:A5), если в A2:A5 только текст?
ОтветСкрыть ответ
#ССЫЛКА!: в диапазоне два столбца, а нужен третий. #ДЕЛ/0!: чисел нет, делить не на что.
Чем различаются ответы на вопросы «сколько штук продано», «сколько было продаж» и «сколько разных товаров продано»?
ОтветСкрыть ответ
Первое — сумма количеств, второе — число записей, третье — число первых появлений товара.
Практика
Для проверки ответов нужен JavaScript. Условия, подсказки и решения доступны ниже.
Скидка 50%: сколько покупок
В таблице покупок урока (лист «База») поставь в G2 скидку 50%. Сколько покупок теперь стоят после скидки больше 100 рублей?
Введите число.
Подсказка
Цена после скидки — половина стоимости. Строгое «больше 100» не берёт ровно 100.
Разбор
После скидки: тетради 100, ручки 30, папки 120, карандаши 30. Больше 100 — только папки.
Ответ: 1
Скидка 50%: на какую сумму
В таблице покупок урока (лист «База») поставь в G2 скидку 50%. На какую сумму после скидки куплено то, что стоит больше 100 рублей?
Введите число.
Подсказка
Сложи цены после скидки только у покупок с признаком 1.
Разбор
Больше 100 после скидки стоят только папки: 240 × 0,5 = 120. Тетради стоят ровно 100 и не входят.
Ответ: 120
Максимум меньше остальных
Строки чисел: 3, 4, 5, 6; 1, 2, 3, 9; 5, 5, 1, 9; 2, 2, 2, 6; 4, 4, 4, 4. В скольких строках максимум меньше суммы остальных чисел строки?
Введите число.
Подсказка
Для каждой строки: сумма, максимум и сравнение максимума с разностью суммы и максимума. Равенство не подходит.
Разбор
Сравнения: 6 < 12 — да; 9 < 6 — нет; 9 < 11 — да; 6 < 6 — нет, условие строгое; 4 < 12 — да. Подходят три строки.
Ответ: 3
Единица ответа: штуки
Продажи за день: тетрадь 5 штук, ручка 3, тетрадь 2, папка 1, ручка 4, тетрадь 1. Сколько штук продано?
Введите число.
Подсказка
Единица ответа — штуки: нужна сумма количеств, а не число записей.
Разбор
5 + 3 + 2 + 1 + 4 + 1 = 16.
Ответ: 16
Единица ответа: разные товары
Продажи за день: тетрадь 5 штук, ручка 3, тетрадь 2, папка 1, ручка 4, тетрадь 1. Сколько разных товаров продано?
Введите число.
Подсказка
Единица ответа — разные значения: каждый товар считается один раз, при первом появлении.
Разбор
Впервые встречаются тетрадь, ручка и папка; повторы тетради и ручки не считаются.
Ответ: 3
Место больше, чем чисел
В A2:A4 стоят числа 7, 3 и 9. Что покажет ячейка с формулой =НАИБОЛЬШИЙ(A2:A4;?
Введите ответ так, как его покажет Excel.
Подсказка
Четвёртого по величине числа среди трёх нет — такой параметр недопустим.
Разбор
Мест всего три, а запрошено четвёртое: недопустимый числовой параметр, Excel показывает #ЧИСЛО!.
Ответ: #ЧИСЛО!
Пограничная строка
Строка подходит, если сумма её чисел не меньше 20. Строки: 5, 7, 8; 10, 9, 1; 6, 6, 7; 2, 3, 4. Сколько строк подходят?
Введите число.
Подсказка
«Не меньше 20» включает и 20: проверь строки, сумма которых ровно 20.
Разбор
Суммы: 20, 20, 19, 9. Не меньше 20 — первые две; 19 не подходит.
Ответ: 2
Баллы не меньше 60: два способа
Составь лист: в A2:A7 — баллы 45, 80, 62, 80, 30, 95. Посчитай двумя способами — признаками и СЧЁТЕСЛИ, — сколько баллов не меньше 60.
Введите число.
Подсказка
Признак =ЕСЛИ(A2>=60; и сумма признаков; проверка — =СЧЁТЕСЛИ(A2:A7;. Ответы должны совпасть.
Разбор
Не меньше 60 — баллы 80, 62, 80 и 95. Признаки дают 4, СЧЁТЕСЛИ — тоже 4.
Ответ: 4
Баллы не меньше 60: среднее
В A2:A7 — баллы 45, 80, 62, 80, 30, 95. Найди среднее баллов не меньше 60.
Введите число; дробную часть — через запятую.
Подсказка
Сумма подходящих баллов, делённая на их количество, — или СРЗНАЧЕСЛИ(A2:A7;">=60").
Разбор
(80 + 62 + 80 + 95) / 4 = 317 / 4 = 79,25.
Ответ: 79,25