経理に必要なExcel関数と実務での活用例(OFFSET関数)

Excel

私は今まで、何度か転職を経験し、上場企業およびベンチャー企業等の上場準備会社で20年以上経理財務業務を行ってきました。
昨今の経理業務は、仕訳を手入力することはあまりなくなり、ほとんどが他システムからの連携もしくはデータを加工して会計システムに取り込むことが多いと思います。
そのため、経理業務ではExcelを活用することが多いため、高度なExcelスキルが求められます。そこで、経理業務でよく使うExcel関数であるOFFSET関数の実務での活用例をご紹介したいと思います。

OFFSET関数

=OFFSET(参照行数列数、高さ、幅)

OFFSET関数は、値や範囲を参照する関数です。
色付きの引数が必須の引数(省略不可)、黒字の引数が任意の引数(省略可)になります。
OFFSET関数は言葉で説明してもわかりづらいので、以下、値を参照する場合と範囲を参照する場合を説明します。

値を参照する場合

A6セルの計算式は以下の通りです。

=OFFSET($A$1,2,2)

A6セルにOFFSET関数で参照した値を表示させています。
まず、第1引数の「参照」には、スタート地点となるセルを指定します。計算式をコピーしたとしてもこのスタート地点がずれないように絶対参照($が絶対参照の印です。F4キーを押すと絶対参照になります。)にしています。この場合は、スタート地点を「A1」セルを指定しています。
次に、第2引数の「行数」に、下方向に何行進むかの数字を入れます。この場合は、下方向に2行進みたいので「2」を入れています。
そして、第3引数の「列数」には、右方向に何列進むかの数字を入れます。この場合は、右方向に2列進みたいので「2」を入れています。
これで、A1セルをスタート地点として、下に2行、右に2列進んだ「C3」セルの値を参照することになり、「11」が返ってきています。
なお、第2引数で上に進みたい場合にはマイナスの数字を入れ、第3引数で左に進みたい場合にはマイナスの数字を入れます。

範囲を参照する場合

A6セルの計算式は以下の通りです。

=OFFSET($A$1,2,2,2,3)

第3引数までは上の値を参照する場合と同じですので、第4引数と第5引数を説明します。
第4引数ですが、第3引数までで到達した「C3」セルを起点に、そこからの高さ(行数)を入れます。従って、第4引数も数字になります。この場合「2」を入れ、高さを2の範囲としています。
次に、第5引数として、起点である「C3」セルからの幅(列数)を入れます。従って、第5引数も数字になります。この場合「3」を入れ、幅を3の範囲をしています。
これで、A1セルをスタート地点として、下に2行、右に2列進んだ「C3」セルを起点とし、そこから高さ2、幅3の範囲である「C3:E4」の範囲(上記赤枠部分)を参照することになりました。

いかがでしょうか。
これだけ聞くと、このOFFSET関数はどの様な場合に使うのか、全くイメージがわかないと思います(私もそうでした・・)。
ですので、次に、実務での活用例をご紹介したいと思います。

OFFSET関数の実務活用例①(設定した支払サイトをもとに買掛金の減少額を算出)

上記表は買掛金の増減額を算出している表です。
買掛金の支払(減少)は、商品別に、「B2」セルで設定した支払サイト(月数)をもとに算出しています。つまり、2024年5月のA商品仕入額(買掛金の増加額)1,980千円について、支払サイト月数を「1」としていることにより、その翌月の2024年6月に支払うとしています。
「K13」セルの計算式は以下の通りです。

=OFFSET(K6,0,$B$2*-1)*-1

K6をスタート地点として、そこから下方向に「0」(つまり、下方向には進まないとしています。)、右方向に「-1」(つまり、左方向に「1」進むとしています。)進んだ「J6」セルである1,980千円を参照し、それに-1を乗じて、計算の結果「-1,980千円」となり「K13」セルの値となります。

この様にOFFSET関数で金額を算出するようにしていると、支払サイトの箇所(「B2」セル)を変えるだけで、その支払サイトに応じた金額が算出されるようになります。

OFFSET関数の実務活用例②(累計の金額を算出する)

累計の金額を算出するときに、「SUM関数」「MATCH関数」と組み合わせてOFFSET関数をよく使います。
下の表では、上段が、各月のP/Lになります。そして、下段の表で、累計の金額を表示しています。このときに「E42」セルを「2024/9/30」(表示上、年と月のみにしています)とし、9月迄の累計金額を表示するようにしています。

この表の「E43」セルの計算式は以下の通りです。

=SUM(OFFSET($E8,0,0,1,MATCH($E$42,$E$7:$P$7,0)))

出発点を「E8」セルとし、そこから下方向に0(第1引数「0」)、右方向に0(第2引数「0」)、つまりセルは動かず「E8」セルを起点とした範囲とします。そして、第3引数を「1」とし、1行分の範囲とします。次に、第4引数のところで「MATCH関数」を使い、「E7」セルから「P7」セル(2024/1~2024/12)の範囲で「2024/9」は何番目かを出します。つまり「2024/9」は9番目になりますので、第4引数は「9」となります。そうすることで、「E8」セルを起点に右に9番目までの一行分が範囲となります。
そして、そのOFFSET関数を「SUM関数」でくくり、その範囲の合計値を出します。
この様な計算式を組むことで、「E43」セルの年月日を変えれば、その月迄の累計額が表示されるようになります。

まとめ

OFFSET関数は少しわかりづらく、最初はその使用イメージがわかないのですが、上に説明した活用例①と②のような活用は実務上よく行います。
使いこなせば結構便利な関数ですので、是非、この関数を理解し、使用してみてください。

コメント

タイトルとURLをコピーしました