機能する数式はありますが、問題は列 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)))))), "" )