2012-09-17 13:49:42 +0000 2012-09-17 13:49:42 +0000
27
27

Excel: Jeśli wyrażenie z #N/A

mam ponad 6000 rekordów, a połowa z nich to formuły, w których brakuje zmiennej, więc skutkują one #N/A na arkuszu kalkulacyjnym, to co chcę zrobić, to jeśli komórka jest #N/A to zostawić ją pustą, w przeciwnym razie wydrukować ciąg znaków taki jak

=IF(AR6347="#N/A","","string in here")

Ale to nie działa z ="#N/A", czy jest na to sposób?

Odpowiedzi (5)

33
33
33
2012-09-17 13:53:03 +0000

Spróbuj użyć funkcji ISNA():

=IF(ISNA(AR6347),"","string in here")
8
8
8
2012-09-18 08:06:07 +0000

W programie Excel 2007 i późniejszych można użyć:

=IFERROR(A1;“”)

aby zastąpić =“#N/A” lub inny błąd z pustym ciągiem znaków.

5
5
5
2012-09-19 08:07:43 +0000

Użyj funkcji iserror(). Na przykład, gdy vlookup nie znajduje wartości w mojej tabeli, chcę wyświetlić Not found zamiast #N/A, wtedy wpisuję:

=if(iserror(vlookup(A1,Sheet2!$A$1:$C$360,3,0)),'Not found',vlookup(A1,Sheet2!$A$1:$C$360,3,0))

Tak więc, ta formuła mówi tylko: jeśli funkcja vlookup pobiera błąd, to zwróć łańcuch 'Not found', w przeciwnym razie zwróć wynik funkcji vlookup.

1
1
1
2016-05-02 23:30:02 +0000

SIMPLEST METHOD

Możesz użyć tego bezpośrednio w komórce z formułą, jeśli chcesz pominąć pośrednie kroki komórki

=IFNA(formula,"text/value if formula result is #N/A")

To spowoduje umieszczenie wyniku formuły w komórce (jeśli wynik nie jest #N/A) i zamiast tego, jeśli wynik formuły jest #N/A, umieści w niej łańcuch tekstowy (lub jakąkolwiek wartość, którą umieścisz jako drugi argument).

Używam go z VLOOKUP i INDEX-MATCH przez cały czas, gdy nie chcę, aby #N/A’s były wyświetlane. W razie potrzeby zamieniam wynik #N/A na pustą komórkę (“”) lub zero(0) lub tekst (“łańcuch tekstowy”).

-1
-1
-1
2015-10-21 23:40:38 +0000

Użyłem czegoś podobnego, aby ustalić, czy element w A pasuje do elementu w D, a nie wyświetlać #N/A. Używany do celów prezentacji. =IF(IFERROR(MATCH(A4,$D$2:$D$11,0),0)>0, “tekst na TRUE”, “tekst na FALSE”)