Функция SMALL в Google Таблицах: синтаксис, примеры и практические советы
Кратко: Функция SMALL возвращает n-ое наименьшее значение из диапазона. Эта инструкция объясняет синтаксис, практические приёмы (включая сортировку, вложенные формулы с IF и ARRAYFORMULA), типичные ошибки и альтернативы. Включены чек-листы, шпаргалки и диаграмма принятия решений.
Что делает функция SMALL
Функция SMALL ищет среди набора значений значение с заданным рангом по возрастанию — например, самое маленькое (n=1), второе по величине минимальное (n=2) и т.д. Коротко: SMALL возвращает n-ю по счёту минимальную величину в указанном диапазоне.
Определения терминов:
- Диапазон: набор ячеек (например, A2:A10).
- n: ранг минимального значения, целое число >=1.
Преимущества использования SMALL
- Получение не только минимального значения, но и 2‑го, 3‑го и т.д.
- Лёгкая комбинация с IF, ARRAYFORMULA и ROW для фильтрации и сортировки.
- Удобно при работе с ранжированием и выборкой лучших/худших показателей.

Синтаксис функции SMALL
=SMALL(data, n)Пояснения:
- data — диапазон или массив значений (все значения должны иметь сопоставимый тип: числа, даты и т. п.).
- n — целое число, указывающее, какое по счёту минимальное значение вернуть (1 = самое маленькое). Если n больше количества чисел в диапазоне, результат — ошибка #NUM!.
Важно: при использовании смешанных типов (текст + числа) текст игнорируется; при отсутствии чисел возвращается #NUM!.
Когда применять SMALL
Используйте SMALL, когда необходимо:
- Найти второе/третье/пятое минимальное значение в наборе.
- Отсортировать столбец по возрастанию при помощи формулы (без использования ручной сортировки).
- Получить минимальные значения с условием (например, минимальная цена среди товаров определённой категории).
Практические примеры
Простой пример
Предположим, у вас есть набор значений в диапазоне A2:B11 и нужно найти самое маленькое значение.
Шаги:
- Выберите пустую ячейку, например C2.
- Введите формулу:
=SMALL(A2:B11, 1)— где 1 означает самое маленькое значение. - Нажмите Enter — в ячейке отобразится минимальное значение диапазона.
Чтобы получить 2‑е или 3‑е наименьшее значение, измените второй аргумент: =SMALL(A2:B11, 2), =SMALL(A2:B11, 3) и т. д.
Сортировка с помощью SMALL и ROW
Этот приём позволяет отсортировать столбец по возрастанию формулами, полезно когда нужно динамически формировать отсортированный список.
Формула (пример для столбца B с данными в B2:B11):
=SMALL($B$2:$B$11, ROW()-1)Пояснение:
- Абсолютные ссылки
$B$2:$B$11фиксируют диапазон при автозаполнении. - ROW() возвращает номер текущей строки; вычитаем 1, чтобы для строки 2 получить n=1.
- Протяните формулу вниз — получите отсортированный по возрастанию список.
Совет: если диапазон содержит пустые ячейки или текст, сначала фильтруйте только числовые значения: =SMALL(FILTER($B$2:$B$11, ISNUMBER($B$2:$B$11)), ROW()-1).
Вложение SMALL с IF и ARRAYFORMULA
Иногда нужно найти n-ю минимальную величину среди подмножества данных (например, только для определённого класса или категории). Для этого удобно использовать IF внутри ARRAYFORMULA:
=ARRAYFORMULA(SMALL(IF(B2:B9>=2, C2:C9), 1))Пояснение:
IF(B2:B9>=2, C2:C9)возвращает массив значений из C2:C9 только там, где B2:B9 >= 2; в остальных позициях — FALSE.- SMALL игнорирует логические FALSE и ищет минимум среди чисел.
- ARRAYFORMULA даёт возможность работать с массивами без копирования формулы в каждую ячейку.
Дополнительный пример — n-ые минимальные уникальные значения (без повторов). Один из способов — использовать комбинацию SMALL и COUNTIF:
=SMALL(UNIQUE(FILTER($A$2:$A$100, ISNUMBER($A$2:$A$100))), n)или, если нужно пропускать повторы при последовательном извлечении:
=SMALL($A$2:$A$100, MATCH(0, COUNTIF($C$1:C1, $A$2:$A$100), 0))(последняя формула требует ввода как массивной формулы в некоторых системах; в Google Таблицах используйте с осторожностью и в контексте динамических массивов).
Применение с QUERY и FILTER
Иногда удобнее сначала сузить набор данных функцией FILTER или QUERY, а затем вычислить SMALL от отфильтрованного диапазона:
=SMALL(FILTER(C2:C100, D2:D100 = "Категория A"), 1)Это более прозрачный и часто более надёжный подход, чем громоздкие вложения IF.
Частые ошибки и способы их устранения
1. Наличие текстовых или смешанных данных
Проблема: SMALL игнорирует текст; если в диапазоне нет чисел — возвращает #NUM!. Решения:
- Убедитесь, что диапазон содержит числа: используйте ISNUMBER и FILTER:
=SMALL(FILTER(A2:A100, ISNUMBER(A2:A100)), 1). - Если числа записаны как текст, преобразуйте: используйте VALUE или TO_NUMBER:
=VALUE(A2)или примените формат чисел.
2. n вне диапазона
Проблема: если n больше количества числовых значений, SMALL выдаёт #NUM!. Решения:
- Проверяйте длину массива:
=IF(n>COUNT(A2:A100), "нет данных", SMALL(A2:A100, n)). - Используйте IFERROR для мягкого ответа:
=IFERROR(SMALL(A2:A100, n), "—").
3. Пустые ячейки и нули
Проблема: пустые ячейки игнорируются; нули считаются числами. Если нули не должны учитываться, фильтруйте их:
=SMALL(FILTER(A2:A100, A2:A100<>0), 1)4. Неправильные абсолютные/относительные ссылки при автозаполнении
Проблема: при протягивании формул диапазон меняется, и результаты ломаются. Решение: используйте $ для фиксации диапазона: $A$2:$A$100.
Альтернативы и когда лучше их использовать
- MIN — проще, если нужно только самое маленькое значение (n=1). Синтаксис:
=MIN(A2:A100). - SORT — быстрый способ получить полностью отсортированный диапазон:
=SORT(A2:A100, 1, TRUE). - SORTN — выбрать топ N значений:
=SORTN(A2:A100, 3, 0, 1, TRUE)(в некоторых вариантах Google Таблиц можно настроить сортировку и уникальность). - QUERY — мощный фильтр и агрегация, удобен при сложных условиях и работе с несколькими столбцами.
Выбор:
- Для единого n используйте SMALL.
- Для полного отсортированного списка используйте SORT.
- Для выборки топ N и уникальности рассмотрите SORTN или комбинацию UNIQUE + SORT.
Шпаргалка: быстрые формулы
- Самое маленькое:
=SMALL(A2:A100, 1) - 3‑е по порядку минимальное:
=SMALL(A2:A100, 3) - Минимум по условию:
=SMALL(FILTER(A2:A100, B2:B100="Категория"), 1) - Сортировка колонкой B: в C2 введите
=SMALL($B$2:$B$11, ROW()-1)и протяните вниз - Защита от ошибок:
=IFERROR(SMALL(A2:A100, n), "Нет значения")
Чек-лист применения по ролям
Data Analyst:
- Убедиться, что диапазон содержит только числовые данные.
- При необходимости фильтровать ненужные категории через FILTER/QUERY.
- Использовать абсолютные ссылки при автозаполнении.
Финансовый аналитик:
- Проверять валидность валютных форматов.
- Игнорировать нули, если они означают «нет данных», а не 0.
- Оборачивать формулы в IFERROR с понятной меткой.
Преподаватель / студент:
- Для оценок использовать SMALL для поиска минимальных баллов (n=1) или худших n.
- Документировать, что именно исключается из расчётов (отсутствующие оценки, пропуски).
Мини‑методология: как безопасно найти n‑ое минимальное значение
- Определите диапазон и подтвердите, что в нём есть числа (COUNT или COUNTIF).
- Если нужны условия — сузьте набор с помощью FILTER или QUERY.
- Примените SMALL с проверкой на диапазон:
IF(n>COUNT(...), "Нет данных", SMALL(...)). - Защитите результат от ошибок через IFERROR или пользовательскую подпись.
Диаграмма принятия решений
flowchart TD
A[Нужно n-ое минимальное значение?] --> B{Нужны ли условия?}
B -- Да --> C[Использовать FILTER/QUERY]
B -- Нет --> D[Использовать SMALL]
C --> E{Нужен отсортированный список?}
D --> F{n=1?}
F -- Да --> G[Можно использовать MIN вместо SMALL]
F -- Нет --> H[SMALL'data,n']
E -- Да --> I[Использовать SORT или SORTN]
E -- Нет --> H
G --> END[Готово]
H --> END
I --> ENDКритерии приёмки
- Формулы возвращают ожидаемый n‑ый минимум для тестового набора.
- Ошибки #NUM! и #VALUE! обработаны и заменены понятными сообщениями.
- При автозаполнении диапазоны остаются корректными благодаря абсолютным ссылкам.
Часто задаваемые вопросы
Можно ли вычислить n‑тые минимальные значения с учётом нескольких условий?
Да. Сначала отфильтруйте диапазон с помощью FILTER или QUERY, затем примените SMALL к отфильтрованному массиву. Пример: =SMALL(FILTER(C2:C100, B2:B100="Категория"), 1).
Что делать, если SMALL возвращает #NUM!?
Проверьте, содержатся ли в диапазоне числовые значения и не превышает ли n количество чисел. Используйте COUNT и IF для проверки: =IF(n>COUNT(A2:A100), "нет данных", SMALL(A2:A100, n)).
Чем SMALL отличается от MIN?
MIN возвращает только наименьшее значение (аналог n=1). SMALL позволяет выбрать любое n-ое минимальное значение.
Краткая сводка
Функция SMALL — гибкий инструмент для извлечения n‑го наименьшего значения в Google Таблицах. Её сила проявляется при сочетании с FILTER, IF, ARRAYFORMULA и ROW: это позволяет делать фильтрацию, ранжирование и динамическую сортировку без ручного вмешательства. Всегда проверяйте типы данных, обрабатывайте ошибки и используйте абсолютные ссылки при автозаполнении.
Дополнительные заметки
Важно: при работе с датами Google Таблицы рассматривают даты как числовые значения (целые/дробные числа). SMALL корректно работает с датами: чем меньший числовой код даты — тем более «ранняя» дата считается меньшей.
Если вы хотите получить n‑ую минимальную позицию с учётом повторяющихся значений, продумайте, считаете ли вы повторы отдельными записями или хотите уникальные значения. Для уникальных результатов используйте UNIQUE вместе с FILTER и SMALL.
Похожие материалы
Отключить Internet Explorer 11 в Windows 10
Установка TaskBoard на Ubuntu 18.04
Очеловечивание текстов ChatGPT — 5 способов
Портфолио веб‑разработчика для студента
Как атаковать в Whiteout Survival — полное руководство