こんにちは!毎日エクセルを活用しているけたです。
今回は、私のブログにお越し頂きありがとうございます!
今回は、このようなエクセルの悩みを解決していきます!

エクセルでINDIRECT関数を覚えるとなんでもできるって聞いたけどどんな関数なんだろう?
INDIRECT関数は基本が出来てる人向けの応用関数です。
今回は、INDIRECT関数の使い方をわかりやすく解説していきます。
- INDIRECT関数の基本的な使い方をわかりやすく解説
- INDIRECT関数と『名前の定義』を組み合わせた使い方をわかりやすく解説
- INDIRECT関数と『TEXT関数』『ROW関数』を組み合わせた使い方をわかりやすく解説

ちなみに私は、就職してから約12年間毎日エクセルを使ってきた経験があります。
INDIRECT関数とは?使い方をわかりやすく解説していきます
INDIRECT関数の基本的な使い方と具体的な例を元に説明していきます。
INDIRECT関数の基本の使い方とは?
INDIRECT関数の基本の使い方を写真を使ってわかりやすく説明していきます。
- 基本の書式:INDIRECT(参照文字列,参照形式)
- 参照文字列:入力されているセルを指定します。
- 参照形式:省略することも出来ます。TRUEを指定するとA1形式(列をアルファベット、行を数字で表す通常の形式)、FALSEを指定するとR1C1(行列ともに数字で表す形式)の参照となります。
参照文字列で指定したセル範囲を介して、ほかのセル範囲の内容を参照する関数です。
基本の使い方はINDIRECT(参照文字列)となります。
まずは簡単な使い方例を紹介していきます。
下記の写真を参考にして下さい。
INDIRECT関数の使用例
B4には文字列で “名前 太郎” が入力されています。
B5には文字列で “B4″ が入力されています。
次に、D4・D5・D6にはそれぞれ次のような式を入力します
②D5:=INDIRECT(“B4”)
③D6:=INDIRECT(B5)
①の『=INDIRECT(B2)』の場合
INDIRECT関数を使うときの注意点として参照するのが文字列(名前など)の場合は必ず「” ”」ダブルクォーテーションで囲みましょう。
セルの値であればいいですが、文字列だとエラーになってしまいます。
②の『=INDIRECT(“B2”)』の場合
B2セルの文字列を表示する内容です。
こちらはダブルクォーテーションで囲んでいるのでエラーがなく表示されています。
③の『D4:=INDIRECT(B3)』の場合
=INDIRECT(B3)はB3セルの中に入っている”B2″という文字列に置き換えていますので、結果としてB2セルの中の”名前 太郎”という文字列を返しています。

このように書式を変えることで求められる答えが変わってくるのです。
名前の定義とは?使い方をわかりやすく解説
ここでは、名前の定義についてわかりやすく解説していきます。
エクセルで名前の定義とは?
名前の定義とは『指定した範囲のセルに名前を付けること』です。
具体的には、次の表を使って説明していきます。
- 『C4:E4』の範囲を選択
- タブから数式を選択
- リボンから名前の定義
- 名前の欄におもちゃと入力
- OKを押す
B8:=SUM(ゲーム)
結果としておもちゃの範囲である『C4:E4』の合計である78,000というデータを求めることが出来ます。
つまり、
SUM(おもちゃ)=SUM(C4:E4)
SUM(ゲーム)=SUM(C5:E5)
ということになります。
INDIRECT関数と名前を定義を組み合わせた使い方
INDIRECT関数と名前の定義を組み合わせた使い方は、とても便利なので今回は、写真と具体例を元にわかりやすく説明していきます。
下記のような表があったとします。
B3・B4の黄色いセルに、文字を入力します。
今回は前項で設定した『おもちゃ』と『ゲーム』を入力してみます。
B4:ゲーム
次に、C3・C4セルには次の式を入力していきます。
D3:=SUM(INDIRECT(B14))
すると、写真のようにそれぞれ『おもちゃ』の範囲の合計と、『ゲーム』の範囲の合計が表示されます。
つまり、
INDIRECT(B13)=おもちゃ=C4:E4
INDIRECT(B14)=ゲーム=C5:E5
ということになります。
このように、INDIRECTを使うことで指定する範囲を変えるときに、とても楽になります。
例:集計する範囲を新しく指定した『ボードゲーム』の範囲に変更するなど
INDIRECT関数とROW関数を組み合わせた使い方
こちらは、応用編です。
INDIRECT関数とROW関数を使ってTEXT関数の引数早見表を作成する
ブログ用に作ったTEXT関数の引数早見表の作り方をINDIRECT関数とROW関数を使ってわかりやすく説明していきます。
このような表があったとします。
TEXT関数で日付の表示形式を変える場合の引数がC列にあり、どんな内容かがD列に書いてあります。
これをINDIRECT関数とROW関数・TEXT関数を使ってE列に表示していきます。
まず、E3には次のような式を入力します。
このように、B列の『日付』に対して、TEXT関数の『C列の表示形式』に変えた場合の結果を簡単に表示することが出来ます。
あとはE4のセルを相対参照でE14までコピペ(ドラッグドロップ)するだけで完成します。
INDIRECT関数と名前の定義のまとめ
今回は、INDIRECT関数の基本的な使い方と名前の定義・ROW関数との組み合わせ実用例を紹介してきました。
- INDIRECT関数で指定した文字列を関数の中に入れ込む
- 名前の定義にINDIRECT関数を組み合わせるととても便利になる
INDIRECT関数を覚えると今まで出来なかった細かい部分を柔軟に対応でき、仕事の効率が更に向上します!
名前の定義とも相性がいいので合わせて覚えましょう!
今回はこれで終了です。
最後まで読んで頂きありがとうございます!
コメント