【Excel・エクセル】INDIRECT関数の使い方!MATCH関数の組み合わせも
INDIRECT関数ってのが便利って聞いたんだけど?
お目が高い!かなり可能性を秘めた関数なんよ。
- INDIRECT関数はセルを参照する関数
- =INDIRECT(参照文字列,参照形式)
- 参照形式は無視してOK
- 別シートは「=INDIRECT(“シート名!セル番号")」で参照できる
- ほかの関数と組み合わせて真価を発揮する
INDIRECT関数の練習ファイルダウンロード
一緒にやってみませんか?
【Excel・エクセル】セル参照できるINDIRECT関数の基本の使い方
INDIRECT関数は、セルや別シートを参照する関数です。
ちなみに読み方は、「インダイレクト関数」です。
どういうこと?
=INDIRECT(参照文字列,参照形式)
INDIRECT | このセルの値を参照してね |
参照文字列 | 参照したいセル(文字列で指定) |
参照形式 | A1形式かR1C1形式か(基本省略でOK) |
参照形式が謎すぎるのですが。
基本はA1形式だから、ないものと思ってOKだよ。
A1形式はセル番号で指定する形式、R1C1形式は行番号と列番号で指定する形式です。
例えばセルB3を指定する場合
A1形式(TRUE) | B3 | そのままセル番号でOK |
R1C1形式(FALSE) | R2C3 | 2行、3列目のセルってこと |
となります。
省略するとA1形式になるので、基本は省略してOKなんです。
例えばセルA3を参照したいときは「=INDIRECT(“A3")」と書きます。
参照セルは文字列で指定するので「"」で囲みます。
ちなみに参照文字列は、セルで指定もできます。
「=A3」って書くのと、何が違うんだろ?
INDIRECT関数で別シートを参照する
別シートを参照した場合「=シート名!セル番号」になりますよね。
INDIRECT関数でも同じように書けば、別シートを参照できます。
「=INDIRECT(“シート名!セル番号")」ですね。
普通に=で書いた方が早くない?この関数、何が便利なの?
まーまー、慌てなさんなって。
INDIRECT関数はほかの関数と組み合わせることで、真価を発揮するのです!
【Excel・エクセル】INDIRECT関数ほかの関数を組み合わせる
INDIRECT関数とCOUNTA関数で最後の値を取り出す
例えば、データの個数を数えるCOUNTA関数。
選択した範囲のデータの個数が分かる関数ですね。
上の図では、A列のデータは4つなので、答えは4になりました。
じゃあ、「=INDIRECT(“A"&COUNTA(A:A))」としたら、どうでしょう?
COUNTA(A:A)の答えは4なので、A4を参照して、そらのとなりました。
ちなみに関数の答えは文字列じゃなくて数値になるから、「"」はいらないよ。
A列に値を1つ追加してみました。
当然COUNTAの答えも1つ増えて5になります。
すると、INDIRECT関数はA5を参照するので、常にA列の最後の値が分かる、というわけなんです!
あれ、可能性を感じるぞ……?
INDIRECT関数とMATCH関数で条件に合う値を取り出す
=MATCH(検査値,検査範囲,照合の種類)
MATCH | この値は、この中の何番目にあるか教えて |
検査値 | この値は |
検査範囲 | この中の |
照合の種類 | 0:完全一致、-1:以上、1:以下 |
次はMATCH関数、条件に合うセルが何番目に位置するかが分かる関数です。
そらのはA列の上から数えて4番目になるので、答えは4になりました。
INDIRECT関数とMATCH関数を組み合わせると、VLOOKUP関数のように条件に合うセルの値を抽出できます!
「=INDIRECT(“B"&MATCH(D3,A1:A6,0))」とすると、MATCH関数の答えは4なので、セルB4を参照して、答えは85になりました。
ちなみに検査範囲が1行目にない場合は、その分足し算してあげればOKです。
おぉ、可能性しかない!!
INDIRECT関数は、関数の自由度がめちゃめちゃ高まります。
ぜひ、いろんなシーンでお役立てください!
それでは、お疲れさまでした!
- INDIRECT関数はセルを参照する関数
- =INDIRECT(参照文字列,参照形式)
- 参照形式は無視してOK
- 別シートは「=INDIRECT(“シート名!セル番号")」で参照できる
- ほかの関数と組み合わせて真価を発揮する
ディスカッション
コメント一覧
まだ、コメントがありません