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;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 за намиране на последната стойност в колоната

Тук ще използваме комбинацията от INDEX и MATCH функции. Функцията INDEX връща стойност или препратка към стойност в рамките на таблица или диапазон. и функцията MATCH се използва за търсене на определен елемент в диапазон и след това връща относителната позиция на този елемент в диапазона.

Стъпки:

➦ Въведете формулата, дадена по-долу, в Клетка G5

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

➦ Хит Въведете бутон.

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

MATCH(F5,C5:C13,1)

Тук функцията MATCH се използва, за да се намери стойността на Клетка F5 за елементи, сортирани във възходящ ред от масива C5:C13. Задаването на третия аргумент "1" показва приблизително съвпадение. Сега функцията ще върне като-

6

Всъщност се показва номерът на реда, считано от първия запис.

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

И функцията INDEX ще даде съответните продажби ( D5:D13) в зависимост от предишното съвпадение от масива ( C5:C13) което ще върне като-

367

Това всъщност е последният случай за Клетка F5

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

Сега ще изпълним задачата с комбинацията от INDEX, MAX, SUMPRODUCT и ROW функции. Функцията ROW ще намерите номерата на редовете. SUMPRODUCT е функция, която умножава диапазон от клетки или масиви и връща сумата от произведенията. Функцията MAX ще намери максималния брой. И INDEX функцията връща стойност или препратка към стойност от таблица или диапазон.

Стъпки:

➦ Разрешаване на редактирането в Клетка F7

➦ Копирайте и поставете формулата, дадена по-долу:

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

➦ И натиснете Въведете бутон.

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

РЕД($B$5:$B$13)

Функцията ROW ще покаже номера на реда за масива, който ще се върне като-

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

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

Тук Клетка E7 е нашата стойност за търсене и тази формула ще я съпостави с масива B5:B13 . След това ще се върне като-

{ФАЛШИВО;ФАЛШИВО;ФАЛШИВО;ФАЛШИВО;ВЯРНО;ФАЛШИВО;ФАЛШИВО;ВЯРНО}

РЕД($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))

INDEX функцията се използва за намиране на продажбите за последното съвпаднало име. и ще върне като-

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:

➦ След това натиснете бутона за възпроизвеждане, за да стартирате кодовете. диалогов прозорец с име Макроси ще се появи.

➦ Кликнете Изпълнявайте .

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

Стъпка 8:

➦ Сега се върнете към работния си лист.

➦ Активиране Клетка F5

➦ Въведете формулата, дадена по-долу, с новата функция.

=LastItemLookup(E5,B5:C13,2)

➦ Преса Въведете за да получите резултата от последното появяване на Рон .

Сега, когато изберете името на търговеца, ще получите съответната стойност на последната му поява.

Заключение

Надявам се, че всички методи, описани по-горе, ще бъдат достатъчно добри за vlookup на последната стойност в колона. Чувствайте се свободни да задавате всякакви въпроси в раздела за коментари и моля, дайте ми обратна връзка

Хю Уест е опитен обучител и анализатор на Excel с над 10 години опит в индустрията. Има бакалавърска степен по счетоводство и финанси и магистърска степен по бизнес администрация. Хю има страст към преподаването и е разработил уникален подход на преподаване, който е лесен за следване и разбиране. Неговите експертни познания по Excel са помогнали на хиляди студенти и професионалисти по целия свят да подобрят уменията си и да постигнат отлични резултати в кариерата си. Чрез своя блог Хю споделя знанията си със света, като предлага безплатни уроци за Excel и онлайн обучение, за да помогне на хората и фирмите да достигнат пълния си потенциал.