【Excel 関数】Sumの範囲を可変にして自動合計する

投稿者: | 2020年8月6日
excelアイコン

Excelバージョン
マイクロソフト365

 

合計範囲のデータが下に増えていくページがあったとして、下記の関数で簡単に空白があろうがなかろうが、合計の範囲を可変にして完全自動で値を取得できます。

 

A列にデータがある場合の自動取得

下記の図のようにA列にデータがあり空白がある場合でも取得できます。

A列のみのデータ

A列にデータをセットして下記をそのままコピぺでOKです!

MATCH(ROWS(A:A)^10)で最終行番号を取得します。

②INDIRECTで連結して文字を作成します。

③sumで一気にネストして出来上がりです♪

 

行頭のセル位置を変える場合は下記をA2,A3とかに変更します。

=SUM(A1:INDIRECT(“A”&…

 

INDIRECT関数MATCH関数ROWS関数

 

A列にデータがあり一番下に合計がある場合の自動取得

下記の図のように一番下に合計があるような形式の場合は合計のセルも取得してしまうので、パラメーターとして-1を追加してあげます。

尚データに空白がある場合でも取得はできます。

一番下に合計

基本的に前回の内容とほぼ一緒です。

違うところは最後の括弧の手前-1の箇所を-2とか-3とかに変更してあげれば合計の何個上まで取得するかを指定できます。

 

行頭のセル位置を変える場合は下記をA2,A3とかに変更します。

=SUM(A1:INDIRECT(“A”…

 

違う列を取得したい場合の自動取得

例えばデータがC列だったら下記のようにAだった箇所を全てCに変更してあげます。

 

OFFSET関数を使用して範囲を可変にしたい場合はこちら

 

まとめ

今回のポイントは関数で下から行番号の取得が可能か不可能かで(結構強引に取得してます)、このような自動取得ができるできないの結果になります。

関数では空白があったり同じ値が重複したりしてると取得が困難になるので通常こういった場合はVBAを使用してEnd(xlUp).Rowで下から行番号を取得します。

以上です(*^^)v