回答:
あなたの条件を言い換えることは、あなたがどこを間違えたかを見分けるのに役立つと思います。代わりにこのように考えてください:
If `a>0`, then `a`. Otherwise, check if `b=#N/A`.
If `b=#N/A`, then check if `c=0`. Otherwise, `b`.
If `c=0`, then `d/61`. Otherwise, `c`.
最初の行と説明した内容の違いに注意してください。すぐに「使用b
」にジャンプしb
、既に使用するように言った後、条件を満たしていることを確認しました。これは、ネストされた条件ステートメントでは機能しません。何かを結論付けると、完了です。他の条件はチェックされません。
これを説明するために、場合を考えa=0
、b=#N/A
、c=0
、とd=61
。あなたはこれが結果になると期待してい1
ます。数式の評価は次のようになります。
=IF(0>0,DB11,IF(ISNA(DA11),CZ11,IF(CZ11=0,BE11/61,CZ11)))
=IF(FALSE,DB11,IF(ISNA(DA11),CZ11,IF(CZ11=0,BE11/61,CZ11)))
=IF(ISNA(DA11),CZ11,IF(CZ11=0,BE11/61,CZ11))
=IF(ISNA(#N/A),CZ11,IF(CZ11=0,BE11/61,CZ11))
=IF(TRUE,CZ11,IF(CZ11=0,BE11/61,CZ11))
=CZ11
=0
上の条件のチェックがあるのでb
で終わりc
、上の条件がc
さえ確認されることはありません。これがエラーの原因です。
数式の作成方法は次のとおりです。
=IF(DB11>0,DB11,IF(ISNA(DA11),IF(CZ11=0,BE11/61,CZ11),DA11))
これがどのように機能するかを説明するために、上記と同じ例を見てください。
=IF(0>0,DB11,IF(ISNA(DA11),IF(CZ11=0,BE11/61,CZ11),DA11))
=IF(FALSE,DB11,IF(ISNA(DA11),IF(CZ11=0,BE11/61,CZ11),DA11))
=IF(ISNA(DA11),IF(CZ11=0,BE11/61,CZ11),DA11)
=IF(ISNA(#N/A),IF(CZ11=0,BE11/61,CZ11),DA11)
=IF(TRUE,IF(CZ11=0,BE11/61,CZ11),DA11)
=IF(CZ11=0,BE11/61,CZ11)
=IF(0=0,BE11/61,CZ11)
=IF(TRUE,BE11/61,CZ11)
=BE11/61
=61/61
=1