web-dev-qa-db-ja.com

#DIV / 0を隠すにはどうすればいいですか。参照セルが空白のときにエラーが発生しましたか。

C列にはプロダクションがあります。 D列には目標があります。 E列には、分散%があります。私の式は=(D11-C11)/D11です

しかし、D11を隠すためにC11#DIV/0!に何かを入れるまで、どのようにしてセルをシートの下に隠すのですか。 IF式を使用してみましたが、うまくいかないようですか?

27
Jackie Reid

IFERROR関数

エラーを処理するためだけに設計された "特別な" 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)を使用してそれを実行できます。

45
fixer1234

IF ステートメント内に論理チェックがあります(最初の部分)。

IF(logical_test, value_if_true, [value_if_false])

生産データや目標データが空白のときに発生するエラーを回避するには、論理関数内で ORISBLANK 関数と共に使用します。チェック。

=IF(OR(ISBLANK(C11),ISBLANK(D11)), "", (D11-C11)/D11)

これは、参照されるどちらかのセルが空白かどうかを確認します。片方または両方が空白の場合(論理テストをTRUEにする)、IFステートメントのIF TRUE部分が処理されます。この場合、""は式に何もしないように指示します。そうでなければ、それはあなたが持っている式である式のIF FALSE部分を処理するでしょう。

11
CharlieRB

スプレッドシート全体を選択し、次にメニューの下にホーム - 条件付き書式設定 - 新しい規則... - 選択を含むセルのみをフォーマット - 下を持つセルのみをフォーマットselectエラー - フォーマット...ボタンをクリック - フォントタブに移動 - 下 )色背景と同じフォント色を選択します(白など)。

New Rule Dialog

これを試して:

= IF(D11 <> 0、(D11-C11)/ D11、 "")
= IF(D11 = 0、 ""、(D11-C11)/ D11)
1
BillDOe