2016-12-06 2 views
1

Sehr einfache Frage. Ich habe vier Spalten. Wenn der Wert in Spalte 1 Falsch ODER 0 ODER N/V ist, möchte ich Spalte 2 überprüfen. Wenn der Wert in Spalte 2 Falsch ODER 0 ODER N/V ist, möchte ich Spalte 3 überprüfen. Wenn der Wert in Spalte 3 falsch oder 0 oder N/A, dann möchte ich Wert in Spalte drucken 4. Die Formel, die ich habe, ist wie folgt:Überprüfen von Werten mit IF-Anweisung

=IF(NOT(OR(ISNA(BJ2),BJ2=FALSE,BJ2=0)),BJ2, 
IF(NOT(OR(ISNA(BK2),BK2=FALSE,BK2=0)),BK2, 
IF(NOT(OR(ISNA(BL2),BL2=FALSE,BL2=0)),BL2,BM2))) 

so ist BJ Spalte 1, BK Spalte 2, Spalte 3 BL , BM Spalte 4. Die Formel funktioniert für die False und 0 Fehler, aber wenn ich den ISNA-Teil hinzufügen, bricht es zusammen. Tatsächlich macht es einfach nichts mehr.

Die Daten in den Spalten sind entweder Strings, FALSE (kein String) oder # N/A als ein Wert nicht verfügbar Fehler. Ich habe einen meiner N/A-Werte mit ISNA überprüft und das Ergebnis war True. Daher sollte die ODER-Anweisung als WAHR zurückkommen, dann durch die Negation gehen und falsch sein. Daher sollte die If-Anweisung zur nächsten Spalte springen.

Was nicht zu lesen verursacht das?

Antwort

1

Das Problem ist, dass ein Ausdruck wie, sagen wir, BJ2=FALSE oder BJ2=0 wird N/A bewerten, wenn BJ2N/A sein geschieht. Also, wenn alles dies geschieht die OR Funktion mit N/A beantworten, weil OR() alle seine Argumente auswertet! (Ich weiß nicht warum).

Verwandte Themen