ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Excel(エクセル)活用コミュの【質問】#VALUE!が表示されるエラーについて

  • mixiチェック
  • このエントリーをはてなブックマークに追加
 いつもエクセルの疑問に答えていただきありがとうございます。
度々にはなりますがご助力いただきたく書き込みさせてもらいます。

C、D、G列に900台の数値が入っておりJ4、V4には9,
K4、W4には3
H54に=IF(ISNUMBER(D53),IF(ROW()-37>$J$4,"",G53-MIN(OFFSET(D53,0,0,$J$4,1))),"")
I54に=IF(ISNUMBER(C54),IF(ROW()-37>$J$4,"",MAX(OFFSET(C54,0,0,$J$4,1))-MIN(OFFSET(D54,0,0,$J$4,1))),"")
K54に=IF(H54="","",IF(ROW()-32>$J$4+$K$4-1,"",AVERAGE(OFFSET(H54,0,0,$K$4,1))/AVERAGE(OFFSET(I54,0,0,$K$4,1))*100))
さらに、H54〜H5、I54〜I5、K54〜K5にそれぞれオートフィルしているものがあります。


この式を一列にしようと思い、単純にH54とK54の部分に式をあてはめた式
=IF(IF(ISNUMBER(D54),IF(ROW()-37>$V$4,"",G54-MIN(OFFSET(D54,0,0,$V$4,1))),"")="","",IF(ROW()-32>$V$4+$W$4-1,"",AVERAGE(OFFSET(IF(ISNUMBER(D54),IF(ROW()-37>$V$4,"",G54-MIN(OFFSET(D54,0,0,$V$4,1))),""),0,0,$W$4,1))/AVERAGE(OFFSET(IF(ISNUMBER(C54),IF(ROW()-37>$V$4,"",MAX(OFFSET(C54,0,0,$V$4,1))-MIN(OFFSET(D54,0,0,$V$4,1))),""),0,0,$W$4,1))*100))
を書いたのですか、二つのAVERAGE直後のOFFSETの部分が数式の検証で#VALUE!をはいています。一日調べて書き換えてみたのですが解決しないので質問します。

#VALUE!の原因と回避法はどのようなものになるでしょうか?


情報が足りない場合は、追記します。

コメント(6)

とりあえず、#VALUE!がどのような場合に発生するか調べてみましたか?
OFFSET関数の使い方は理解されていますか?
>>マリ男さん AVERAGE(OFFSET(H54,0,0,$K$4,1))とAVERAGE(OFFSET(I54,0,0,$K$4,1))*100))のH54、I54の部分が数式バーで確認したところそれぞれ整数の9 18が入っていなければいけないところが可変となっておりそれが#valueとなっているのかと考えています。 ただ式の検証では一応9、18はかえっているのですがoffsetの計算で#VALUE!になっており そこがよくわからない状態です。
OFFSET関数の第1引数が適切でないからでは?
一度ヘルプなどで確認してはどうでしょう
ヘルプにより#VALUE!のでる理由はわかりました。 >>マリ男さんありがとうございます。

ただこれの解決法は未だにわかりません。式を一つにすることは不可能なのでしょうか?
1つの式にしなければならない理由はどこにあるのでしょうか?

OFFSET関数の第1引数は基準セルですので
値を参照しているということではないはずです
なので、基準セルを文字列(""も当然、長さ0の文字列なので文字列)や
値にすることは出来ないはずですので・・・

どうしても、1つの式にということであれば、
1つの式にすることを前提として組み直した方が良いかと

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Excel(エクセル)活用 更新情報

Excel(エクセル)活用のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。