最終行が分からない列の合計を求めたい(表の中に空白が無い場合)

公開日: 

SUM関数で、合計を求めることが出来ます。例えば、A1:B6の合計を求めたい場合は、=SUM(A1:B6) と入力をします。

上記のような売上の日計表があったとします。

売上合計(セルE2)には、B列に入力されている数字の合計が計算されています。

昨日まで(セルE3)には、昨日までの売上データの合計が計算されています。

この表は、これで終わりではなく、日々、行数が増えていきますので、毎日、合計を求める式 SUM関数のカッコの中:範囲 が変わります。

 

売上合計(セルE2)は、色々な計算式がありますが、B列の合計を求める =SUM(B:B)  が入力してあります。

このシートが1ヶ月単位の売上データが入力されるシートなら、1ヶ月は、最大31なので =SUM(B2:B31) でも良いです。

昨日まで(セルE3)の合計は、売上合計みたいに、B列の合計を計算すれば良いわけではありません。B列に入力されている数値の最終行の1つ上までの合計を計算しなくてはなりません。図の場合 =SUM(B2:B7) となります。

B7の部分は、固定ではなく変わります。毎日、B7の部分をB8、B9、、、 と書き換えるのも面倒。出来ることなら、書き換えたくないですね。INDIRECT関数COUNTA関数を使います。

=SUM(合計を求める左上のセルのアドレス:INDIRECT(“合計を求める右下のセルの列名”&COUNTA(合計を求める右下のセルの列名:合計を求める右下のセルの列名)))

今の場合、セルB2からB列N行までの合計を求めたいので、

合計を求める左上のセルのアドレス:B2

合計を求める右下のセルの列名:B列なので、B

となり式は

=SUM(B1:INDIRECT(“B”&COUNTA(B:B)))

となります。

=SUM(B2:BN)        N:は任意の行数

で、B2からB列のN行までの合計を求めることが出来ます。このセルBNを表すことが出来れば、B列の任意の行までの合計を計算できます。

BNは、B列を表す文字“B”+B列に入力されているデータの個数 と考えられます。

COUNTA関数

範囲(引数のセル1、セル2・・・)に含まれる空白ではないセルの個数を返します。

書式:COUNTA(セル1,セル2, ・・・)

セル1:必ず指定をします。値(空白でない)が入力されているセルの個数を調べたいセルを指定します。

セル2:省略可能です。セル1と同様です。

例えば、上の図の場合、 =COUNTA(D1: D4)  の場合、2が返ってきます。

=COUNTA(B1:D5)  の場合、7が返ってきます。

INDIRECT関数

参照するセルのアドレスを文字列で指定できます。

書式:INDIRECT(参照文字列)

参照文字列:“A1”などのセルのアドレスを文字列で表したものです。

例えば、=INDIRECT(“A1”) で、セルA1を参照することができます。上の図の場合は、日付という文字が返ってきます。

=INDIRECT(“A1”)は、=INDIRECT(“A”&1) とも表すことが出来ます。&は、文字列を連結する記号です。例えば =”Hello”&”Word” と書くと、セルには、HelloWord と表示されます。

 

シェアありがとうございます

  • このエントリーをはてなブックマークに追加
  • Pocket

Your Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