INDEX関数とCOUNTA関数を組み合わせ、表の一番下のデータを取得する方法をご紹介しました。
表の一番下のセルからデータを取得する方法はいろいろありますので、他の方法をご紹介します。
今回ご紹介するのは、INDIRECT関数とCOUNTA関数を利用する方法です。
※B列の一番下のデータを取得してE1セルに表示する例
E1セルに
「=INDIRECT("B" & COUNTA(B:B))」
という数式を入力する
「=INDIRECT("B" & COUNTA(B:B))」
という数式は、IDIRECT関数に慣れていないとよくわからないかもしれませんが、一度理解できてしまうといくつかある一番下のセルを参照する数式の中で、わかりやすいもののように私は思っています。
▼サンプルファイル(003419.xls 25KByte)ダウンロード
サンプルファイルの「INDIRECT関数・COUNTA関数」シートに上記の完成例を、比較のために、先日ご紹介したINDEX関数とCOUNTA関数を利用した例を「INDEX関数・COUNTA関数」シートにそれぞれ作成してあります。
「導き方」シートのE2:E5セルには「=INDIRECT("B" & COUNTA(B:B))」という数式の意味をご理解いただくために
「=B11」
「=INDIRECT("B11")」
「=INDIRECT("B" & "11")」
「=INDIRECT("B" & COUNTA(B:B))」
という数式が入力してあります。
「=INDIRECT("B" & COUNTA(B:B))」
という数式の意味は、以下のように順に考えていただくと納得いただきやすいんじゃないでしょうか。(「導き方」シートを見つつご確認ください。)
サンプルファイルでB列の一番下のセルはB11セルです。
B11セルをただ参照してB11セルの値を別のセルに表示するなら
「=B11」
という数式でOKです。
「=B11」
という数式は、INDIRECT関数を使うと
「=INDIRECT("B11")」
という形にすることができます。
「=INDIRECT("B11")」
という数式のINDIRECT関数の引数「"B11"」をもっと分解すると
「=INDIRECT("B" & "11")」
という数式で表すことができます。
「=INDIRECT("B" & "11")」
という数式の引数の後半に出てくる「11」という数値は、データの個数「10」個と見出し部分を合計した値です。この数値は何がしかの入力が行われているセルをカウントするCOUNTA関数を使えば取得できます。
COUNTA関数の引数を修正しなくて済むように
「COUNTA(B:B)」
と指定すれば常にB列全体のセルの個数がカウントされます。
この
「COUNTA(B:B)」
を、先の
「=INDIRECT("B" & "11")」
の「"11"」と置き換えたのが、
「=INDIRECT("B" & COUNTA(B:B))」
という数式です。
いかがでしょう?
サンプルファイルで、データを追加したり削除したりして、数式の意味をしっかりご理解ください。
Home » Excel(エクセル)の関数・数式の使い方 » 検索・行列 » 一番下のセルの値を表示する−INDIRECT関数・COUNTA関数