• ベストアンサー

Excelの平均値について。

画像のようにA列の4:20にランダムの数字が表示されます。 そこで4の倍数の箇所だけの平均値をA2に表示したいのですが、どうすればよろしいでしょうか。 ただし、空白と0の場合は計算に入れないとします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.6

=AVERAGE(IF((MOD(ROW(A4:A100),4)=MOD(ROW(A4),4))*(A4:A100<>0),A4:A100)) と記入し、コントロールキーとシフトキーを押しながらEnterで入力 #まだダラダラとヤリタイ事が変わるようなら、一回ご相談を解決で切ってから状況を整理し、改めて新しいご質問として投稿し直して下さい。

mzakom
質問者

お礼

いやー、本当に申し訳ないです。 試してから仕様変更に気付く自分の馬鹿さ加減に自分であきれます(´;ω;`)ブワ しかし、またもやkeithin様の回答で見事にできました!! 神様、仏様、keithin様m(_ _ )m 勉強してもっと精進致します。

その他の回答 (6)

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

No.1・2・4です。 補足に >行を挿入したら、計算も一緒にずれてくれず、そのまま4の倍数の行だけを計算します。 とありましたので・・・ 行挿入・行削除を行っても、必ずA4~A64セルまでの0以外の4行おきの平均を出す方法です。 無理矢理関数でやってみました。 A2セルに =AVERAGE(IF((MOD(ROW(OFFSET(A3,1,,61)),4)=0)*(OFFSET(A3,1,,61)<>0),OFFSET(A3,1,,61))) 今回も配列数式になってしまいますので、Shift+Ctrl+Enterで確定です。 ※ 3行目だけは削除・挿入しないでください。 Offsetの基準セルがなくなってしまいますので、エラーになります。 こんな感じではどうでしょうか?m(_ _)m

mzakom
質問者

お礼

おお、できましたm(_ _ )m OFFSET関数など、色々勉強になるものを教えて頂き感謝です。 何度も回答して頂きありがとうございましたm(_ _ )m

回答No.5

=average(A4,A8,A12,A16,A20) でいいんじゃないかな。

mzakom
質問者

補足

はい、最初はそれでやろうと思ったのですが0も計算してしまうんですよね^^;

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

No.1・2です。 何度もごめんなさい。 No.3さんの回答を拝見して・・・ 質問の意味を取り違っていました。 4の倍数の数値の平均ではなくて、4の倍数の行の平均ですね。 画像の枠線はそういうコトだったのですね! No.1・2は無視してください。 どうも失礼しました。m(_ _)m

mzakom
質問者

補足

こちらこそ下手な説明で申し訳ありませんm(_ _ )m 見事に4の倍数でもできるようになったのですが、一つ問題が起きました。 平均値とランダムな数字の間に一つ行を挿入したら、計算も一緒にずれてくれず、そのまま4の倍数の行だけを計算します。 行を挿入したら、A5、A9、A13、A17と平均箇所もずれるのですが、それにも対応する方法はないでしょうかm(_ _ )m何度ももうしわけありません。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

>4の倍数の箇所だけの平均値 =AVERAGE(IF((MOD(ROW(A4:A20),4)=0)*(A4:A20<>0),A4:A20)) と記入し、コントロールキーとシフトキーを押しながらEnterで入力します。

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

No.1です! たびたびごめんなさい。 投稿後に、前回の範囲が違っているのに気付きました。 A4~A20セルの範囲ですね! A2セルの数式を =AVERAGE(IF(MOD(A4:A20,4)=0,IF(A4:A20<>0,A4:A20))) に訂正してください。 ※ 前回同様、配列数式です。 何度も失礼しました。m(_ _)m

mzakom
質問者

補足

ありがとうございます。 すいません、質問の仕方が悪かったです。 4の倍数の値ではなくて、セルの行が4の倍数の場所のみですm(_ _ )m 画像のA4とA8とA12とA20という感じです。 最終的にはA64まで延ばすので、A4からA64までの4の倍数の行のみの平均値を求める方法が知りたいです。もちろん0と空白は除きます。

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

こんばんは! 一例です。 表示したいセルに =AVERAGE(IF(MOD(A1:A20,4)=0,IF(A1:A20<>0,A1:A20))) これは配列数式になってしまいますので、Shift+Ctrl+Enterで確定! この画面からコピー&ペーストする場合は 表示したいセルに貼り付け後、数式バー内で一度クリック! 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。m(_ _)m

関連するQ&A