К содержанию

Модуль 4 · Урок 4.1

Сортировка, фильтр, видимые строки

Что меняет сортировка, как работает фильтр и почему СУММ не видит фильтра.

6 задач

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

Разберём сортировку, фильтр и то, как сложить только видимые строки.

Сортировка

Сортируют всю таблицу целиком: строка — запись, и её поля переезжают вместе. Например, товары — по возрастанию цены, покупателей — по убыванию балла. Выдели всю таблицу вместе с заголовками и выбери столбец сортировки («Данные → Сортировка»).

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

B240
ABCDEFGH
1ИсходноВся таблица по ценеТолько столбец цен
2Тетрадь40Карандаш15Тетрадь15
3Ручка20Ручка20Ручка20
4Папка120Тетрадь40Папка40
5Карандаш15Папка120Карандаш120

В средней таблице каждая цена осталась при своём товаре. В правой отсортирован только столбец цен: тетрадь «подешевела» до 15, а карандаш стал стоить 120.

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

D2Казань
ABCDEFGH
1ИсходноГород, затем балл ↓Балл ↓, затем город
2Москва72Казань85Омск90
3Казань85Казань64Казань85
4Москва60Москва72Москва72
5Казань64Москва60Казань64
6Омск90Омск90Москва60

В средней таблице города идут группами, а баллы упорядочены только внутри своего города: 85 и 64 у Казани, 72 и 60 у Москвы. В правой главный порядок — баллы, и города перемешаны; город решал бы только при равных баллах.

Сортировка записей сверху вниз не равна сортировке чисел внутри каждой строки. В задании 9 обычно удобнее найти минимум, максимум и нужные порядковые элементы формулами, чем пытаться отдельно сортировать тысячи строк.

Фильтр

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

Окно Excel: вкладка «Данные», кнопка «Фильтр» нажата, открыт список фильтра столбца «Город» с галочкой только у «Москва»; метки 1 и 2
Кнопка со стрелкой в заголовке (1) открывает список значений столбца; оставлена галочка только у «Москва» (2).

Условия в разных столбцах обычно применяются совместно: город МоскваИ балл не меньше 60. Несколько отмеченных значений внутри одного столбца — любое из них: Москва ИЛИ Казань. Если часть строк неожиданно исчезла, проверь значки фильтра в заголовках.

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

Сумма видимых строк

СУММ складывает и скрытые фильтром строки; сумму видимых считает ПРОМЕЖУТОЧНЫЕ.ИТОГИ. =СУММ(D2:D100) не смотрит, какие строки сейчас спрятаны, и СУММЕСЛИ тоже проверяет только свой критерий. Поэтому сумма всего столбца после фильтра — не сумма отобранных записей. Сумму видимых строк даёт

=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(109;D2:D100)

Первый аргумент выбирает операцию: 109 — сумма без скрытых строк. На листе ниже включён фильтр «город — Москва»: строки 3 и 5 скрыты, номера строк идут с пропусками, как в Excel.

D8=СУММ(D2:D6)
ABCD
1IDГородСумма
21Москва100
43Москва150
65Москва50
7
8СУММ800
9видимые строки300
10Москва по условию300
11видимых записей3
Формулы в ячейках
  • D8=СУММ(D2:D6)
  • D9=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(109;D2:D6)
  • D10=СУММЕСЛИ(B2:B6;"Москва";D2:D6)
  • D11=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103;A2:A6)

Видимая сумма и СУММЕСЛИ совпали, но по разным причинам: первая зависит от фильтра, включённого сейчас, вторая хранит условие в самой формуле. Сбрось фильтр — D9 станет 800, а D10 останется 300.

Строка состояния внизу окна Excel тоже считает только видимые ячейки выделения: сумму, среднее и количество.

Окно Excel после фильтра «Москва»: видны строки 2, 4 и 6 с синими номерами, выделены суммы 100, 150 и 50, в строке состояния «Среднее: 100», «Количество: 3», «Сумма: 300»; метки 1 и 2
Синие номера строк с пропусками (1) — признак фильтра. Строка состояния (2) сложила только видимое: 300.

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

Тонкости:коды 9, 102, 103 и скрытые вручную строки

