2016-12-06 8 views
1

非常に簡単な質問です。私は4列あります。列1の値がFalseまたは0またはN/Aの場合、列2をチェックします。列2の値がFalseまたは0またはN/Aの場合は、列3をチェックします。 3列目はFalseですOR 0またはN/Aは、その後、私は列4.私は次のようである持っている式の値を印刷したい:IF文で値を確認する

=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))) 

だから、BJは、列1、BK塔2、BL列3 、BM column 4 数式はFalseと0エラーで機能しますが、ISNAパーツを追加すると分解されます。実際、それは単に何もしません。

列内のデータは、文字列、FALSE(文字列ではない)、または使用できないエラーとして#N/Aのいずれかです。 N/A値の1つをISNAでチェックし、結果がTrueであった。したがって、OR文はTRUEに戻り、否定をパスしてfalseになるはずです。したがって、If文は次のカラムにジャンプする必要があります。

これを読み取らない原因は何ですか?

答えて

1

問題はBJ2N/Aであることを起こる場合BJ2=FALSEまたはBJ2=0、たとえば、のような表現がN/Aに評価されるということです。だから、何かが起きた場合、OR関数はがすべての引数を評価するので、N/Aで答えるでしょう! (なぜか分からない)。

関連する問題