• ベストアンサー

エクセルで下の行から合計とかを求めたいです。

 ほぼ毎日最終行の所にA列に日付 B/C/D/列に数値を加えているという作業を繰り返しています。従って下の方が最近入力した値になっている状態です。 私がしたいのはこの最近入力した(最終行)行から5行上までの各列の合計や平均値をそれぞれ1番上の方に自動で表示したいのですがいろいろと調べても分かりません。(行を追加するたび範囲を指定し直すというのがつらいです。) このような事はエクセル2003で可能でしょうか?  調べた中では最終行を取得するとか最終行の値を表示するというのは見つけれたのですがここ何日も悩んで解決できません。  よろしくお願いします。

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

  • ベストアンサー
  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.3

#1 Cupperです。 失礼しました。最新のデータ5つ分の合計でしたね。  =SUM(OFFSET(B2,COUNTA(B2:B65536)-5,0,5,1)) これでどうでしょう。 B列に入力されているデータの個数をcounta関数で数えて、offset関数で最大行から上5セル分を範囲として設定しています。

youno321
質問者

お礼

ありがとうございます。早速の回答ありがとうざいました。何日も悩んでいた事が一発で解決する事ができました。

その他の回答 (4)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

こんにちは。 > 調べた中では最終行を取得するとか最終行の値を表示するというのは見つけれたのですが・・・・ 数値の最終セルの行を出す式は、「MATCH(10^15,B:B,1)」で行いますと、以下のようにすればよいと思います。 B列の最終行から5行 =SUM(OFFSET($B$1,MATCH(10^15,B:B,1)-1,,-5))

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.4

◆B2から数値が連続して、入力されているものとして =SUM(OFFSET(B2,COUNT(B3:B100),,-5)) または、 =SUM(INDEX(B2:B100,COUNT(B2:B100)-4):INDEX(B2:B100,COUNT(B2:B100)))

noname#187541
noname#187541
回答No.2

こんにちは。 数値の入力がとぎれていない(空白がない)のであれば 例えばB列の合計の場合 =SUM(INDIRECT("B"&COUNTA(B:B)&":B"&COUNTA(B:B)-4)) この様にすれば出来ます。

youno321
質問者

お礼

ありがとうございました。勉強させていただきます。

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

いろいろな関数を組み合わせて使う方法もありますが、 はじめから最大範囲を設定してしまえばいいと思います。 Excel2003までであれば最大行数は65536行ですので  =SUM(B2:B65536) としてはいかがですか。 これはB2セルからB65536セルまでの合計を求めます。 B2セルからではなくB3セルからであれば  =SUM(B3:B65536) と直すなどしてください。 

関連するQ&A