Indholdsfortegnelse
VLOOKUP er en meget populær funktion i Excel, som henviser til det lodrette opslag. Vi kan bruge den indbyggede VLOOKUP funktion, eller vi kan endda lave vores egne formler, der fungerer som vertikale opslag for at returnere en værdi med mere dynamiske kriterier. I denne artikel vil jeg vise, hvordan man finder den sidste værdi i en kolonne med VLOOKUP i Excel.
Download øvelsesbog
Download den Excel-arbejdsbog, som vi har brugt til at forberede denne artikel.
VLOOKUP Sidste værdi i kolonne.xlsxBrug af VLOOKUP-funktionen til at finde den sidste værdi i en kolonne
Lad os først få introduceret vores arbejdsbog. I dette datablad har jeg brugt 3 kolonner og 10 rækker at præsentere nogle sælgeres salgsmængder i henhold til de tilsvarende datoer.
I denne metode finder vi den sidste forekomst af en værdi ved at bruge VLOOKUP-funktionen . VLOOKUP står for ' Lodret opslag '. Det er en funktion, der får Excel til at søge efter en bestemt værdi i en kolonne. Her har vi 3 forskellige salgsbeløb på Bill. Nu finder vi beløbet for hans sidste salg i Celle G5
Trin :
➦ Aktivere Celle G5, skriv nedenstående formel:
=VLOOKUP(F5,C5:D13,2)
➦ Tryk på Indtast knappen, og du vil få den sidste forekomst af hans salg.
Men VLOOKUP vil ikke give det rigtige svar for usorterede data i tilnærmet tilstand. Se billedet nedenfor.
Og hvis vi bruger den nøjagtig match for det fjerde argument vil den vise det første match som på billedet nedenfor. Fordi vlookup bruger binær søgning. Så når den finder en værdi, der er større end opslagsværdien, vender den tilbage til den tidligere værdi for at vise den, se det på billedet nedenfor.
Så for at løse denne situation for usorterede data for at finde den sidste forekomst skal vi bruge opslagsfunktioner eller andre kombinerede formler. Vi vil diskutere disse metoder i de følgende afsnit.
Alternativer til VLOOKUP-funktionen til at finde sidste værdi i kolonnen
Nu skal vi anvende fire alternative metoder til at finde den sidste værdi i en kolonne.
Metode 1: Brug LOOKUP-funktionen til at finde den sidste værdi i kolonnen
Her finder vi den sidste værdi i en kolonne med LOOKUP-funktionen i Excel. LOOKUP funktionen bruges til at kigge en enkelt kolonne eller række igennem for at finde en bestemt værdi fra samme sted i en anden kolonne eller række. Jeg finder det sidste salgsbeløb her i Celle G4.
Trin:
➦ Aktivere Celle G4.
➦ Skriv nedenstående formel:
=LOOKUP(2,1/(D:D""),D:D)
➦ Tryk derefter på Indtast knappen, og du får den sidste værdi.
👉 Opdeling af formler:
➥ D:D"""
Her vil den kontrollere, om cellerne i Kolonne D er tomme eller ej. Den vil returnere som-
{FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE.....}
➥ 1/(D:D"")
Vi har delt 1 af resultatet. Da FALSE betyder 0 og TRUE betyder 1 så resultatet bliver som følger:
{#DIV/0!;#DIV/0!;#DIV/0!;1;1;1;1;1;1;1;1;1;1;1;1;#DIV/0!;#DIV/0!;#DIV/0!}
➥ LOOKUP(2,1/(D:D""),D:D)
Jeg har indstillet opslagsværdien 2, fordi opslagsfunktionen vil finde 2 gennem kolonnen, når den når til fejl, vil den vende tilbage til den nærmeste værdi 1 og vise det resultat. Det vil returnere som-
367
Metode 2: Brug INDEX- og MATCH-funktionerne til at finde den sidste værdi i kolonnen
Her vil vi bruge kombinationen af INDEX og MATCH funktioner. INDEX-funktionen returnerer en værdi eller en reference til en værdi fra en tabel eller et område. og MATCH-funktionen bruges til at søge efter et bestemt emne i et område og returnerer derefter den relative position for dette emne i området.
Trin:
➦ Skriv nedenstående formel i Celle G5
=INDEX(D5:D13,MATCH(F5,C5:C13,1))
➦ Hit Indtast knap.
👉 Hvordan virker formlen:
➥ MATCH(F5,C5:C13,1)
Her MATCH-funktionen anvendes til at finde værdien af Celle F5 for emner sorteret i stigende orden fra arrayet C5:C13. Indstillingen af det tredje argument "1" angiver den omtrentlige overensstemmelse. Nu vil funktionen returnere som-
6
Den viser faktisk rækkens nummer talt fra den første post.
➥ INDEX(D5:D13,MATCH(F5,C5:C13,1))
Og INDEX-funktionen vil give det tilsvarende salg ( D5:D13) i henhold til den foregående match fra arrayet ( C5:C13) som vil returnere som-
367
Det er faktisk den sidste forekomst for Celle F5
Metode 3: Kombination af INDEX, MAX, SUMPRODUCT og ROW-funktioner til at finde sidste værdi i kolonne
Nu skal vi udføre opgaven med kombinationen af INDEX, MAX, SUMPRODUCT og ROW funktioner. Funktionen ROW vil finde rækkens numre. SUMPRODUKT er en funktion, der multiplicerer et område af celler eller arrays og returnerer summen af produkterne. MAX-funktionen vil finde det maksimale antal. Og den INDEX funktionen returnerer en værdi eller en reference til en værdi fra en tabel eller et område.
Trin:
➦ Aktiver redigering i Celle F7
➦ Kopier og indsæt formlen nedenfor:
=INDEX($C$5:$C$13,SUMPRODUCT(MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))-4)))
➦ Og tryk på Gå ind på knap.
👉 Hvordan virker formlen:
➥ RÆKKE($B$5:$B$13)
ROW-funktionen viser række-nummeret for det array, der returneres som-
{5;6;7;8;9;10;11;12;13}
➥ ($E$7=$B$5:$B$13)
Her Celle E7 er vores opslagsværdi, og denne formel vil matche den gennem arrayet B5:B13 Så vil den vende tilbage som-
{FALSK;FALSK;FALSK;FALSK;FALSK;SAND;FALSK;FALSK;FALSK;FALSK;FALSK;SAND}
➥ ROW($B$5:$B$13)*($E$7=$B$5:$B$13)
Det er multiplikationen af de to foregående formler, der faktisk multiplicerer de tilsvarende rækketal. FALSK betyder 0 og TRUE betyder 1 Så efter multiplikation vil det give tilbage som-
{0;0;0;0;9;0;0;0;13}
➥ MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))
MAX funktionen finder den maksimale værdi fra det foregående resultat, der returneres som
13
➥ SUMPRODUCT(MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))-4)
Nu er SUMPRODUKT funktionen bruges til at finde række nummeret i arrayet . Da vores liste starter fra den 5. række og fremefter, 4 er blevet fratrukket, så placeringen af den sidste forekomst af Bill er 9 på vores liste, så formlen vil returnere som-
9 .
➥ INDEX($C$5:$C$13,SUMPRODUCT(MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))-4)))
INDEX funktionen bruges til at finde salget for det sidst matchede navn. Og den returnerer som-
563
Det er vores sidste forekomst for Bill.
Metode 4: Brug Excel VBA til at finde den sidste forekomst af en værdi i kolonnen
Hvis du kan lide at kode i Excel, er denne metode velegnet til dig. Vi kan også udføre den tidligere operation ved hjælp af VBA-metoden. Lad os gennemgå følgende trin, hvordan vi nemt kan gøre det.
Til det formål vil jeg først lave en dropdown-bar for de unikke navne. Derefter vil jeg lave en ny brugerdefineret funktion " LastItemLookup " ved hjælp af VBA som vi skal bruge til at finde den sidste forekomst.
Trin 1:
➦ Først kopierer du de unikke navne fra hovedarket til et nyt ark.
Trin 2:
➦ Gå derefter til hovedarket. Aktivér en ny celle. Jeg valgte E5.
➦ Klik Data> Dataværktøjer> Datavalidering.
A dialogboks vil blive vist.
Trin 3:
➦ Vælg Liste fra den Tillad bar.
➦ Tryk derefter på åben ikonet fra den Kilde bar.
Trin 4:
➦ Gå derefter til dit nye ark, og vælg de unikke navne.
➦ Tryk på OK
Se en pil ned tegnet vises i den pågældende celles højre side. Ved at klikke her kan du vælge et hvilket som helst navn. Det sparer os tid, fordi vi ikke behøver at skrive navnene hver gang.
Nu laver vi en ny funktion ved navn LastItemLookup med Excel VBA.
Trin 5:
➦ R ærkeklik på musen på arkets navn.
➦ Vælg Se kode fra den kontekstmenu .
A VBA vindue åbnes.
Trin 6:
➦ Indtast koderne nedenfor:
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
Trin 7:
➦ Tryk derefter på afspilningsknappen for at køre koderne. A dialogboks ved navn Makroer vil blive vist.
➦ Klik Kør .
Vores nye funktion er nu klar.
Trin 8:
➦ Vend nu tilbage til dit regneark.
➦ Aktivere Celle F5
➦ Indtast nedenstående formel med den nye funktion.
=LastItemLookup(E5,B5:C13,2)
➦ Tryk på Indtast for at få det sidste resultat for Ron .
Når du nu vælger en sælgers navn, får du den tilsvarende værdi for den sidste forekomst.
Konklusion
Jeg håber, at alle de metoder, der er beskrevet ovenfor, vil være godt nok til at vlookup den sidste værdi i en kolonne. Du er velkommen til at stille spørgsmål i kommentarfeltet og giv mig venligst feedback