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