[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『IF関数』(よよよ)
初めて書き込みます。下記の関数ですが、ORやNやISNAを含んでいてよく理解できません。 なにのときなにを返す、というように教えていただけないでしょうか。よろしくお願いいたします。
=+IF(OR(N(Sheet1!C5),Sheet1C5=""),"",IF(OR(ISNA(Sheet1!C5),Sheet1!C5=""),A2,IF(A2="",Sheet1!D4,A2)))
=+IF(OR(N(Sheet1!C5),Sheet1C5=""),"",IF(OR(ISNA(Sheet1!C5),Sheet1!C5=""),A2,IF(A2="",Sheet1!D4,A2)))
Sheet1!C5が、「数値」又は「空白」ならば「空白を表示」
↑に、当てはまらない場合 Sheet1!C5が、「数値」又は「空白」ならば「A2を表示」
↑に、当てはまらない場合 A2が、「空白」ならば、「Sheet1!D4を表示」
↑当てはまらない場合、「A2を表示」
IF(OR(N(Sheet1!C5),Sheet1C5=""),"",IF(OR(ISNA(Sheet1!C5),Sheet1!C5=""),A2 この部分は、ダブっている気がしますが… 「A2」「空白」どちらにしたいのでしょう?
(Ohagi)
ネストが多い数式は、下記のように表示するとわかりやすいかもしれません。 (純丸)(o^-')b =+IF(OR(N(Sheet1!C5),Sheet1C5=""), "", IF(OR(ISNA(Sheet1!C5),Sheet1!C5=""), A2, IF(A2="", Sheet1!D4, A2)))
ROMと思っていたのですが、ひとことだけコメントさせていただきます。 通常は、=ISNA()は、数式の一番外側で判断して処理をよけますね。 特別な配慮なくエラー値のセルを参照しますと、その段階でエラーになってしまいます。 (6UP)
失礼ながら、この式はマトモではありません。
「Sheet1!C5」が「#N/Aエラー」かどうかチェックしている部分がありますよね。 しかし、 実際にC5が「#N/Aエラー」なら無条件で「#N/Aエラー」が返りますよ。
その他にも問題があります。
マトモな式なら、「何の時、何を返す」と言えますが、これは出来ません。
式を作った人に、条件の優先順位を訊いて、式がそれに合っていないことを 伝える必要があります。
(半平太)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.