Szybko zamień # nie dotyczy na 0 podczas vlookup

21

Używam vlookupdużo w programie Excel.

Problem dotyczy #N/Awartości, gdy nie można znaleźć wartości wyszukiwania.

W takim przypadku często zastępujemy go przez 0 za pomocą

if(isna(vlookup(what,range,column,false));0; vlookup(what,range,column;false))

które powtarzają vlookup (co, zakres, kolumna, fałsz) dwa razy i sprawiają, że formuła wygląda dla mnie brzydko i obojętnie.

Czy masz jakieś inne rozwiązania tego problemu?

Nam G VU
źródło

Odpowiedzi:

32

Która wersja programu Excel? W programie Excel 2007 lub nowszym możesz użyć takiej funkcji JEŻELI

=IFERROR(VLOOKUP(A1,B2:E3,4,0),0)

Barry Houdini
źródło
correctomundo +1
Raystafarian
@Raystafarian Nie mogę zrozumieć, co masz na myśli :)
Nam G VU
@barry houdini Horay!
Nam G VU
@NamGiVU Właśnie zgadzałem się z odpowiedzią
Barry'ego
5

Możesz także użyć, IFNAjeśli chcesz wykryć tylko błędy # N / A.

=IFNA(Formula,0)

Wyświetli się 0zamiast błędu # N / A.

Matt the Wiz
źródło
1

To jest naprawdę dość potężne i od jakiegoś czasu przeszukuję sieć, aby uzyskać odpowiedź na to pytanie. W moim przypadku nie chcę jednak zastępować literą „ #N/Aa” 0, ale chcę użyć alternatywnych informacji. W moim przypadku, jeśli VLOOKUPnic nie znajdzie, chcę, aby używał zawartości innej komórki. (Używam programu Excel 2010, ale to nie powinno mieć znaczenia) Załóżmy, że moja formuła w komórce jest E3włączona Sheet1, a dane, które chcę pobrać, są gdzieś Sheet2. Jeśli nie ma żadnych danych Sheet2, chcę, aby moja komórka używała danych z Sheet1.

=IFERROR(VLOOKUP(A3,Sheet2!B2:E3,4,FALSE),Sheet1!D3)

Do pierwotnego respondenta DZIĘKUJEMY. Sprawiłeś, że moje życie jest dziś trochę łatwiejsze. Mam nadzieję, że moje rozwlekłe rozwinięcie twojej odpowiedzi pomoże komuś również!

Michael
źródło