Excel VLOOKUP pentru a găsi ultima valoare din coloană (cu alternative)

  • Imparte Asta
Hugh West

VLOOKUP este o funcție foarte populară în Excel care se referă la căutarea verticală. Putem folosi funcția încorporată VLOOKUP sau putem chiar să ne creăm propriile formule care vor funcționa ca o căutare verticală pentru a returna o valoare cu criterii mai dinamice. În acest articol, voi arăta cum să găsim ultima valoare dintr-o coloană cu ajutorul funcției VLOOKUP în Excel.

Descărcați cartea de practică

Descărcați registrul de lucru Excel pe care l-am folosit pentru a pregăti acest articol.

VLOOKUP Ultima valoare în coloană.xlsx

Utilizarea funcției VLOOKUP pentru a găsi ultima valoare dintr-o coloană

Să facem mai întâi cunoștință cu registrul nostru de lucru. În această foaie de date, am folosit 3 coloane și 10 rânduri pentru a prezenta sumele vânzărilor unor vânzători în funcție de datele corespunzătoare.

În această metodă, vom găsi ultima apariție a unei valori folosind funcția VLOOKUP . VLOOKUP reprezintă Privire verticală '. Este o funcție care face ca Excel să caute o anumită valoare într-o coloană. Aici avem 3 sume diferite de vânzări de Bill. Acum vom afla valoarea ultimelor sale vânzări în Celula G5

Pași :

➦ Activați Celula G5, introduceți formula dată mai jos:

=VLOOKUP(F5,C5:D13,2)

➦ Lovește Introduceți și veți obține ultima apariție a vânzărilor sale.

Dar VLOOKUP nu va da răspunsul corect pentru datele nesortate în modul aproximativ. A se vedea imaginea de mai jos.

Și dacă folosim potrivire exactă pentru cel de-al patrulea argument va afișa prima potrivire, ca în imaginea de mai jos. Deoarece vlookup utilizează căutarea binară, atunci când găsește o valoare mai mare decât valoarea de căutare, se întoarce la valoarea anterioară pentru a o afișa, vezi imaginea de mai jos.

Deci, pentru a depăși această situație pentru datele nesortate și pentru a găsi ultima apariție, va trebui să folosim funcții de căutare sau alte formule combinate. Vom discuta aceste metode în secțiunile următoare.

Alternative la funcția VLOOKUP pentru a găsi ultima valoare din coloană

Acum vom aplica patru metode alternative pentru a găsi ultima valoare dintr-o coloană.

Metoda 1: Utilizați funcția LOOKUP pentru a găsi ultima valoare din coloană

Aici vom găsi ultima valoare a unei coloane cu funcția LOOKUP în Excel. LOOKUP este utilizată pentru a căuta într-o singură coloană sau rând pentru a găsi o anumită valoare din același loc într-o a doua coloană sau rând. Voi găsi ultima valoare a vânzărilor aici în Celula G4.

Pași:

➦ Activați Celula G4.

➦ Scrieți formula dată mai jos:

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

➦ Apoi apăsați butonul Introduceți și veți obține ultima valoare.

👉 Repartizarea formulei:

D:D""

Aici se va verifica dacă celulele din Coloana D sunt goale sau nu. Se va returna ca-

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

1/(D:D"")

Ne-am împărțit 1 de rezultat. Deoarece FALSE înseamnă 0 iar TRUE înseamnă 1 astfel încât rezultatul va fi următorul:

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

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

Am setat valoarea de căutare 2, deoarece funcția de căutare va găsi 2 prin coloană, când va ajunge la eroare, atunci se va întoarce la cea mai apropiată valoare 1 și va afișa acest rezultat. Aceasta va returna ca-

367

Metoda 2: Utilizați funcțiile INDEX și MATCH pentru a găsi ultima valoare din coloană

Aici vom folosi combinația dintre INDEX și MATCH funcții. Funcția INDEX returnează o valoare sau referința la o valoare dintr-un tabel sau interval. Și funcția MATCH se utilizează pentru a căuta un element specificat într-un interval și apoi returnează poziția relativă a acelui element în intervalul respectiv.

Pași:

➦ Scrieți formula dată mai jos în Celula G5

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

➦ Hit Introduceți buton.

👉 Cum funcționează formula:

MATCH(F5,C5:C13,1)

Aici funcția MATCH este utilizat pentru a găsi valoarea lui Celula F5 pentru elementele sortate în ordine crescătoare din matrice C5:C13. Setarea celui de-al treilea argument "1" indică o potrivire aproximativă. Acum funcția va returna ca-

6

De fapt, se afișează numărul rândului calculat de la prima intrare.

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

Și funcția INDEX va da vânzările corespunzătoare ( D5:D13) în funcție de potrivirea anterioară din matrice ( C5:C13) care va returna ca-

367

Aceasta este de fapt ultima apariție pentru Celula F5

Metoda 3: Combinația funcțiilor INDEX, MAX, SUMPRODUCT și ROW pentru a găsi ultima valoare din coloană

