Excel関数|基準日までの累計値を算出する

2025/01/27 05:40 AM
時間軸の入ったデータで集計をしていると、表の途中までの累計が出したい!ということありますよね。

今回はExcel関数を用いて、累計の集計対象を動的にしていきます。


今回使うのはこのグラフ。横軸には日付が入っていて、縦軸には予測値と実測値が入っています。
AF列では予測値、実測値共に11/1から基準日までの累計値を出すことにします。
実測値は11/13以降の値が入っていないため、SUM関数で合計を出すだけで問題なさそうです。


問題は予測値。基準日(11/12)以降も値が入っているので、純粋に合計を出すだけでは不要な値も含まれてしまいます。
勿論、手動で範囲設定するのも一案ですが、毎日集計対象範囲が変わることを考慮すると、自動で範囲が変わるようにしたいものです。


OFFSET 関数で集計範囲を動的にする

AF4セルに以下の様に記載します。
=SUM(OFFSET(B4,0,0,1,MATCH($B$1,$B$3:$AE$3,0)))

OFFSET関数は下記の書式で記載します。
書式:OFFSET(基準, 行数, 列数, , )


まず、「基準」に設定したセルから「行数」分右に移動、「列数」分下に移動します。更に移動地点から「高さ」分の行数と「幅」分の列数が示す範囲が、OFFSETが示す範囲になります。

今回の例で言うと、B4セルから0行右に移動し、0行下に移動するので移動地点は変わらずB4セルです。
ここから範囲を指定します。高さは1行。列数はMATCH($B$1,$B$3:$AE$3,0)列。B3から数えて$B$1と同じ値のセルは何番目にあるか?という意味なのでMATCH($B$1,$B$3:$AE$3,0)=12。
つまり、B4セルから縦1行、横12列の範囲がOFFSET関数の範囲で、この範囲内にある数字をSUM関数で計算しているわけです。


これで、基準日を更新するだけで累計値も自動更新出来るようになりました!

ブログをご覧いただきありがとうございます。