初心者向けexcelの使い方:関数の引数に指定する参照セルのアドレスを動的にする

動的にとは、固定されたものではなく、その場に応じて変化することをいいます。

例えばSUM関数の場合、SUM(A4:A10)のように合計範囲は固定されていますが、データが追加されれば動的に合計範囲を変更できれば便利です。

アドレスを動的にするには、COUNTA関数とINDIRECT関数を使います。

COUNTA関数:空白ではないセルの個数を返す関数
構文:COUNTA(範囲)

INDIRECT関数:参照セルを文字列で指定でき、他の関数の参照セルの引数としても使用できる関数
構文:INDIRECT(参照文字列, 参照形式)
・参照文字列:セル参照を表す文字列をA1形式またはR1C1形式で指定
・参照形式:TRUEか省略でA1形式、FALSEでR1C1形式になる


Homeに戻る > 初心者向けexcelの使い方に戻る

例として下の検査表の検査数と不良数の合計を動的に求めます。

日付は必ず入力されていますが、検査数と不良数は入力がない場合があります。
この表にデータが追加されたり、削除された場合に自動的に合計ができるようにします。
検査表

入力されている最下行を求める

=COUNTA(B:B)で、B列に入力されている個数を求めることができます。
これに空白行の2行をプラスすることで最下行が求められます。
=COUNTA(B:B)+2
入力されている最下行を求める


動的に合計を求める

下の場合、INDIRECT("C4:C" & H3)で「C4:C10」の範囲になります。
これをSUM関数の引数にします。
=SUM(INDIRECT("C4:C" & H3))

これで動的に合計を求めることができます。
動的に合計を求める

データを追加しました。

最下行が11になり、自動的に追加されたデータも合計できました。
データを追加した結果

COUNTA関数を別にしないで、引数の中で使用し不良数の合計を求めました。
=SUM(INDIRECT("D4:D"& COUNTA(B:B)+2))
COUNTA関数を別にしないで、引数の中で使用した結果

以上のように動的にセルの参照アドレスを変化させることができれば、データ入力の度に範囲を変更しなくていいので大変便利になります。


Homeに戻る > 初心者向けexcelの使い方に戻る

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved