• ベストアンサー
  • 困ってます

ISBLANK、COUNT等の数式について

  • 質問No.7648349
  • 閲覧数404
  • ありがとう数0
  • 気になる数0
  • 回答数7
  • コメント数0

お礼率 30% (6/20)

先日類似案件で協力していただいたのですが(http://okwave.jp/qa/q7634718.html)
新たに壁にぶち当たってしまいました。

B1~B3にそれぞれ入力した数値に対し、その結果をB4~B16に出力したいのですが、
(エクセルのグラフを使わずに出力したい)

条件
(1)B1~B3が空欄時は出力しない
(2)B1~B3の出力で 0~0.03はB10(0.00)の位置、0.04~0.07はB9(0.04)の位置というように0.04刻みで結果を出したい

数式は
B8セルに
=IF(OR(ISBLANK(D$5),ISBLANK(D$6),ISBLANK(D$7)),"",IF(OR(D$5=$C8,D$6=$C8,D$7=$C8),"○",IF(OR(D$5=$C8+0.01,D$6=$C8+0.01,D$7=$C8+0.01),"●",IF(OR(D$5=$C8+0.02,D$6=$C8+0.02,D$7=$C8+0.02),"◎",IF(OR(D$5=$C8+0.03,D$6=$C8+0.03,D$7=$C8+0.03),"△","")))))

もしくは
=IF(COUNT(D$5:D$7),IF(COUNTIF(D$5:D$7,$C8),"○",IF(COUNTIF(D$5:D$7,$C8+0.01),"●",IF(COUNTIF(E$93:E$95,$C8+0.02),"◎",IF(COUNTIF(E$93:E$95,$C8+0.03),"△","")))),"")

という式で試行してみましたが、
どちらの式でも 値が±0.1未満の時に結果が反映されない場合が出てきます。
0.01,0.03,0.05,0.06,0.07,0.08,0.09,
-0.01,-0.03,-0.05,-0.06,-0.07,-0.08,-0.09

数式のどこがおかしいのか教えていただければと思います。


使用エクセルは2003です。

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

  • 回答No.3
  • ベストアンサー

ベストアンサー率 42% (1835/4282)

何度もすみません。
B4セルへの入力の式は次の式で十分ですね。

=IF(OR(COUNT(B$1:B$3)<>3,$A4=""),"",IF(COUNTIF(B$1:B$3,$A4),"○",IF(COUNTIF(B$1:B$3,$A4+0.01),"●",IF(COUNTIF(B$1:B$3,$A4+0.02),"◎",IF(COUNTIF(B$1:B$3,$A4+0.03),"△","")))))

その他の回答 (全6件)

  • 回答No.7

ベストアンサー率 40% (454/1129)

質問文の数式と添付図を見比べていますが、「数式どおりの正しい結果が表示されている」ように思えます。まず、何が問題になっているのかを、回答者に明らかにしたほうがいいです。数式よりも、「何をしたいのか」のほうが先です。次の点を全て、教えてください。

1.
添付図では、どの箇所の表示がおかしいのですか?何行目の何列目のことですか?

2.
例えば各列には、必ず3個ずつ記号が表示されるはずとか、何らかの規則があるのですか?諸条件はできるだけ詳しく、たくさん書いてください。

3.
「値が±0.1未満の時に」とおっしゃるその「値」とは、どこの値を指していますか?添付図の上から1行目のこととか?

4.
添付図の1~3行目はそれぞれ、等差数列ですか?もしそうであれば、数式がもっと簡潔になる可能性があります。

今の段階で言えることは、MOD、CHOOSE、MATCH関数などを使うと、もっと短く分かりやすい式で書けそうだということです。けれど「何をしたいのか」が分からないと、回答者がいくら一生懸命文章を書いても、徒労に終わるので…。
  • 回答No.6

ベストアンサー率 31% (549/1751)

グラフプロットの原始的技法!
グラフプロット位置を最適化(目盛幅の半分を上下に加味したものをプロット範囲とする)するために、縦軸の目盛を上下1行分ずつ拡張する。拡張した行には数式は入れない。(ここはダミー)
未記入のセルは「0値」として扱われる。

B5:(グラフの起点)

=IF(AND(B$1<=($A4+$A5)/2,B$1>($A5+$A6)/2),"○",IF(AND(B$2<=($A4+$A5)/2,B$2>($A5+$A6)/2),"△",IF(AND(B$3<=($A4+$A5)/2,B$3>($A5+$A6)/2),"×","")))
  • 回答No.5

ベストアンサー率 31% (549/1751)

ところで、これは擬似グラフ?
このグラフみたいなものの物理的意味は何?
一般にグラフのデータは、このレイアウトで行けば、B列から右に「同じ行」のもの(これがデータ系列)を線で結んでいくもの、だからデータ系列毎に線種やマーカを変えて識別し易くする。
1~3行がデータとして、これを素直に同じマーカでプロットすれば良いのでは?
ただし、複数のプロットが重なったときの優先度(または別のマーカ)も決める必要がある。
  • 回答No.4

ベストアンサー率 31% (549/1751)

ネストはシンドイねぇ!、イライラする!!
どこがどうが違うんでしょう?、多分、何かが違う!!
これは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),"●",IF(OR(B$1=$A4+0.02,B$2=$A4+0.02,B$3=$A4+0.02),"◎",IF(OR(B$1=$A4+0.03,B$2=$A4+0.03,B$3=$A4+0.03),"△","")))))
  • 回答No.2

ベストアンサー率 42% (1835/4282)

回答No1です。
1行目から3行目までに一つでも数値が有れば計算させるのでしたらB4セルには次の式を入力します。

=IF(OR(COUNT(B$1:B$3)=0,$A4=""),"",IF(ROW(A1)=1,IF(COUNTIF(B$1:B$3,$A4)=1,"○",""),IF(COUNTIF(B$1:B$3,$A4),"○",IF(COUNTIF(B$1:B$3,$A4+0.01),"●",IF(COUNTIF(B$1:B$3,$A4+0.02),"◎",IF(COUNTIF(B$1:B$3,$A4+0.03),"△",""))))))
  • 回答No.1

ベストアンサー率 42% (1835/4282)

B4セルには次の式を入力して横方向にドラッグコピーしたのちに下方にもドラッグコピーします。

=IF(OR(COUNT(B$1:B$3)<>3,$A4=""),"",IF(ROW(A1)=1,IF(COUNTIF(B$1:B$3,$A4)=1,"○",""),IF(COUNTIF(B$1:B$3,$A4),"○",IF(COUNTIF(B$1:B$3,$A4+0.01),"●",IF(COUNTIF(B$1:B$3,$A4+0.02),"◎",IF(COUNTIF(B$1:B$3,$A4+0.03),"△",""))))))
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