• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:IF、OR、ISBLANKの関数で出力がおかしい)

IF、OR、ISBLANKの関数で出力がおかしい

このQ&Aのポイント
  • B1~B3に入力した数値に対し、B4~B16に出力するが、条件によって出力がおかしくなる問題が発生している。エクセルのグラフを使用せずに解決したい。
  • B10セルに入力した数式において、未入力のセルがあると0.00の欄に誤った出力がされてしまう。解決策を教えてほしい。
  • 使用しているエクセルのバージョンは2003であり、それに対応する解決策が必要である。

質問者が選んだベストアンサー

  • ベストアンサー
  • matsu_jun
  • ベストアンサー率55% (146/265)
回答No.3

noi2006さん、おはようございます。 誤)ISBLANK(OR(B$1,B$2,B$3)) 正)OR(ISBLANK(B$1),ISBLANK(B$2),ISBLANK(B$3)) です。 OR(B$1,B$2,B$3) は、B1~B3セルの状態に関わらず、FALSE(=0)かTRUE(=1) が結果として返ってくるので、 ISBLANK(OR(B$1,B$2,B$3)) は、ISBLANK(0) か、ISBLANK(1) のいずれかとなります。 すなわち、セルの状態に関わらず、ISBLANKに「空欄」という状態が入ることが無いので、常にFALSEとなります。 という訳で、それぞれのセルのISBLANKを確認し、そのORを取りましょう。 蛇足ですが、Excelでは、TRUEと1、FALSEと0が全く同じものと理解しておくと、今後役に立つと思います。 IS○○ 関数や、AND・OR・NOT関数などでこの考え方が適用されます。 ためしに適当なセルに =NOT(0)+NOT(0) と入力してみてください。結果が2になるはずです。

noi2006
質問者

お礼

説明含めありがとうございました。 ほぼ独学なので、なかなか理解するのが難しいのですが、 今後の参考にさせてもらいます。

その他の回答 (4)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

こんにちは! すでに回答は出ていますので、参考程度で・・・ B4セルに =IF(COUNT(B$1:B$3),IF(COUNTIF(B$1:B$3,$A4),"○",IF(COUNTIF(B$1:B$3,$A4+0.01),"●","")),"") という数式を入れ列方向・行方向にオートフィルでコピーではどうでしょうか? ※ 1~3行目内のデータは0.02以上の差があるとします。 仮に0.01差のデータがある場合は 小数点以下第2位の数字が偶数の方が優先されます。m(_ _)m

noi2006
質問者

お礼

回答ありがとうございました。 異なる関数でも出力される値が同じに出来るのは参考になりました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

何度もすみません。 ISBLANK関数の使Iい方に誤りがあります。ISBLANK関数を使う場合にはB4セルには次の式を入力します。 =IF(OR(ISBLANK(B$1),ISBLANK(B$2),ISBLANK(B$3)),"",IF(OR(B$1=$A10,B$2=$A10,B$3=$A10),"○",IF(OR(B$1=$A10+0.01,B$2=$A10+0.01,B$3=$A10+0.01),"●","")))

noi2006
質問者

お礼

回答ありがとうございました。 関数の間違いに自力で気付けなかったので助かりました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

回答No1です。お示しの式を最低限変更するとしたら次の式をB4セルに入力し下方にドラッグコピーしてもよいでしょう。 =IF(OR(B$1="",B$2="",B$3=""),"",IF(OR(B$1=$A4,B$2=$A4,B$3=$A4),"○",IF(OR(B$1=$A4+0.01,B$2=$A4+0.01,B$3=$A4+0.01),"●","")))

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

0.00は空白と同じと判断されます。 A10が空白でB1セルやB2セル、B3セルのいずれかが空白であればお示しの式では○が表示されますね。 B4セルに次のような式を入力して下方にドラッグすればよいでしょう。 =IF(COUNT(B$1:B$3)<>3,"",IF(COUNTIF(B$1:B$3,A4)>0,"○",IF(COUNTIF(B$1:B$3,A4+0.01)>0,"●",""))) この式ではB1セルからB3セルのすべてに数値が有る場合には計算されますが、一つでも空白が有れば空白となります。 一つのセルでも空白でなくデータが有れば計算したいのでしたらCOUNT(B$1:B$3)<>3はCOUNT(B$1:B$3)=0に変更してください。 A4セルのデータがB1セルからB3セルの間にあれば○、A4セルの値に0.01を加えた値がB1セルからB3セルの間にあれば●となります。

関連するQ&A