IF (OR) ステートメントの空白セルの処理方法

IF (OR) ステートメントの空白セルの処理方法

機能する数式はありますが、問題は列 G にあります。

G列のセルが空白の場合は、#価値

これを修正する簡単な方法を知っている人はいますか?

式は以下のとおりです。

=IF(OR(L$3 < $G4,L$3 > $H4-1,$D4="None"),0,IF($D4="Once",IF(L$3=$G4,$F4,0),IF($D4="Daily",$J4,IF($D4="Weekly",$J4,IF($D4="Monthly",$J4,IF($D4="Quarterly",$J4))))))

どうもありがとう!

答え1

jatulle さんのおっしゃる通り、iferror で囲めばうまくいき、完全な答えになります。ただし、ネストされた数式で発生するその他のエラーもマスクされてしまいます。これは好みに合うかどうかはわかりません。

ラッピングを行う別の方法としては、先頭の空白にチェックを入れるという方法があります。

  • if($g4="","", {元の式の残り},"")

数式の前に$g4が空の場合はセルは空白のままになります。複数のセルがあり、すべてのセルに値がある場合のみにしたい場合は、ORを使用します。

  • if(or($g4="",L$3=""),{元の式の残り},"")

最後に、これを複数の場所で使用する場合は、名前に変換します(リボンの名前マネージャーを使用)。

  • 有効=または($g4="",L$3)

それは次のように使われるだろう

  • If(Valid,{元の式の残り},"")

後で何かを変更する必要がある場合に作業しやすいように、or($g4="") ではなく Valid のような名前を使用することを好みます。

最後に、isblank($g4) の代わりに $g4="" を使い続けました。読みやすい場合は、ISblank を使用することもできます。

答え2

式全体をIFERROR( anything , "value if error" )次のように囲みます。

=IFERROR(IF(OR(L$3 < $G4,L$3 > $H4-1,$D4="None"),0,IF($D4="Once",IF(L$3=$G4,$F4,0),IF($D4="Daily",$J4,IF($D4="Weekly",$J4,IF($D4="Monthly",$J4,IF($D4="Quarterly",$J4)))))), "" )

関連情報