Функция Excel SMALL для поиска и выделения наименьших значений

  • Поделись Этим
Michael Brown

В этом кратком уроке мы расскажем о функции Excel SMALL, о том, как она работает и как использовать ее для поиска N-го наименьшего числа, даты или времени.

Нужно найти несколько наименьших чисел в рабочем листе? Это довольно легко сделать с помощью функции Excel Sort. Не хотите тратить время на повторную сортировку данных при каждом изменении? Функция SMALL поможет вам быстро найти наименьшее значение, второе наименьшее, третье наименьшее и так далее.

    Функция МАЛОЕ в Excel

    SMALL - это статистическая функция, которая возвращает n-ое наименьшее значение в наборе данных.

    Синтаксис функции SMALL включает два аргумента, оба из которых являются обязательными.

    SMALL(array, k)

    Где:

    • Массив - массив или диапазон ячеек, из которых нужно извлечь наименьшее значение.
    • K - целое число, указывающее позицию от наименьшего значения для возврата, т.е. k-го наименьшего.

    Функция доступна во всех версиях Excel для Office 365, Excel 2021, Excel 2019, Excel 2016, Excel 2013, Excel 2010 и более ранних версиях.

    Совет. Чтобы найти k-е наименьшее значение с критериями, используйте формулу Excel МАЛОЕ ЕСЛИ.

    Основная формула SMALL в Excel

    Формулу SMALL в ее базовой форме очень легко построить - вы просто указываете диапазон и позицию от наименьшего элемента для возврата.

    В списке чисел в B2:B10, предположим, вы хотите извлечь 3-е наименьшее значение. Формула проста:

    =SMALL(B2:B10, 3)

    Чтобы вам было легче проверить результат, столбец B отсортирован в порядке возрастания:

    4 вещи, которые вы должны знать о функции SMALL

    Следующие указания по использованию помогут вам лучше понять поведение функции SMALL и избежать путаницы при построении собственных формул.

    1. Любой пустые ячейки , текст значения, и логический значения TRUE и FALSE в массив аргумент игнорируется.
    2. Если массив содержит один или несколько ошибки , возвращается ошибка.
    3. В случае, если есть дубликаты в массив Например, если две ячейки содержат число 1, а функция SMALL настроена на возврат наименьшего и второго наименьшего значения, то в обоих случаях вы получите 1.
    4. Предполагая, что n - это количество значений в массив , SMALL(array,1) вернет наименьшее значение, а SMALL(array,n) выберет наибольшее значение.

    Как использовать функцию SMALL в Excel - примеры формул

    А теперь давайте рассмотрим еще несколько примеров использования функции Excel SMALL, которые выходят за рамки ее базового применения.

    Найдите нижние значения 3, 5, 10 и т.д.

    Как вы уже знаете, функция SMALL предназначена для вычисления n-го наименьшего значения. Данный пример показывает, как это сделать наиболее эффективно.

    В таблице ниже, предположим, вы хотите найти 3 нижних значения. Для этого введите числа 1, 2 и 3 в отдельные ячейки (D3, D4 и D5 в нашем случае). Затем введите следующую формулу в E3 и проведите ее вниз через E5:

    =SMALL($B$2:$B$10, D3)

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

    Не хотите возиться с набором рангов вручную? Используйте функцию ROWS с помощью функции расширение ассортимента ссылка для предоставления k Для этого мы делаем абсолютную ссылку для первой ячейки (или фиксируем только координату строки, как B$2) и относительную ссылку для последней ячейки:

    =SMALL($B$2:$B$10, ROWS(B$2:B2))

    В результате ссылка на диапазон расширяется по мере копирования формулы вниз по столбцу. В D2, ROWS(B$2:B2) выдает 1 для k В D3, ROWS(B$2:B3) дает 2, и мы получаем вторую наименьшую стоимость, и так далее.

    Просто скопируйте формулу через 5 ячеек, и вы получите 5 нижних значений:

    Сумма нижних значений N

    Хотите найти общее количество наименьших n значений в наборе данных? Если вы уже извлекли значения, как показано в предыдущем примере, самым простым решением будет формула SUM:

    =SUM(E3:E5)

    Или вы можете составить независимую формулу, используя функцию SMALL вместе с SUMPRODUCT:

    СУМПРОДУКТ(МАЛЕНЬКИЙ( массив , {1, ..., n }))

    Чтобы получить сумму 3 нижних значений в нашем наборе данных, формула принимает следующий вид:

    = СУММАРНЫЙ ПРОДУКТ(SMALL(B2:B10, {1,2,3}))

    Функция SUM даст тот же результат:

    =SUM(SMALL(B2:B10, {1,2,3}))

    Примечание. Если вы используете ссылки на ячейки а не константа массива для k В Excel 365, который поддерживает динамические массивы, SUM SMALL работает как обычная формула в любом случае.

    Как работает эта формула:

    В обычной формуле SMALL возвращает одно k-ое наименьшее значение в диапазоне. В данном случае в качестве аргумента k мы используем константу массива {1,2,3}, что заставляет SMALL возвращать массив из трех наименьших значений:

    {29240, 43610, 58860}

    Функция SUMPRODUCT или SUM суммирует числа в массиве и выводит итог. Вот и все!

    Формула INDEX MATCH SMALL для получения наименьших совпадений

    В ситуации, когда вы хотите получить данные, связанные с наименьшим значением, используйте классическую комбинацию INDEX MATCH с SMALL для значения поиска:

    ИНДЕКС( массив возврата , MATCH(SMALL( массив поиска , n ), массив поиска , 0))

    Где:

    • Return_array это диапазон, из которого извлекаются связанные данные.
    • Lookup_array это диапазон, в котором следует искать наименьшее n-ое значение.
    • N это положение наименьшего значения, представляющего интерес.

    Например, чтобы получить название проекта с наименьшей стоимостью, формула в E3 имеет следующий вид:

    =INDEX($A$2:$A$10, MATCH(SMALL($B$2:$B$10, D3), $B$2:$B$10, 0))

    Где A2:A10 - названия проектов, B2:B10 - затраты, а D3 - ранг от наименьшего.

    Скопируйте формулу в ячейки ниже (E4 и E5), и вы получите названия 3 самых дешевых проектов:

    Примечания:

    • Это решение отлично работает для набора данных, в котором нет дубликатов. Однако два или более дублированных значения в числовом столбце могут создать "связи" в ранжировании, что приведет к неверным результатам. В этом случае используйте более сложную формулу для устранения связей.
    • В Excel 365 эта задача может быть решена с помощью новых функций динамического массива. Помимо того, что этот подход намного проще, он автоматически решает проблему связей. Для получения подробной информации см. статью Как отфильтровать нижние N значений в Excel.

    Сортировка чисел от наименьшего к наибольшему с помощью формулы

    Думаю, все знают, как расположить числа по порядку с помощью функции Excel Sort. Но знаете ли вы, как выполнить сортировку с помощью формулы? Пользователи Excel 365 могут сделать это простым способом с помощью новой функции SORT. В Excel 2019, 2016 и более ранних версиях SORT, увы, не работает. Но немного веры, и SMALL придет на помощь :)

    Как и в первом примере, мы используем функцию ROWS с расширенной ссылкой на диапазон для инкремента k на 1 в каждой строке, куда копируется формула:

    =SMALL($A$2:$A$10, ROWS(A$2:A2))

    Введите формулу в первую ячейку, а затем перетащите ее вниз на столько ячеек, сколько значений имеется в исходном наборе данных (C2:C10 в данном примере):

    Совет. Для сортировки по убывающей используйте функцию LARGE вместо SMALL.

    Формула Excel SMALL для дат и времени

    Поскольку даты и время также являются числовыми значениями (во внутренней системе Excel даты хранятся как последовательные числа, а время - как десятичные дроби), функция SMALL может работать и с ними без каких-либо дополнительных усилий с вашей стороны.

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

    =SMALL($B$2:$B$10, D2)

    Простая формула для нахождения 3 самых ранних дат:

    Формула SMALL для получения кратчайшего 3 раза:

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

    Найти предыдущую дату, ближайшую к сегодняшней или указанной дате

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

    При наличии списка дат в B2:B10 и целевой даты в E1, следующая формула вернет предыдущую дату, наиболее близкую к целевой:

    =SMALL(B2:B10, COUNTIF(B2:B10, "<"&E1))

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

    =SMALL(B2:B10, COUNTIF(B2:B10, "<"&E1)-1)

    Чтобы найти прошедшую дату ближе всего к сегодняшнему дню , используйте функцию TODAY для критерия COUNTIF:

    =SMALL(B2:B10, COUNTIF(B2:B10, "<"&TODAY()))

    Совет. Чтобы предотвратить ошибки в ситуации, когда дата, соответствующая вашим критериям, не найдена, вы можете обернуть функцию IFERROR вокруг вашей формулы, как показано ниже:

    =IFERROR(SMALL(B2:B10, COUNTIF(B2:B10, "<"&E1)-1), "Not Found")

    Как работают эти формулы:

    Общая идея состоит в том, чтобы подсчитать количество дат, меньших, чем целевая дата, с помощью COUNTIF. И этот подсчет - именно то, что нужно функции SMALL для функции k аргумент.

    Чтобы лучше понять эту концепцию, давайте посмотрим на нее под другим углом:

    Если бы 1-авг-2020 (целевая дата в E1) появилась в нашем наборе данных, она была бы 7-й по величине датой в списке. Следовательно, есть шесть дат меньше нее. Это означает, что 6-я наименьшая дата - это предыдущая дата, ближайшая к целевой дате.

    Итак, сначала подсчитаем, сколько дат меньше, чем дата в E1 (результат - 6):

    COUNTIF(B2:B10, "<"&E1)

    Затем вставьте подсчет во 2-й аргумент SMALL:

    =SMALL(B2:B10, 6)

    Чтобы получить предыдущую, но одну дату (в нашем случае это 5-я наименьшая дата), мы вычитаем 1 из результата COUNTIF.

    Как выделить нижние значения в Excel

    Чтобы выделить наименьшие значения n в таблице с помощью условного форматирования Excel, вы можете использовать либо встроенную опцию Top/Bottom, либо создать собственное правило на основе формулы SMALL. Первый метод быстрее и проще в применении, в то время как второй обеспечивает больший контроль и гибкость. Следующие шаги помогут вам создать пользовательское правило:

    1. Выберите диапазон, в котором вы хотите выделить нижние значения. В нашем случае числа находятся в B2:B10, поэтому мы выбираем его. Если вы хотите выделить целые строки, то выберите A2:B10.
    2. На Главная во вкладке Стили группу, нажмите Условное форматирование > Новое правило .
    3. В Новое правило форматирования диалоговое окно, выберите Используйте формулу, чтобы определить, какие ячейки форматировать.
    4. В Форматируйте значения, для которых эта формула истинна введите формулу, подобную этой:

      =B2<=SMALL($B$2:$B$10, 3)

      Где B2 - крайняя левая ячейка проверяемого числового диапазона, $B$2:$B$10 - весь диапазон, а 3 - значение n нижние значения для выделения.

      В вашей формуле обратите внимание на типы ссылок: крайняя левая ячейка - относительная ссылка (B2), а диапазон - абсолютная ссылка ($B$2:$B$10).

    5. Нажмите кнопку Формат и выберите любой формат, который вам нравится.
    6. Нажмите OK дважды, чтобы закрыть оба диалоговых окна.

    Готово! Нижние 3 значения в столбце B выделены:

    Для получения дополнительной информации см. раздел Условное форматирование Excel на основе формулы.

    Функция Excel SMALL не работает

    Как вы только что убедились из наших примеров, использовать функцию SMALL в Excel довольно просто, и у вас вряд ли возникнут с ней какие-либо трудности. Если ваша формула не работает, скорее всего, это будет ошибка #NUM!, которая может возникнуть по следующим причинам:

    • Массив пуст или не содержит ни одного числового значения.
    • Сайт k значение меньше нуля (глупая опечатка может стоить вам нескольких часов поиска неисправностей!) или превышает количество значений в массиве.

    Вот как использовать формулу МАЛО в Excel, чтобы найти и выделить нижние цифры в наборе данных. Если вы знаете другие сценарии, в которых эта функция может пригодиться, вы можете поделиться ими в комментариях. Я благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!

    Рабочая тетрадь для тренировок для скачивания

    Примеры формул Excel SMALL (файл.xlsx)

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.