• ベストアンサー

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

 ほぼ毎日最終行の所に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

  • エクセル SUMIFを使って下から合計する

    先ほど下記質問をして回答を得ましたが欲がでて追加で行いたい事が出てきましたがいっこうに進みません。 先ほどの質問 ほぼ毎日最終行の所にA列に日付 B/C/D/列に数値を加えているという作業を繰り返しています。従って下の方が最近入力した値になっている状態です。 私がしたいのはこの最近入力した(最終行)行から5行上までの各列の合計や平均値をそれぞれ1番上の方に自動で表示したいのですがいろいろと調べても分かりません。(行を追加するたび範囲を指定し直すというのがつらいです。) ・今回は皆さんの回答の中から=SUM(OFFSET(B2,COUNTA(B2:B65536)-5,0,5,1))とう式を使って下から5行上まで合計しました。 追加質問 F列の数値条件に合致したものだけを同様に下から5行上まで合計したいです。 SUMIFを使って見ましたが実力のなさからうまくいきません。 よろしくお願いします。

  • エクセル 3行ずつの合計

    エクセルの質問です。 A列にID、B列に数値が入力されているとします。そしてC列にB列の2行ずつの合計を計算したいのですが、どうしたらいいでしょうか。 A | B  | C 1 | 25 | ID1から3の合計 2 | 24 | ID4から6の合計 3 | 37 | ID7から9の合計 4 | 32 | ID10から12の合計 ・ ・ ・ 数百行はあるのでいちいちちょこちょこと合計するのが苦痛なんです。よろしくお願いします。

  • SUM関数で合計を出した行の平均がおかしい。

    タイトルの通りなのですが、 D4~D14までSUM関数で縦計算して、D列の合計を出しています。 同じように、I列まで続いています。 それぞれの列の合計は、15行目に表示されています。 現在、D14のみ数値がはいっていますが、 E列以降は入力していないので、当然15行目は「0」と 表示されています。 私は15列の平均を出したいのですが、 現在D15「1000」だと、平均は「1000」でないといけませんよね。 ですが、その時点で6で割った数字が表示されます。 15行目がD14「1000」     E14「600」 F14,G14.H14.I14はこのとき0表示。 で、平均が「800」になるようにしたいのです。 仕事でつかっているのですが、どうしてもわからず、 みなさんの知恵をお借りしたいと思います。 重複していたらすみませんが、宜しくお願いします。 助けてください!!

  • エクセルで最新の30個の合計を出したい

    いつもお世話になっております。 例えばA列に下方向に数値データが入っている表があって日々データが追加されていくのですが、最新データ=一番下のデータから30個のデータの平均を表示させたいのですが。 A列のデータの数を数えてその行から上に30個さかのぼった行から一番下の行までを範囲指定すればよいと思うのですが具体的な式が分かりません。 出来れば関数での方法をお願いします。

  • エクセル 列の数値の合計の表示について、

    エクセル 列の数値の合計の表示について、 ごく基本的なことだと思いますが、教えてください。 例えばA列に上から順に数値を入れていき、その合計をB列に表示させるとします。 私のやり方はB列の計算式を=B1+A2としてこのコピーを、数値の数だけ下に下げることで目的を達しました。 すでにA列に数値が何個も入力している場合はこれで良いのですが・・。 ここから質問なのですが、例えばA列に現在10個数値がありB列に順番にその合計が出ているとします。 次にA列11行目に新規に数値を入力した時に、自動的にその合計がB列に出るようにしたいのです。 予めB列の数式のコピーを11行目以降に延ばしておくと、10行目の合計の数値が延ばした行まで並ぶので困っています。 よろしくお願いします。

  • 選択した行の値だけを合計

    選択した行の値だけを、その行のどのセルをダブルクリックしても合計する方法を教えてください。 A列は、ID,B・C列は値があらかじめ入力されています。 D列に、合計を表示させたいです。 関数・VBAでは、一括して合計はでましたが、VBAで必要な行だけの合計の出し方がわかりません。 VBAの勉強のために活かしたいく、よろしくお願いします。

  • エクセルマクロで表の途中の集計行と合計行追加

    こんなことできますか? エクセルの表が各シートに一つずつあります。 B列からR列まで使用しています。 始まりは3行目で見出し行です。 データは4行目以降ですが、これは各シートごとに最終行は異なります。だいたい120行から200行程度です。 途中に空白はありません。 この表はS列の数値(12種類)により分類され並べ替えてあります。 やりたいのは、S列の数値を見て、分類(同じ数字)ごとに集計する行を追加したいのです。 集計する列は、D~K列だけです。 そして、最終行に全部の合計も出したいのです。 ただ、量が多いのと、頻繁に行なう作業なのでマクロでささっと出来ないかと思います。 どなたかどうすればよいか教えてください。 なにとぞお願いします。

  • エクセル 毎日の複数のデータを合計して1行にする

    日付と数値が対になったデータが数ヶ月分あり、1日分が1~4行になります(日付=A列、数値=B列)。 数値の累計を折れ線グラフにしたいのですが、1日が複数行になっている所はプロットが垂直に並んでかっこ悪くなってしまいます。 1日分のデータを合計して、1日1行にするにはどうすればいいでしょうか。

  • エクセルで表示行の値だけの合計を求めるには?

    たとえばSUM関数を使うと、指定したセル範囲の中に非表示の行があった場合、その行の値も合計に含まれますが、それを含まない合計(非表示の行を無視する合計)を求めるにはどうしたらよいですか。 よろしくお願いします。

  • エクセル vba セル合計

    添付表について下記の様な処理をしたいのですが途中からVBAの書き方が(セル合計)がわからず困っております。  *日別の原価計(K列のセル値)の小計(K列の最終入力行の下※k112)に計算する。 自分ではこの様を処理を考えております。 (1)商品名(G列)最終入力行の1行下を選ぶ(G112) (2) (1)の同行にある(k112)を合計算出セルとして選ぶ (3)商品名(G列)最終入力行(g112)からその列上の空欄行の1セル下(g66)を見て(要はg 112からEnd(xlUp))、その行と同じ範囲のK列(k112ーk66)を合計をする範囲として選ぶ (4) (2)の合計する範囲を(3)で算出する。 VBA素人の私では(1)~(3)までを下記の通り書きました。 Sub 原価合計求める() Dim lastrowshu As Long Dim lastrowgen As Long Dim fastrowgen As Long lastrowshu = Cells(Rows.Count, 7).End(xlUp).Row + 1 '帳票シートの商品名(G列)最終入力行+1を取得する。 lastrowgen = Cells(Rows.Count, 7).End(xlUp).Row '商品名行の最終入力 fastrowgen = Cells(lastrowgen, 7).End(xlUp).Row '商品名最終入力行から一番上 Cells(lastrowshu, 11).Select ここまでを実行すると添付ファイルでいうk112セルをselectするまではうまくいきましたが、 これ以降の(4)の合計の書き方がわかりません。 どなたか御教授願います。 あるいはもっといい方法があれば同時にご指導頂けますと幸いです。

専門家に質問してみよう