C列にはプロダクションがあります。 D列には目標があります。 E列には、分散%があります。私の式は=(D11-C11)/D11
です
しかし、D11
を隠すためにC11
と#DIV/0!
に何かを入れるまで、どのようにしてセルをシートの下に隠すのですか。 IF
式を使用してみましたが、うまくいかないようですか?
エラーを処理するためだけに設計された "特別な" IF
テストがあります。
=IFERROR( (D11-C11)/D11, "")
結果がエラーでない限り、これにより計算値(D11-C11)/ D11が得られます。その場合、結果は空白になります。
最後のパラメータである "if error"の値は何でも構いません。空の二重引用符に限定されません。 IFERRORは、次のように、エラー値を返す条件(#
で始まるもの)に対して機能します。
#NULL! - reference to an intersection of two ranges that don't intersect
#DIV/0! - attempt to divide by zero
#VALUE! - variable is the wrong type
#REF! - invalid cell reference
#NAME? - formula name, or text within a formula, isn't recognized
#NUM! - invalid number
#N/A - value is not available
これはデバッグに便利です。式がエラーを生成したときに関数を一時的に式の周囲に折り返してメッセージテキストを返すことができます。また、IFテストの合理化された形式です。それをテストするための式を含める必要はなく、その結果を使用するために式を再度含める必要はありません。
この機能は他のスプレッドシートプログラムのユーザにも利用可能です。バージョン4.0でLibreOffice Calcに追加されました(一部のLinuxディストリビューションではまだ配布されていません)。しかし@Kroltanが指摘しているように、Googleスプレッドシートではさらに合理化されており、 "if error"の値はオプションです。存在しない場合は、デフォルトで空白になります。そのため、潜在的なエラー値を隠したいだけのような場合、Google SheetsはIFERROR(expression)
を使用してそれを実行できます。
IF
ステートメント内に論理チェックがあります(最初の部分)。
IF(logical_test, value_if_true, [value_if_false])
生産データや目標データが空白のときに発生するエラーを回避するには、論理関数内で OR
を ISBLANK
関数と共に使用します。チェック。
=IF(OR(ISBLANK(C11),ISBLANK(D11)), "", (D11-C11)/D11)
これは、参照されるどちらかのセルが空白かどうかを確認します。片方または両方が空白の場合(論理テストをTRUEにする)、IF
ステートメントのIF TRUE
部分が処理されます。この場合、""
は式に何もしないように指示します。そうでなければ、それはあなたが持っている式である式のIF FALSE
部分を処理するでしょう。
これを試して:
= IF(D11 <> 0、(D11-C11)/ D11、 "")
= IF(D11 = 0、 ""、(D11-C11)/ D11)