Excel-formule: VERT.ZOEKEN met cijfers en tekst -

Generieke formule

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

Samenvatting

Als u de functie VERT.ZOEKEN wilt gebruiken om informatie op te halen uit een tabel waarvan de sleutelwaarden getallen zijn die als tekst zijn opgeslagen, kunt u een formule gebruiken die een lege tekenreeks ("") samenvoegt aan de numerieke opzoekwaarde en deze dwingt tot tekst. In het getoonde voorbeeld is de formule in H3:

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

waarbij id (H2) en planeten (B3: B11) bereiken worden genoemd.

Opmerking: het voorbeeld is een tijdelijke oplossing voor het probleem van niet-overeenkomende cijfers en tekst, die een # N / A-fout veroorzaken. Als er geen mismatch is, is de tijdelijke oplossing niet nodig en kunt u een normale VERT.ZOEKEN-formule gebruiken.

Uitleg

Een veel voorkomende VERT.ZOEKEN-fout is een discrepantie tussen cijfers en tekst. Meestal bevat de opzoekkolom in de tabel numerieke waarden die op getallen lijken, maar in feite getallen zijn die als tekst zijn opgeslagen. Wanneer een echt getal wordt doorgegeven aan VERT.ZOEKEN als het eerste argument, retourneert de formule de fout # N / B, ook al lijkt er een overeenkomst te zijn. Het onderstaande scherm toont een voorbeeld van dit probleem:

De getallen in kolom B zijn eigenlijk tekst, dus de numerieke opzoekwaarde, 3, mislukt, ook al lijkt VERT.ZOEKEN overeen te komen met B5 en "Aarde" terug te geven. U kunt een getal als tekstwaarde invoeren door het getal vooraf te laten gaan met een enkele aanhalingsteken (').

De beste oplossing is om ervoor te zorgen dat de opzoekwaarden in de tabel inderdaad getallen zijn. Als u echter geen controle over de tabel heeft, kunt u de VERT.ZOEKEN-formule wijzigen om de opzoekwaarde af te dwingen zodat deze overeenkomt met het type in de tabel. In het getoonde voorbeeld dwingen we de numerieke opzoekwaarde naar tekst door een lege string samen te voegen:

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

En de herziene formule zorgt voor de fout:

Je zou ook hetzelfde kunnen doen met een langere formule die de TEXT-functie gebruikt om het getal naar tekst te converteren:

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

Zowel cijfers als tekst

Als je niet zeker weet wanneer je getallen hebt en wanneer je tekst hebt, kun je op beide opties inspelen door VERT.ZOEKEN in de IFERROR-functie in te pakken en een formule te gebruiken die beide gevallen afhandelt:

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

Hier proberen we eerst een normale VERT.ZOEKEN-formule die ervan uitgaat dat zowel de opzoekwaarde als de eerste kolom in de tabellen getallen zijn. Als dat een fout oplevert, proberen we het opnieuw met de herziene formule. Als die formule ook mislukt, retourneert VERT.ZOEKEN zoals altijd een # N / B-fout.

Interessante artikelen...