2012-03-05 15:21:17 +0000 2012-03-05 15:21:17 +0000
21
21

Quick replace #N/A by 0 when vlookup

I use vlookup a lot in excel.

The problem is with #N/A value when the seek value is not found.

In that case, we often replace it by 0 using

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

which repeat vlookup(what,range,column,false) twice and make the formula look ugly & dummy to me.

Do you have other work around for this issue?

Odpowiedzi (3)

32
32
32
2012-03-05 15:46:58 +0000

Która wersja programu Excel? W programie Excel 2007 lub nowszym można korzystać z funkcji IFERROR jak ta

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

5
5
5
2016-04-28 13:54:54 +0000

Możesz również użyć IFNA jeśli chcesz wykryć tylko błędy #N/A.

=IFNA(Formula,0)

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

1
1
1
2014-06-27 04:29:18 +0000

To jest naprawdę dość potężne, a ja od jakiegoś czasu przeszukuję sieć, aby uzyskać odpowiedź na to pytanie. W moim przypadku jednak nie chcę zamienić #N/A na 0, ale zamiast tego chcę użyć alternatywnych informacji. W moim przypadku, jeśli VLOOKUP nic nie znajdzie, chcę, aby wykorzystał zawartość innej komórki. (Używam Excel 2010, ale to nie powinno mieć znaczenia) Załóżmy, że moja formuła w komórce E3 na Sheet1, a dane, które chcę wyciągnąć jest gdzieś na Sheet2. Jeśli nie ma danych, które można znaleźć na Sheet2, to chcę, aby moja komórka używać danych z Sheet1.

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

Do oryginalnego respondenta, Dziękujemy. Ułatwiłeś mi dzisiaj trochę życie. Mam nadzieję, że moje rozszerzenie twojej odpowiedzi też komuś pomoże!