Код 9 тоже суммирует без отфильтрованных строк, но строки, скрытые вручную, оставляет. Здесь строка 3 скрыта фильтром, а строка 5 — вручную: код 9 даёт 800 − 200 = 600, код 109 — 800 − 200 − 300 = 300.

D8=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;D2:D6)
ABCD
1IDГородСумма
21Москва100
43Москва150
65Москва50
7
8код 9600
9код 109300
Формулы в ячейках
  • D8=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;D2:D6)
  • D9=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(109;D2:D6)

Код 102 считает видимые числа, 103 — видимые непустые ячейки. Для количества записей бери столбец, заполненный в каждой строке, например ID — код записи (строка 11 листа «Фильтр»): столбец с пропусками даст меньше записей, чем их есть.

Итог

Сортировка и фильтр помогают увидеть данные, а ответ записывают формулой. Вот что понадобится дальше.

  • СортировкаВсю таблицу с заголовками; порядок уровней: сначала группа, внутри — порядок.
  • ФильтрПрячет строки; разные столбцы — И, значения одного столбца — ИЛИ.
  • ВидимоеСУММ и СУММЕСЛИ фильтра не видят; ПРОМЕЖУТОЧНЫЕ.ИТОГИ(109;…) — только видимое.
  • ОтветФормулой; строка состояния — только для быстрой проверки.

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

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

Вопрос 1

В отфильтрованной таблице суммы находятся в D2:D100. Как сложить только видимые строки, исключив также вручную скрытые?

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

=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(109;D2:D100). Обычная СУММ не учитывает отбор видимых строк.

Вопрос 2

Как посчитать число видимых записей, если в столбце «Комментарий» есть пустые ячейки, а в столбце ID — нет?

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

=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103;…) по столбцу ID: он заполнен в каждой записи.

Вопрос 3

Чем отличается сортировка «город, затем балл» от «балл, затем город»?

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

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

Вопрос 4

Таблицу отфильтровали по Москве и забыли сбросить фильтр. Затем включили фильтр «балл ≥ 80». Какие строки видны?

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

Только московские строки с баллом не меньше 80: условия разных столбцов действуют вместе.

Вопрос 5

Почему ответ задачи надёжнее записать формулой СУММЕСЛИ, чем отфильтровать таблицу и посмотреть строку состояния?

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

Формула сохраняет условие и пересчитывается; строка состояния зависит от текущего выделения и фильтра.

Вопрос 6

Можно ли отсортировать числа внутри каждой строки, чтобы найти максимум строки? Что для этого удобнее?

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

Сортировать строки по отдельности неудобно и опасно для данных; максимум строки даёт =МАКС(A2:F2), k-е по величине — НАИБОЛЬШИЙ.

Практика

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

СУММ при фильтре

В таблице 6 строк с суммами 10, 20, 30, 40, 50, 60. Фильтр скрыл строки с 20 и 50, вручную скрыта строка с 60. Что вернёт СУММ по всем шести ячейкам?

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

Код 109

В таблице 6 строк с суммами 10, 20, 30, 40, 50, 60. Фильтр скрыл строки с 20 и 50, вручную скрыта строка с 60. Что вернёт ПРОМЕЖУТОЧНЫЕ.ИТОГИ(109;…) по этим ячейкам?

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

Код 9

В таблице 6 строк с суммами 10, 20, 30, 40, 50, 60. Фильтр скрыл строки с 20 и 50, вручную скрыта строка с 60. Что вернёт ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;…)?

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

Строка состояния

После фильтра «город — Москва» в столбце сумм видны 100, 150 и 50. Выделили видимые ячейки столбца. Что покажет «Сумма» в строке состояния?

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

Два фильтра сразу

В таблице строки: Москва 72, Москва 85, Москва 90, Казань 88. Фильтр «город — Москва» не сбросили и добавили фильтр «балл не меньше 80». Сколько строк видно?

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

Сортировка одного столбца

Исходно: Тетрадь 40, Ручка 20, Папка 120, Карандаш 15. Отсортировали по возрастанию только столбец цен, названия остались на месте. Какая цена теперь стоит рядом с тетрадью?

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