Excel-formel: VLOOKUP om tomt returnerar tomt -

Generisk formel

=IF(VLOOKUP(A1,data,col,0)="","",VLOOKUP(A1,data,col,0))

Sammanfattning

För att söka efter tomma celler i VLOOKUP-resultat kan du kombinera VLOOKUP-funktionen med IF-funktionen. I exemplet som visas är formeln i G5, kopierad ner,:

=IF(VLOOKUP(E5,data,2,0)="","",VLOOKUP(E5,data,2,0))

där "data" är det namngivna området B5: C11.

Sammanhang

När VLOOKUP inte kan hitta ett värde i en uppslagstabell returnerar det # N / A-felet. Du kan använda IFNA-funktionen eller IFERROR-funktionen för att fånga upp detta fel. Men när resultatet i en uppslagstabell är en tom cell kastas inget fel, VLOOKUP returnerar helt enkelt noll.

Detta kan orsaka problem när uppslagstabellen innehåller faktiska nollvärden, eftersom det antyder att tomma celler i uppslagstabellen också innehåller nollor när de faktiskt är tomma. För att kringgå detta problem kan du testa resultatet av VLOOKUP uttryckligen med IF-funktionen och sedan returnera ett anpassat resultat om du hittar en tom sträng.

Förklaring

För att testa resultatet av VLOOKUP direkt använder vi IF-funktionen så här:

=IF(VLOOKUP(E5,data,2,0)="",""

Översatt: om resultatet från VLOOKUP är en tom sträng (""), returnera en tom sträng.

Om resultatet från VLOOKUP inte är en tom sträng, kör VLOOKUP igen och returnera ett normalt resultat:

VLOOKUP(E5,data,2,0)

Observera i båda fallen är det fjärde argumentet för VLOOKUP satt till noll för att tvinga en exakt matchning.

Alternativ med LEN eller ISNUMBER

Beroende på dina behov kan du utöka idén ovan för att köra mer specifika tester. För att till exempel testa för celler som bokstavligen har noll tecken (dvs. en längd på noll) kan du använda LEN-funktionen så här:

=IF(LEN(VLOOKUP(E5,data,2,0))=0,"",VLOOKUP(E5,data,2,0))

För att endast testa för numeriska resultat kan du använda ISNUMBER-funktionen och ordna logiken så här:

=IF(ISNUMBER(VLOOKUP(E5,data,2,0)),VLOOKUP(E5,data,2,0),"")

Översatt: om resultatet från VLOOKUP är ett nummer, returnera en normal sökning. Om inte, returnera en tom sträng ("").

Intressanta artiklar...