Indholdsfortegnelse
VLOOKUP er en af Microsoft Excels mest kraftfulde, fleksible og yderst nyttige funktioner til at søge og hente værdier - enten nøjagtigt matchende værdier eller de nærmeste matchende værdier - ved at slå en tilsvarende værdi op. Men begrænsningen for funktionen VLOOKUP funktion er, at den udfører et opslag, der tager hensyn til store og små bogstaver. Den kan ikke skelne mellem store og små bogstaver. I denne artikel vil vi vise dig, hvordan du kan gøre VLOOKUP er følsom over for store og små bogstaver i Excel.
Download skabelon til praksis
Du kan downloade den gratis Excel-øvelsesskabelon her og øve dig på egen hånd.
VLOOKUP Case Sensitive.xlsxVLOOKUP i Excel
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 for at returnere en værdi fra en anden kolonne i samme række.
Generisk formel:
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
Her,
Argumenter | Definition |
---|---|
opslagsværdi | Den værdi, du forsøger at matche |
table_array | Det dataområde, som du vil søge efter din værdi |
col_index_num | Tilsvarende kolonne i lookup_value |
range_lookup | Dette er en boolsk værdi: TRUE eller FALSE. FALSK (eller 0) betyder nøjagtig overensstemmelse og SAND (eller 1) betyder tilnærmelsesvis overensstemmelse. |
4 dynamiske metoder til at gøre VLOOKUP Case Sensitive i Excel
I det følgende datasæt af studerende er der to studerende med samme fornavn, men med forskellige efternavne, som har opnået forskellige resultater.
Vi ønsker at foretage et opslag efter John Show's score. Så lad os anvende den generiske VLOOKUP formel for at få resultatet.
=VLOOKUP(G3,B2:D7,3,0)
Men som du kan se på billedet ovenfor, gav den os resultatet John Kenas score i stedet for John Show's score. Det skyldes, at VLOOKUP søger efter opslagsværdien i arrayet og returnerer den første værdi, som den får; den håndterer ikke bogstavernes forskellighed i forhold til store og små bogstaver.
Så for at få en case-sensitiv VLOOKUP skal du udføre funktionen på en anden måde. Og for at få det, skal vi være lidt snedige for at få John Show's score i den pågældende celle. Det kan vi gøre ved at implementere forskellige funktioner sammen for at udføre en VLOOKUP .
I de næste afsnit vil vi gennemgå kombinationen af INDEX-funktionen og MATCH-funktionen , kombinationen af de VLOOKUP og funktionen CHOOSE , funktionen SUMPRODUCT og køre XLOOKUP-funktionen for at lave en case sensitive VLOOKUP i Excel.
1. Brug af INDEX, MATCH-funktionen til at udvikle en Case Sensitive VLOOKUP i Excel
Vi kan få en case-sensitiv VLOOKUP ved at kombinere de INDEX og MATCH fungere sammen.
Generisk formel for kombinationen af de INDEX og MATCH funktion er,
=INDEX(data,MATCH(TRUE,EXACT(value,lookup_column),0),column_number)
Trinene for at få en case sensitive VLOOKUP ved at gennemføre den INDEX og MATCH funktion sammen er angivet nedenfor,
Trin:
- Klik på den celle, som du vil have din resultatværdi i (i vores tilfælde var cellen G4 ).
- Og skriv følgende formel,
=INDEX(D2:D7,MATCH(TRUE,EXACT(G3,B2:B7),0)))
Se nu på billedet ovenfor, hvor du kan se, at det er John Show's score, der er der, og ikke John Cena's score.
Opdeling af formler:
Lad os gennemgå formlen for at forstå, hvordan vi fandt ud af John Show's score.
- EXACT(G3,B2:B7) -> Den EKSACT funktion i Excel returnerer TRUE hvis to strenge er nøjagtigt ens, og FALSK hvis to strenge ikke stemmer overens. Her giver vi EKSACT funktionen et array som andet argument og beder den om at finde ud af, om den Celle G3 (hvor vi gemmer vores opslagsværdi, john) er deri eller ej. Da vi har givet et array som input, får vi et array af TRUE eller FALSK i output. Og output gemmes i Excels hukommelse, ikke i et område
Output: {FALSK;FALSK;FALSK;FALSK;FALSK;FALSK;FALSK;SAND}
Dette er resultatet af sammenligningen af værdien af G3 i hver celle i opslagsrækken. Da vi fik en TRUE så det betyder, at der er et nøjagtigt match af opslagsværdien. Nu skal vi bare finde ud af positionen (række nummeret) for denne TRUE værdi i arrayet.
MATCH funktion til undsætning!
- MATCH(TRUE,EXACT(G3,B2:B7),0) -> bliver MATCH({FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE}))
Forklaring: MATCH funktionen returnerer positionen for den første matchede værdi. I dette eksempel ønskede vi at få et nøjagtigt match, så vi satte det tredje argument som 0 (SAND).
Output: 6
- INDEX(D2:D7,MATCH(TRUE,EXACT(G3,B2:B7),0))) -> bliver INDEX(D2:D7,6)
Forklaring: INDEX funktionen tager to argumenter og returnerer en bestemt værdi i et endimensionalt område. Da vi allerede kender placeringen af række nummeret (6) der indeholder vores ønskede værdi, skal vi bruge INDEX for at udtrække værdien af den pågældende position.
Output: 22
Så scoren for john Show er 22.
2. Kombination af VLOOKUP & CHOOSE-funktionen for at udføre en case-sensitiv VLOOKUP i Excel
Vi kan gennemføre to måder i kombinationen af VLOOKUP og VÆLG funktion til at lave en case-sensitive VLOOKUP i Excel.
2.1 Gør VLOOKUP Case Sensitive med hjælpespalte
Ved at indsætte en ny kolonne for at få en unik opslagsværdi for hvert element i opslagsarrayet er en anden effektiv måde at få arbejdet gjort på. Dette hjælper med at skelne mellem navne med forskellige bogstaver. Og vi vil kalde den nyindsatte kolonne for Helper-kolonnen.
Trinene for at få en case sensitive VLOOKUP med hjælpesøjle er angivet nedenfor,
Trin:
- Indsæt en hjælpekolonne til venstre for den kolonne, hvorfra du vil hente dataene.
- Indtast formlen i hjælpekolonnen =ROW() Det indsætter rækkens nummer i hver celle.
- Klik på den celle, som du vil have din resultatværdi i (i vores tilfælde var cellen H4 ).
- Og skriv følgende formel,
=VLOOKUP(MAX(EXACT(H3,$B$2:$B$7)*(ROW($B$2:$B$7)))),$D$2:$E$7,2,0)
Se nu på billedet ovenfor, hvor du kan se, at det er John Show's score, der er der, og ikke John Cena's score.
Opdeling af formler:
Lad os gennemgå formlen for at forstå, hvordan vi fandt ud af John Show's score.
- EXACT(H3,$B$2:$B$7) -> Som tidligere diskussion, EKSACT returnerer et array af TRUE og FALSK værdier, hvor TRUE repræsenterer kryds og tværs af store og små bogstaver og FALSK repræsenterer de uoverensstemmende værdier. I vores tilfælde vil den altså returnere følgende array,
Output: {FALSK;FALSK;FALSK;FALSK;FALSK;FALSK;FALSK;SAND}
- EXACT(H3,$B$2:$B$7)*(ROW($B$2:$B$7) -> bliver { FALSK;FALSK;FALSK;FALSK;FALSK;FALSK;TRUE} * {John,Roman,Seth,Dean,Finn,John,Seth,Dean,Finn,John}
Forklaring: Den repræsenterer multiplikationen mellem arrayet af SAND/FALSK og rækkenummeret i B2:B7 . Når der er en TRUE , uddrager den række nummeret. Ellers er det FALSK .
Output: {0;0;0;0;0;7}
- MAX(EXACT(H3,$B$2:$B$7)*(ROW($B$2:$B$7)))) -> bliver MAX( 0;0;0;0;0;7)
Forklaring: Den returnerer den maksimale værdi fra talmatrixen.
Output: 7 (som også er det rækkenummer, hvor der er et nøjagtigt match).
- VLOOKUP(MAX(EXACT(H3,$B$2:$B$7)*(ROW($B$2:$B$7)))),$D$2:$E$7,2,0) -> bliver VLOOKUP(7,$D$2:$E$7,2,0)
Forklaring: Den kan simpelthen udtrække opslagsværdien fra arrayet (D2:D7) og da vi ønsker at finde et nøjagtigt match, skal vi sætte argumentet 0 (SAND).
Output: 22
Så scoren for john Show er 22.
Bemærk: Du kan indsætte hjælpekolonnen hvor som helst i datasættet. Du skal blot sørge for at indsætte den til venstre for den kolonne, hvorfra du vil hente dataene. Du skal derefter justere kolonnenummeret i VLOOKUP funktion i overensstemmelse hermed.
2.2 Gør VLOOKUP Case Sensitive med virtuelle hjælpedata
Idéen med at bruge virtuelle hjælpedata svarer næsten til indsættelse af hjælpekolonnen, men det nye er, at i stedet for at indsætte en egentlig kolonne i regnearket fungerer selve formlen som kolonner.
Trinene for at få en case sensitive VLOOKUP med virtuelle hjælpedata er angivet nedenfor,
Trin:
- Klik på den celle, som du vil have din resultatværdi i (i vores tilfælde var cellen I4 ).
- Og skriv følgende formel,
=VLOOKUP(MAX(EXACT(I3,$D$2:$D$7)*(ROW($D$2:$D$7))),CHOOSE({1,2},ROW($D$2:$D$7),$F$2:$F$7),2,0
Se nu på billedet ovenfor, hvor du kan se, at det er John Show's score, der er der, og ikke John Cena's score.
Den følgende del af den fulde formel fungerer her som den hjælpedata ,
=---CHOOSE({1,2},ROW($D$2:$D$7),$F$2:$F$7)---
Opdeling af formler:
Lad os gennemgå formlen for at forstå, hvordan Virtual Helper Data hjalp os med at finde John Show's score.
- CHOOSE({1,2},ROW($D$2:$D$7),$F$2:$F$7) -> Hvis du illustrerer denne formel ved at markere den og trykke på F9 , vil det give dig resultatet som,
Output: {2,100;3,50;4,30;5,80;6,60;7,22}
Forklaring: Det repræsenterer et array, som viser os række nummeret og den værdi, der er tilknyttet det fra det givne array divideret med komma (,) . og hver enkelt semikolon (;) repræsenterer det efterfølgende nye rækkenummer. Så som det ser ud, blev der oprettet to kolonner bestående af rækkenummeret og den kolonne, som har den returnerede opslagsværdi (dvs. rækkenummer og kolonne Score i vores tilfælde).
- VLOOKUP(MAX(EXACT(I3,$D$2:$D$7)*(ROW($D$2:$D$7))),CHOOSE({1,2},ROW($D$2:$D$7),$F$2:$F$7),2,0 -> bliver VLOOKUP(7,{2,100;3,50;4,30;5,80;6,60;7,22},2,0)
Forklaring: Når du anvender VLOOKUP funktion, søger den blot efter opslagsværdien i den første kolonne fra de to virtuelle datakolonner og returnerer den tilsvarende værdi (dvs. Score ). Opslagsværdien her er kombinationen af MAX og EKSACT funktion, som vi fik fra beregningen i ovenstående diskussion om hjælpesøjlen.
Output: 22
Så scoren for john Show er 22.
3. Brug af SUMPRODUCT-funktionen til at gøre VLOOKUP Case Sensitive i Excel
Vi kan få en case sensitive VLOOKUP ved at gennemføre den SUMPRODUKT funktion i Excel.
Generisk formel:
=SUMPRODUKT(- -( EXACT(value,lookup_column)),result_column)
Trinene for at få en case sensitive VLOOKUP ved at gennemføre den SUMPRODUKT funktion er angivet nedenfor,
Trin:
- Klik på den celle, som du vil have din resultatværdi i (i vores tilfælde var cellen G4 ).
- Og skriv følgende formel,
=SUMPRODUKT((EXACT(B2:B7,G3) * (D2:D7)))
Se nu på billedet ovenfor, hvor du kan se, at John Show har scoret, men ikke John Cena.
Opdeling af formler:
Lad os gennemgå formlen for at forstå, hvordan vi fandt ud af John Show's score.
- EXACT(B2:B7,G3) -> Som tidligere diskussion, EKSACT returnerer et array af TRUE og FALSK værdier, hvor TRUE repræsenterer kryds og bogstaver og FALSK repræsenterer de uoverensstemmende værdier. I vores tilfælde vil den altså returnere følgende array,
Output: {FALSK;FALSK;FALSK;FALSK;FALSK;FALSK;FALSK;SAND}
- SUMPRODUKT((EXACT(B2:B7,G3) * (D2:D7))) -> bliver SUMPRODUCT({FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE} * {100,50,30,80,60,22})
Forklaring: SUMPRODUKT multiplicerer derefter blot værdierne i hvert array sammen for at udtrække et endeligt array, {FALSK;FALSK;FALSK;FALSK;FALSK;FALSK;FALSK;22} . og derefter summere og returnere værdien.
Output: 22
Så scoren for john Show er 22.
Det magiske ved denne formel er, at den FALSK værdierne ophæver faktisk alle de andre værdier. De eneste værdier, der overlever, er dem, der var TRUE .
Så huske på at, hvis der er flere match i arrayet, så SUMPRODUKT returnerer summen af alle de matchede værdier. Også, SUMPRODUKT fungerer kun med numeriske værdier, men ikke med tekst. Så hvis du vil have en unik tekstværdi, skal du bruge ovenstående metoder, som vi har gennemgået, hvis du ønsker at få en unik tekstværdi.
4. Case Sensitive XLOOKUP Formel til at udføre en Case Sensitive VLOOKUP i Excel
Vi kan få en case sensitive VLOOKUP ved at udføre den XLOOKUP funktion i Excel.
Generisk formel:
=XLOOKUP(TRUE,EXACT(lookup_value, lookup_array), return_array, "Not Found")
Trinene for at få en case sensitive VLOOKUP ved at gennemføre den XLOOKUP Formlen er angivet nedenfor,
Trin:
- Klik på den celle, som du vil have din resultatværdi i (i vores tilfælde var cellen G4 ).
- Og skriv følgende formel,
=XLOOKUP(TRUE, EXACT(G3, B2:B7), D2:D7, "Ikke fundet")
Se nu på billedet ovenfor, hvor du kan se, at det er John Show's score, der er der, og ikke John Cena's score.
Opdeling af formler:
Lad os gennemgå formlen for at forstå, hvordan vi fandt ud af John Show's score.
- EXACT(G3, B2:B7) -> Som tidligere diskussion, EKSACT returnerer et array af TRUE og FALSK værdier, hvor TRUE repræsenterer kryds og tværs af store og små bogstaver og FALSK repræsenterer de uoverensstemmende værdier. I vores tilfælde vil den altså returnere følgende array,
Output: {FALSK;FALSK;FALSK;FALSK;FALSK;FALSK;FALSK;SAND}
- XLOOKUP(TRUE, EXACT(G3, B2:B7), D2:D7, "Ikke fundet") -> bliver XLOOKUP( {FALSK;FALSK;FALSK;FALSK;FALSK;FALSK;FALSK;SAND}, {100,50,30,80,60,22}, "Ikke fundet")
Forklaring: Derefter XLOOKUP søger i det givne array (i vores tilfælde var arrayet B2:B7 ) for den TRUE værdi og returnerer et match fra det returnerede array ( D2:D7 ).
Output: 22
Så scoren for john Show er 22.
Husk, at , hvis der er flere samme værdier i opslagskolonnen (inklusive bogstavsangivelser), returnerer formlen den første match, der er fundet.
Bemærk: Denne XLOOKUP formlen vil kun fungere i Excel 365 .
Vigtige punkter, du skal huske på
- Da området i datatabellens array, der skal søge efter værdien, er fast, skal du ikke glemme at sætte dollar ($) foran cellereferencenummeret i arraytabellen.
- Når du arbejder med array-værdier, skal du ikke glemme at trykke på Ctrl + Shift + Enter på tastaturet, mens du udtrækker resultater. Hvis du kun trykker på Indtast fungerer ikke, når der arbejdes med array-værdier.
- Når du har trykket på Ctrl + Shift + Enter , vil du bemærke, at formellinjen omslutter formlen i parenteser {} , og erklærer den som en array-formel. Du skal ikke skrive disse parenteser {} selv, Excel gør det automatisk for dig.
Konklusion
Denne artikel forklarede i detaljer, hvordan man laver VLOOKUP case sensitive i Excel ved at implementere en kombination af funktioner. Jeg håber, at denne artikel har været til stor gavn for dig. Du er velkommen til at spørge, hvis du har spørgsmål vedrørende emnet.