Acum vom face sarcina cu combinația de INDEX, MAX, SUMPRODUCT și ROW funcții. Funcția ROW va găsi numerele rândurilor. SUMPRODUCT este o funcție care înmulțește un interval de celule sau matrice și returnează suma produselor. Funcția MAX va găsi numărul maxim. Și INDEX returnează o valoare sau referința la o valoare dintr-un tabel sau un interval.

Pași:

➦ Activați editarea în Celula F7

➦ Copiați și lipiți formula de mai jos:

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

➦ Și apăsați butonul Introduceți buton.

👉 Cum funcționează formula:

RÂND($B$5:$B$13)

Funcția ROW va afișa numărul rândului pentru array-ul care va fi returnat ca-

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

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

Aici Celula E7 este valoarea noastră de căutare, iar această formulă o va potrivi prin intermediul matricei B5:B13 Apoi se va întoarce ca...

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

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

Înmulțirea celor două formule anterioare este cea care va înmulți de fapt numerele rândurilor corespunzătoare. FALSE înseamnă 0 și ADEVĂRAT înseamnă 1 Deci, după înmulțire, se va întoarce ca...

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

MAX(RÂND($B$5:$B$13)*($E$7=$B$5:$B$13))

The MAX funcția va găsi valoarea maximă din rezultatul anterior care se va întoarce ca

13

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

Acum, în SUMPRODUCT este utilizată pentru a găsi numărul rândului din matrice . Deoarece lista noastră începe de la 5. rând mai departe, 4 Astfel, poziția ultimei apariții a lui Bill este 9 pe lista noastră, astfel încât formula să returneze ca-

9 .

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

INDEXUL este utilizată pentru a găsi vânzările pentru ultimul nume care se potrivește. Și va returna ca-

563

Aceasta este ultima noastră apariție pentru Bill.

Metoda 4: Utilizați Excel VBA pentru a găsi ultima apariție a unei valori în coloană

Dacă vă place să codificați în Excel, atunci această metodă este potrivită pentru dvs. Putem efectua operațiunea anterioară și prin metoda VBA. Să parcurgem următorii pași pentru a vedea cum o putem face cu ușurință.

Pentru asta, la început, voi face o bară derulantă pentru numele unice. Apoi voi face o nouă funcție definită de utilizator " LastItemLookup " folosind VBA pe care îl vom folosi pentru a găsi ultima apariție.

Pasul 1:

➦ Mai întâi, copiați numele unice din foaia principală într-o foaie nouă.

Pasul 2:

➦ Apoi mergeți la foaia principală. activați orice celulă nouă. am ales E5.

➦ Click Date> Instrumente de date> Validarea datelor.

A caseta de dialog va apărea.

Pasul 3:

➦ Selectați Lista de la Permiteți bar.

➦ Apoi apăsați butonul deschis din pictograma Sursa bar.

Pasul 4:

➦ După aceea, mergeți la noua foaie și selectați numele unice.

➦ Presa OK

Vezi un săgeată în jos este afișat în partea dreaptă a celulei respective. Făcând clic aici puteți selecta orice nume. Acest lucru ne va economisi timp, deoarece nu va trebui să tastăm numele de fiecare dată.

Acum vom face o nouă funcție numită LastItemLookup cu Excel VBA.

Pasul 5:

➦ R țiți cu click dreapta pe mouse-ul pe numele foii.

➦ Selectați Vezi codul de la meniul contextual .

A VBA se va deschide o fereastră.

Pasul 6:

➦ Introduceți codurile de mai jos:

 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 

Pasul 7:

➦ Apoi apăsați butonul de redare pentru a rula codurile. A caseta de dialog numit Macros va apărea.

➦ Click Rulați .

Noua noastră funcție este gata acum.

Pasul 8:

➦ Acum întoarceți-vă la foaia de lucru.

➦ Activați Celula F5

➦ Introduceți formula de mai jos cu noua funcție.

=LastItemLookup(E5,B5:C13,2)

➦ Presa Introduceți pentru a obține rezultatul ultimei apariții pentru Ron .

Acum, atunci când veți alege numele oricărui vânzător, veți obține valoarea corespunzătoare ultimei apariții a acestuia.

Concluzie

Sper că toate metodele descrise mai sus vor fi suficient de bune pentru a vlookup ultima valoare dintr-o coloană. Nu ezitați să puneți întrebări în secțiunea de comentarii și vă rog să-mi oferiți feedback

Hugh West este un trainer și analist Excel cu o experiență de peste 10 ani în industrie. Deține o diplomă de licență în contabilitate și finanțe și un master în administrarea afacerilor. Hugh are o pasiune pentru predare și a dezvoltat o abordare unică de predare care este ușor de urmărit și de înțeles. Cunoștințele sale experte despre Excel au ajutat mii de studenți și profesioniști din întreaga lume să-și îmbunătățească abilitățile și să exceleze în cariera lor. Prin blogul său, Hugh își împărtășește cunoștințele lumii, oferind tutoriale gratuite Excel și instruire online pentru a ajuta persoanele și companiile să-și atingă întregul potențial.