Функция SMALL в Google Sheets — как найти n‑й наименьший элемент
Функция SMALL возвращает n‑й наименьший элемент в диапазоне. Используйте n=1 для минимального значения, n=2 для второго минимального и т. д. SMALL удобно комбинировать с ROW, FILTER или ARRAYFORMULA для сортировки, отбора по условию или поиска ранга в наборе данных.
Что делает SMALL и когда её применять
Функция SMALL ищет n‑й наименьший числовой элемент в диапазоне. Примеры ситуаций:
- Найти минимальное время, цену или значение (n=1).
- Найти второе, третье и т. д. по величине (например, второй по быстродействию гоночный круг).
- Построить упорядоченный список от наименьшего к большему, если комбинировать с ROW.
Когда применять: если нужен «порядковый» минимум (order statistic), а не просто абсолютный минимум.
Быстрая терминология
- n — порядок (ранг) элемента в сортировке по возрастанию.
- Диапазон — набор ячеек, в котором происходит поиск.
- Пустые и нечисловые ячейки игнорируются.
Синтаксис
=SMALL(data, n)- data — диапазон или массив с числовыми значениями.
- n — порядковый номер по возрастанию (целое число от 1 до количества чисел в диапазоне).
Важно: если n больше количества чисел, функция вернёт ошибку #NUM!
Примеры использования
Простое применение
Шаги для получения минимального значения в диапазоне A2:B11:
- Выберите пустую ячейку, например C2.
- Введите формулу:
=SMALL(A2:B11,1) - Нажмите Enter.
Изображение примера данных:
Если заменить 1 на 2, получите второй по величине элемент и т. д.
Сортировка с помощью SMALL и ROW
SMALL можно использовать как часть формулы для сортировки диапазона от наименьшего к наибольшему. Пример:
=SMALL($B$2:$B$11, ROW()-1)Пояснение:
- ROW() возвращает номер строки. При копировании вниз значение n увеличивается автоматически.
- Абсолютные ссылки $B$2:$B$11 фиксируют сам диапазон.
- Формула в верхней строке должна считаться таким образом, чтобы ROW()-1 давал 1 в первой строке результата.
Альтернатива: использовать функцию SORT для сортировки целого диапазона, если нужен весь набор строк, а не только одно поле.
Вложение SMALL в IF и ARRAYFORMULA
Чтобы выбрать n‑й наименьший элемент по условию, комбинируйте SMALL с IF и ARRAYFORMULA. Пример: найти минимальное время из столбца C только для тех строк, где в столбце B значение не меньше 2:
=ARRAYFORMULA(SMALL(IF(B2:B9>=2,C2:C9),1))Пояснение:
- IF(B2:B9>=2,C2:C9) создаёт массив значений столбца C только для строк, где условие выполняется; в остальных местах — FALSE.
- SMALL игнорирует логические FALSE и берёт минимальное из чисел.
- ARRAYFORMULA позволяет формуле работать с массивами без ручного копирования.
Частые ошибки и способы их устранения
Нечисловые значения
SMALL игнорирует текст и пустые ячейки. Если в диапазоне нет чисел, вы получите #NUM!:
Как исправить:
- Проверьте формат ячеек: числа должны быть числовыми, не текстовыми.
- Используйте VALUE или TO_PURE_NUMBER для конвертации таких строк в числа.
- Примените FILTER, чтобы отбросить нечисловые значения:
=SMALL(FILTER(A2:A11, ISNUMBER(A2:A11)), 1)
n выходит за диапазон
Ошибка #NUM! появляется, когда n больше количества чисел в диапазоне:
Как защититься:
- Используйте проверку:
=IF(n>COUNT(A2:A11),"n вне диапазона",SMALL(A2:A11,n)).
Смешанные типы данных
SMALL ожидает однородный набор чисел. Если диапазон содержит даты или интервалы в смешанном формате, приведите их к единому типу.
Альтернативы и сопоставление подходов
- MIN — возвращает только абсолютный минимум. Удобно, если нужно только наименьшее значение.
=MIN(A2:A11)- SORT — сортирует весь диапазон строк по ключу. Используйте, если нужно сохранить связь между столбцами:
=SORT(A2:B11, 1, TRUE)- FILTER + SMALL — надёжный способ исключить ненужные значения перед поиском:
=SMALL(FILTER(C2:C100, D2:D100="Продано"), 2)- INDEX + MATCH или INDEX + SORTN — применяйте, если нужно вернуть сопутствующие столбцы по рангу.
Сравнение:
- SMALL удобен для вычисления порядковых минимумов в одном столбце.
- SORT и SORTN лучше для упорядочивания строк.
- FILTER помогает добавлять условия отбора.
Ментальные модели
- Думайте о SMALL как о «выборе ранга» в упорядоченной по возрастанию последовательности.
- Представляйте n как «место на подиуме» — 1 место = золото, 2 место = серебро и т. д.
Фактбокс — ключевые числа и поведение
- Минимальный допустимый n = 1.
- Максимальный допустимый n = количество чисел в диапазоне.
- Ошибка при отсутствии чисел или при слишком большом n = #NUM!.
- SMALL игнорирует текст и пустые ячейки.
Методика выбора подхода (мини-алгоритм)
- Нужно ли сортировать целые строки? Если да — используйте SORT.
- Нужен только n‑й минимум по одному столбцу? Используйте SMALL.
- Есть фильтр по условию? Примените FILTER или IF + ARRAYFORMULA перед SMALL.
- Хотите получить связанные значения из других столбцов? Комбинируйте INDEX или VLOOKUP после определения ранга.
Шаблоны и сниппеты (полезные формулы)
- Минимум:
=SMALL(A2:A100,1) - Второй минимум:
=SMALL(A2:A100,2) - n‑й минимум с защитой от ошибки:
=IF(n>COUNT(A2:A100),"n вне диапазона",SMALL(A2:A100,n))- n‑й минимум с условием:
=SMALL(FILTER(C2:C100, E2:E100="Да"), n)- Получить всю строку, соответствующую n‑му минимуму (пример с INDEX и MATCH):
=INDEX(A2:D100, MATCH(SMALL(B2:B100, n), B2:B100, 0), 0)Замечание: MATCH найдёт первое вхождение значения. При дубликатах ранжирование по возрастанию может вернуть одну из одинаковых позиций.
Критерии приёмки
- Функция возвращает корректный n‑й по величине результат для различных n в границах количества чисел.
- При отсутствии чисел возвращается #NUM! или контролируемое сообщение при наличии проверки.
- Комбинации с FILTER и IF дают ожидаемый результат при различных наборах данных.
- Формулы корректно обрабатывают дубликаты (поведение задокументировано).
Проверочные сценарии
- Набор из 10 чисел, n=1..10 — ожидаемые значения от наименьшего к наибольшему.
- Диапазон с текстовыми значениями и числами — числовые значения корректно выбираются.
- n > count — проверка обработки ошибки или пользовательского сообщения.
- Условный отбор через FILTER — SMALL возвращает минимум среди отфильтрованных значений.
Роль‑ориентированные чек‑листы
Аналитик:
- Проверить типы данных в диапазоне.
- Тестировать на дубликатах и пропусках.
- Добавить защиту от выхода n за пределы.
Разработчик отчёта:
- Использовать абсолютные ссылки для автозаполнения.
- Документировать поведение при дубликатах.
Менеджер:
- Убедиться, что отчёт отображает ожидаемые ранги.
- Внедрить проверки на ошибки и понятные сообщения для пользователей.
Когда SMALL не подойдёт (примеры)
- Нужно вернуть строку целиком в отсортированном виде по нескольким ключам — лучше SORT.
- Нужны медиана или квантиль — используйте MEDIAN или PERCENTILE.
- При большом объёме данных и частых запросах рангов лучше предобработать данные в отдельном листе или запросом BigQuery.
Советы по производительности
- Ограничивайте диапазоны точными границами, а не целыми столбцами.
- Для больших массивов используйте FILTER сначала, чтобы уменьшить объём входных данных.
Заключение
Функция SMALL — мощный инструмент для задач ранжирования в Google Sheets. Она проста в применении и гибко компонуется с ROW, FILTER, INDEX и ARRAYFORMULA. Правильный выбор комбинации функций помогает решать типичные задачи аналитики без сложного скриптинга.

Важно: практика закрепляет навыки. Попробуйте несколько комбинаций SMALL + FILTER + INDEX на своих данных, чтобы выбрать оптимальный рабочий шаблон.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone