セルに「=A1」と入力すれば、セルA1を参照できます。このように、参照したいセルのアドレスが最初からわかっている場合は簡単です。では、参照したいセルを特定できない場合にはどうしたらいいでしょう。たとえば下図のようなケースです。
参照したいのは、セル範囲A6:C6です。といっても、アドレスを固定するわけにはいきません。このデータは日々追加されていくので、明日になれば一番下のセルが7行目になります。とにかく、入力されているデータの一番下を参照したいのです。もしも普通にアドレスを指定するとしたら、下図のように「=A6」と入力します。
このとき、A列にはいくつのデータが入力されているかに注目します。現在入力されているデータの数は5個。これに見出し行を1つ加えた6行目が、一番下の行になります。つまり、見出し行も含めて、A列に入力されているデータの個数がわかれば、最下行のアドレスを作り出すことが可能です。
データの個数を数えるにはCOUNTA関数を使います。
数える対象はA列全体ですので、引数には「A:A」を指定します。
しかし、これでは「A6」という文字列を作ったに過ぎません。文字列として作った「A6」をアドレスと認識して参照するには、INDIRECT関数を使います。INDIRECT関数関数の詳細については、この関数はこう使え!「INDIRECT関数」をご覧ください。
「担当者」と「金額」は、それぞれB列とC列を対象にすればいいですね。このように、参照したいセルの行番号と列番号を調べて文字列として結合できれば、後はINDIRECT関数で参照できます。この考え方はさまざまなケースで応用できますので、ぜひマスターしてください。なお、表の中に空欄セルが含まれていたときのやり方は、下記ページをご覧ください。