最終行が分からない列の合計を求めたい(表の中に空白が無い場合)
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 と表示されます。
Your Message