Excel-formel: VLOOKUP med tal og tekst -

Generisk formel

=VLOOKUP(val&"",table,col,0)

Resumé

For at bruge VLOOKUP-funktionen til at hente oplysninger fra en tabel, hvor nøgleværdierne er tal, der er gemt som tekst, kan du bruge en formel, der sammenkæder en tom streng ("") til den numeriske opslagsværdi og tvinger den til tekst. I det viste eksempel er formlen i H3:

=VLOOKUP(id&"",planets,2,0) // returns "Earth"

hvor id (H2) og planeter (B3: B11) er navngivet områder.

Bemærk: Eksemplet er en løsning på problemet med uoverensstemmende tal og tekst, der forårsager en # N / A-fejl. Hvis der ikke er nogen uoverensstemmelse, er løsningen ikke nødvendig, og du kan bruge en normal VLOOKUP-formel.

Forklaring

En almindelig VLOOKUP-fejl er et misforhold mellem tal og tekst. Mest typisk indeholder opslagskolonnen i tabellen numeriske værdier, der ligner tal, men faktisk tal gemt som tekst. Når et ægte nummer sendes til VLOOKUP som det første argument, returnerer formlen en # N / A-fejl, selvom der ser ud til at være et match. Skærmen nedenfor viser et eksempel på dette problem:

Tallene i kolonne B er faktisk tekst, så den numeriske opslagsværdi 3 mislykkes, selvom det ser ud til, at VLOOKUP skal matche B5 og returnere "Jorden". Du kan indtaste et tal som en tekstværdi ved at gå foran nummeret med et enkelt citat (').

Den bedste løsning er at sikre, at opslagsværdierne i tabellen faktisk er tal. Men hvis du ikke har kontrol over tabellen, kan du ændre VLOOKUP-formlen for at tvinge opslagsværdien til at matche typen i tabellen. I det viste eksempel tvinger vi den numeriske opslagsværdi til tekst ved at sammenkæde en tom streng:

=VLOOKUP(id,planets,2,0) // original =VLOOKUP(id&"",planets,2,0) // revised

Og den reviderede formel tager sig af fejlen:

Du kan også gøre det samme med en længere formel, der bruger TEKST-funktionen til at konvertere nummeret til tekst:

=VLOOKUP(TEXT(id,"@"),planets,2,0)

Både tal og tekst

Hvis du ikke kan være sikker på, hvornår du har tal, og hvornår du har tekst, kan du imødekomme begge muligheder ved at indpakke VLOOKUP i IFERROR-funktionen og bruge en formel, der håndterer begge tilfælde:

=IFERROR(VLOOKUP(id,planets,3,0),VLOOKUP(id&"",planets,3,0))

Her prøver vi først en normal VLOOKUP-formel, der antager, at både opslagsværdi og den første kolonne i tabellerne er tal. Hvis det kaster en fejl, prøver vi igen med den reviderede formel. Hvis denne formel også mislykkes, returnerer VLOOKUP en # N / A-fejl som altid.

Interessante artikler...