Excel VLOOKUP для поиска последнего значения в столбце (с альтернативами)

  • Поделись Этим
Hugh West

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

Скачать книгу по практике

Загрузите рабочую книгу Excel, которую мы использовали для подготовки этой статьи.

VLOOKUP Последнее значение в столбце.xlsx

Использование функции VLOOKUP для поиска последнего значения в столбце

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

В этом методе мы найдем последнее вхождение значения, используя функция VLOOKUP . VLOOKUP означает ' Вертикальный поиск '. Это функция, которая заставляет Excel искать определенное значение в столбце. Здесь у нас есть 3 разных объема продаж в размере Билл. Теперь найдем сумму его последних продаж в Ячейка G5

Шаги

➦ Активировать Ячейка G5, введите приведенную ниже формулу:

=VLOOKUP(F5,C5:D13,2)

➦ Попасть в Войти и вы получите последние данные о его продажах.

Но VLOOKUP не даст правильного ответа для несортированных данных в приближенном режиме. См. рисунок ниже.

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

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

Альтернативы функции VLOOKUP для поиска последнего значения в столбце

Теперь мы применим четыре альтернативных метода для поиска последнего значения в столбце.

Метод 1: Используйте функцию LOOKUP для поиска последнего значения в столбце

Здесь мы найдем последнее значение столбца с помощью функция LOOKUP в Excel. LOOKUP Функция используется для просмотра одного столбца или строки, чтобы найти определенное значение в том же месте во втором столбце или строке. Я найду последнюю сумму продаж здесь в Клетка G4.

Шаги:

➦ Активировать Клетка G4.

➦ Введите приведенную ниже формулу:

=LOOKUP(2,1/(D:D""),D:D)

➦ Затем нажмите кнопку Войти и вы получите последнее значение.

👉 Формула разбивки:

D:D""

Здесь будет проверено, есть ли ячейки в Колонка D пустые или нет. Он вернет как...

{FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE.....}

1/(D:D"")

Мы разделили 1 по результату. Поскольку FALSE означает 0 и TRUE означает 1 поэтому результат будет следующим:

{#DIV/0!;#DIV/0!;#DIV/0!;1;1;1;1;1;1;1;1;#DIV/0!;#DIV/0!}

LOOKUP(2,1/(D:D""),D:D)

Я установил значение поиска 2, потому что функция поиска найдет 2 через столбец, когда она достигнет ошибки, то вернется к ближайшему значению 1 и покажет этот результат. Это вернет как-...

367

Метод 2: Использование функций INDEX и MATCH для поиска последнего значения в столбце

Здесь мы будем использовать комбинацию ИНДЕКС и МАТЧ функции. Функция ИНДЕКС возвращает значение или ссылку на значение из таблицы или диапазона. И функция MATCH используется для поиска заданного элемента в диапазоне, а затем возвращает относительное положение этого элемента в диапазоне.

Шаги:

➦ Введите приведенную ниже формулу в формате Ячейка G5

=INDEX(D5:D13,MATCH(F5,C5:C13,1))

➦ Удар Войти кнопка.

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

MATCH(F5,C5:C13,1)

Здесь функция MATCH используется для нахождения значения Ячейка F5 для элементов, отсортированных в порядке возрастания из массива C5:C13. Установка третьего аргумента '1' указывает на приблизительное совпадение. Теперь функция вернет в качестве...

6

На самом деле он показывает номер строки, отсчитываемый от первой записи.

ИНДЕКС(D5:D13,СОВПАДЕНИЕ(F5,C5:C13,1))

И функция ИНДЕКС даст соответствующие продажи ( D5:D13) в соответствии с предыдущим совпадением из массива ( C5:C13) которая вернет как...

367

На самом деле это последнее появление для Ячейка F5

Метод 3: Комбинация функций INDEX, MAX, SUMPRODUCT и ROW для поиска последнего значения в столбце

Теперь мы выполним задание с помощью комбинации INDEX, MAX, SUMPRODUCT и ROW функции. Функция ROW найдет номера строк. SUMPRODUCT это функция, которая перемножает диапазон ячеек или массивов и возвращает сумму произведений. Функция MAX найдет максимальное число. И ИНДЕКС Функция возвращает значение или ссылку на значение из таблицы или диапазона.

Шаги:

➦ Разрешить редактирование в Ячейка F7

➦ Скопируйте и вставьте приведенную ниже формулу:

=INDEX($C$5:$C$13,SUMPRODUCT(MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))-4))

