Как получить первое или второе наименьшее значение в таблице Excel

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

Как получить первое минимальное значение?

Для демонстрации решения задачи создадим простую таблицу:

Список транзакций.

В этом примере данные таблицы где нужно найти значение находятся в диапазоне A6:B18. Как видно на рисунке в столбце A содержаться значения, а в столбце B соответствующие им суммы. Кроме того, видно, что среди сумм встречается несколько минимальных значений разбросанных по разным строкам.

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

  1. В ячейке B3 введите следующую формулу:
  2. Подтвердите ввод формулы комбинацией горячих клавиш CTRL+SHIFT+Enter, так как она должна выполнится в массиве. Если все сделано правильно в строке формул появятся фигурные скобки {}.
ИНДЕКС.

В результате мы получили значение, соответствующее первой наименьшей сумме.

Детальный разбор формулы для первого наименьшего значения

Функция ИНДЕКС является самой главной в этой формуле. Ее номинальная задача – это поиск значения в указанной таблице (диапазон A6:A18 указанный в первом аргументе функции) на основе координат, указанных в ее втором (номер строки таблицы) и третьем (номер столбца) аргументах. Так как таблица, которую указано для работы функции ИНДЕКС имеет только один столбец A, то третий аргумент в параметрах – пропущен (необязателен). В тоже время во втором аргументе сразу используется несколько функций, работающих с диапазоном B6:B18.

В первом аргументе функции ЕСЛИ тестирует: является ли значение в каждой ячейке диапазона B6:B18 наименьшим числом. Таким образом в памяти создается массив логических значений ИСТИНА и ЛОЖЬ. В данном примере массив содержит только три элемента с положительным результатом теста, так как столько же содержит одинаковых минимальных значений исходная таблица. Если результат положительный формула переходит к следующему вычислительному этапу, а если отрицательный функция возвращает в массив памяти пустое текстовое значение.

Следующий вычислительный этап формулы – это определение, какие номера строк содержат эти минимальные суммы. Данный этап нам необходим для того, чтобы определить первое минимальное значение в диапазоне B6:B18. Реализовывается такая задача с помощью функции СТРОКА, которая создает в памяти программы следующий массив, состоящий из номеров строк. От этих номеров следует вычесть номер первой строки с которой начинается диапазон исходной таблицы. Это очень важно, ведь функция ИНДЕКС работает не с номерами строк листа Excel, а с номерами строк таблицы, указанной в ее первом аргументе. Таким образом, чтобы получить истинный номер исходной таблицы мы отнимаем от каждого номера строки листа, то количество строк, которое находится выше положения таблицы на листе.

Таким образом в памяти программы сформируется массив, состоящий из номеров строк. Далее функция МИН возвращает наименьший номер строки таблицы, которая содержит минимальное значение. Этот номер использует в качестве второго аргумента функция ИНДЕКС, которая поэтому же номеру строки возвращает нам значение из диапазона A6:B18.

Как получить первое наибольшее значение?

Понимая принцип действия формулы для получения первого наименьшего значения, мы теперь имеем возможность модифицировать ее под свои потребности. Например, нам нужно получить первое наибольшее значение. Для этого в ячейку D3 введите модифицированную формулу:

Не забудьте для подтверждения формулы нажать комбинацию горячих клавиш CTRL+SHIFT+Enter, чтобы на была выполнена в массиве {}.

ЕСЛИ МИН.

Мы просто в нужном месте поменяли одну из функций МИН на МАКС.

Как получить второе наименьшее значение?

Для решения данной задачи в ячейку F3 введете новую модифицированную формулу:

Для подтверждения ввода формулы снова жмем CTRL+SHIFT+Enter, чтобы выполнить ее в массиве и сразу же получаем результат:

НАИМЕНЬШИЙ.

За основу взята первая формула, но в ней на этот раз мы используем новую функцию НАИМЕНЬШИЙ вместо первой функции МИН. Хитрая функция НАИМЕНШИЙ – это усовершенствованная функция МИН. Она позволяет получать первое наименьшее, второе наименьшее, третье наименьшее значение и т.д. Порядковый номер наименьших значений указывается во втором аргументе функции. В данном случаи — это число 2. То есть мы получаем из памяти массива второй наименьший номер строки для функции ИНДЕКС.

Как получить первое наибольшее число?

Чтобы получить второе наибольшее число следует в формуле указать в место функции НАИМЕНЬШИЙ функцию НАИБОЛЬШИЙ:

Принцип действия функции НАИБОЛЬШИЙ работает обратно пропорционально функции НАИМЕНЬШИЙ. Поэтому здесь мы меняем второю функцию МИН на МАКС.

Внимание! Если количество дубликатов в диапазоне меньше, чем число во втором аргументе для функций: НАИМЕНЬШИЙ или НАИМБОЛЬШИЙ, то эти функции будут возвращать ошибку «#ЧИСЛО!», по понятным причинам. Всегда заранее определяйтесь какую задачу вы ставите перед формулой!