3つ以上の条件を持つExcel 2010で条件付きネスト式を作成するにはどうすればよいですか?


1

「A、B、C、D」があります。「a> 0の場合はaを使用し、そうでない場合はbを使用します。bにエラー「#N / A」がある場合はcを使用します。

これまでのところ、私はこれを持っています:

=IF(DB11>0,DB11,IF(ISNA(DA11),CZ11,IF(CZ11=0,BE11/61,CZ11)))

ここで、DB11 = 0(A)、DA11 =#N / A(B)、CZ11 = 138(C)およびBE11 = 6000(D)


この記事は、ネストの理解に役立つかもしれません。
Trav

回答:


1

あなたの条件を言い換えることは、あなたがどこを間違えたかを見分けるのに役立つと思います。代わりにこのように考えてください:

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=0b=#N/Ac=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

コメント:頭を包み込むには長すぎる/複雑な式は、分割して中間結果を追加の列に入れることで単純化できます。
ジェイミーハンラハン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.