➦ и нажмите кнопку Войти кнопка.

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

ROW($B$5:$B$13)

Функция ROW покажет номер строки для массива, который будет возвращен в виде...

{5;6;7;8;9;10;11;12;13}

($E$7=$B$5:$B$13)

Здесь Клетка E7 это наше значение поиска, и эта формула будет сопоставлять его через массив B5:B13 . Тогда он вернется как...

{FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE}

ROW($B$5:$B$13)*($E$7=$B$5:$B$13)

Именно умножение двух предыдущих формул фактически умножит соответствующие числа ряда. FALSE означает 0 и TRUE означает 1 . Поэтому после умножения он вернется в виде...

{0;0;0;0;9;0;0;0;13}

MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))

Сайт MAX функция найдет максимальное значение из предыдущего результата, который вернется в виде

13

SUMPRODUCT(MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))-4)

Теперь SUMPRODUCT функция используется для нахождения номера строки в массиве . Поскольку наш список начинается с 5-й ряд и далее, 4 вычитается. Таким образом, позиция последнего появления Билл это 9 в нашем списке, поэтому формула вернет как...

9 .

INDEX($C$5:$C$13,SUMPRODUCT(MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))-4))

ИНДЕКС Функция используется для поиска продаж для последнего совпадающего имени. И она вернет в качестве...

563

Это наш последний случай для Билл.

Метод 4: Используйте Excel VBA для поиска последнего появления значения в столбце

Если вы любите кодировать в Excel, то этот метод подходит для вас. Мы можем выполнить предыдущую операцию и с помощью метода VBA. Давайте рассмотрим следующие шаги, как мы можем легко это сделать.

Для этого сначала я сделаю выпадающую панель для уникальных имен. Затем я сделаю новую пользовательскую функцию " LastItemLookup " используя VBA который мы будем использовать для поиска последнего вхождения.

Шаг 1:

➦ Сначала скопируйте уникальные имена с основного листа на новый лист.

Шаг 2:

➦ Затем перейдите на главный лист. Активируйте любую новую ячейку. Я выбрал E5.

➦ Нажмите Данные> Инструменты данных> Валидация данных.

A диалоговое окно появится.

Шаг 3:

➦ Выбор Список из Разрешить бар.

➦ Затем нажмите кнопку открыть значок из Источник бар.

Шаг 4:

➦ После этого перейдите на новый лист и выберите уникальные имена.

➦ Пресса OK

См. стрелка вниз Щелкнув здесь, вы можете выбрать любое имя. Это сэкономит наше время, поскольку нам не придется каждый раз вводить имена.

Теперь мы создадим новую функцию с именем LastItemLookup с помощью Excel VBA.

Шаг 5:

➦ R щелкните правой кнопкой мыши щелкните мышью на названии листа.

➦ Выбор Посмотреть код из контекстное меню .

A VBA откроется окно.

Шаг 6:

➦ Введите коды, приведенные ниже:

 Option Explicit Sub vlookup_last() End Sub Function LastItemLookup(Lookupvalue As String, LookupRange As Range, ColumnNumber As Integer) Dim x As Long For x = LookupRange.Columns(1).Cells.Count To 1 Step -1 If Lookupvalue = LookupRange.Cells(x, 1) Then LastItemLookup = LookupRange.Cells(x, ColumnNumber) Exit Function End If Next x End Function 

Шаг 7:

➦ Затем нажмите кнопку воспроизведения, чтобы запустить коды. A диалоговое окно под названием Макросы появится.

➦ Нажмите Запускайте .

Наша новая функция уже готова.

Шаг 8:

➦ Теперь вернитесь к своему рабочему листу.

➦ Активировать Ячейка F5

➦ Введите приведенную ниже формулу с новой функцией.

=LastItemLookup(E5,B5:C13,2)

➦ Пресса Войти чтобы получить результат последнего появления для Рон .

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

Заключение

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

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.