INDIRECT関数のわかりやすい使い方と名前の定義【エクセル】

Excel

こんにちは!けたです。

今回は、私のブログにお越し頂きありがとうございます♪

今回は、このようなエクセルの悩みを解決していきます!

なやむ人
エクセル初心者

エクセルでINDIRECT関数を覚えるとなんでもできるって聞いたけどどんな関数なんだろう?

INDIRECT関数は基本が出来てる人向けの応用関数です。

今回は、INDIRECT関数の使い方をわかりやすく解説していきます。

  • INDIRECT関数の基本的な使い方をわかりやすく解説
  • INDIRECT関数と『名前の定義』を組み合わせた使い方をわかりやすく解説
  • INDIRECT関数と『TEXT関数』『ROW関数』を組み合わせた使い方をわかりやすく解説

けた
けた

ちなみに私は、就職してから約12年間毎日エクセルを使ってきた経験があります。

INDIRECT関数とは?使い方をわかりやすく解説していきます

INDIRECT関数

INDIRECT関数の基本的な使い方と具体的な例を元に説明していきます。

INDIRECT関数の基本の使い方とは?

 

INDIRECT関数の基本の使い方を写真を使ってわかりやすく説明していきます。

  • 基本の書式:INDIRECT(参照文字列,参照形式)
  • 参照文字列:入力されているセルを指定します。
  • 参照形式:省略することも出来ます。TRUEを指定するとA1形式(列をアルファベット、行を数字で表す通常の形式)、FALSEを指定するとR1C1(行列ともに数字で表す形式)の参照となります。

参照文字列で指定したセル範囲を介して、ほかのセル範囲の内容を参照する関数です。

基本の使い方はINDIRECT(参照文字列)となります。

まずは簡単な使い方例を紹介していきます。

下記の写真を参考にして下さい。

INDIRECT関数の使用例

indirect1

INDIRECT関数の使い方

B4には文字列で “名前 太郎” が入力されています。

B5には文字列で “B4″ が入力されています。

次に、D4・D5・D6にはそれぞれ次のような式を入力します

①D4:=INDIRECT(B4)
②D5:=INDIRECT(“B4”)
③D6:=INDIRECT(B5)

①の『=INDIRECT(B2)』の場合

D2セル結果:『#REF!』;エラー表示

INDIRECT関数を使うときの注意点として参照するのが文字列(名前など)の場合は必ず「” ”」ダブルクォーテーションで囲みましょう。

セルの値であればいいですが、文字列だとエラーになってしまいます。

②の『=INDIRECT(“B2”)』の場合

D3セル結果:『名前 太郎』

B2セルの文字列を表示する内容です。

こちらはダブルクォーテーションで囲んでいるのでエラーがなく表示されています。

③の『D4:=INDIRECT(B3)』の場合

D4セル結果:『名前 太郎』

=INDIRECT(B3)はB3セルの中に入っている”B2″という文字列に置き換えていますので、結果としてB2セルの中の”名前 太郎”という文字列を返しています。

けた
けた

このように書式を変えることで求められる答えが変わってくるのです。

名前の定義とは?使い方をわかりやすく解説

名前の定義

名前の定義とは?

名前の定義とは『指定した範囲のセルに名前を付けること』です。

具体的には、次の表を使って説明していきます。

名前の定義

名前の定義

 名前の定義の方法

  • 『C4:E4』の範囲を選択
  • タブから数式を選択
  • リボンから名前の定義
  • 名前の欄におもちゃと入力
  • OKを押す

これで『C4:E4』の範囲に『おもちゃ』という名前をつけることができます。
同じような手順で『C5:E5』には『ゲーム』という名前を定義します。
次に、写真のように〇に次のような書式を入力します。
名前の定義2

名前の定義と合計

B7:=SUM(おもちゃ)
B8:=SUM(ゲーム)

結果としておもちゃの範囲である『C4:E4』の合計である78,000というデータを求めることが出来ます。

 

つまり、

SUM(おもちゃ)=SUM(C4:E4)

SUM(ゲーム)=SUM(C5:E5)

ということになります。

INDIRECT関数と名前を定義を組み合わせた使い方

INDIRECT関数と名前の定義

INDIRECT関数と名前の定義を組み合わせた使い方は、とても便利なので今回は、写真と具体例を元にわかりやすく説明していきます。

下記のような表があったとします。

indirectと名前の定義

INDIRECT関数と名前の定義

B3・B4の黄色いセルに、文字を入力します。

今回は前項で設定した『おもちゃ』と『ゲーム』を入力してみます。

B3:おもちゃ
B4:ゲーム

 

次に、C3・C4セルには次の式を入力していきます。

C3:=SUM(INDIRECT(B13))
D3:=SUM(INDIRECT(B14))

すると、写真のようにそれぞれ『おもちゃ』の範囲の合計と、『ゲーム』の範囲の合計が表示されます。

つまり、

INDIRECT(B13)=おもちゃ=C4:E4

INDIRECT(B14)=ゲーム=C5:E5

ということになります。

このように、INDIRECTを使うことで指定する範囲を変えるときに、とても楽になります。

例:集計する範囲を新しく指定した『ボードゲーム』の範囲に変更するなど

INDIRECT関数とROW関数を組み合わせた使い方

INDIRECT関数とROW関数を使ってTEXT関数の引数早見表を作成する

ブログ用に作ったTEXT関数の引数早見表の作り方をINDIRECT関数とROW関数を使ってわかりやすく説明していきます。

このような表があったとします。

INDIRECT関数とROW関数を使ったTEXT関数の引数早見表

INDIRECT関数とROW関数を使ったTEXT関数の引数早見表

TEXT関数で日付の表示形式を変える場合の引数がC列にあり、どんな内容かがD列に書いてあります。

これをINDIRECT関数とROW関数・TEXT関数を使ってE列に表示していきます。

まず、E3には次のような式を入力します。

E3:TEXT(B3,INDIRECT(“C”&ROW(B3)))
INDIRECT関数とROW関数を使ったTEXT関数の引数早見表2

INDIRECT関数とROW関数を使ったTEXT関数の引数早見表2

このように、B列の『日付』に対して、TEXT関数の『C列の表示形式』に変えた場合の結果を簡単に表示することが出来ます。

あとはE4のセルを相対参照でE14までコピペ(ドラッグドロップ)するだけで完成します。

ちなみに、(“C”&ROW(B3))の部分をC3と入れてしまうと文字列扱いになっているのでコピーしても全部C3になってしまい、手入力で変更が必要になるので注意です!

INDIRECT関数と名前の定義のまとめ

今回は、INDIRECT関数の基本的な使い方と名前の定義・ROW関数との組み合わせ実用例を紹介してきました。

  • INDIRECT関数で指定した文字列を関数の中に入れ込む
  • 名前の定義にINDIRECT関数を組み合わせるととても便利になる

INDIRECT関数を覚えると今まで出来なかった細かい部分を柔軟に対応でき、仕事の効率が更に向上します!

名前の定義とも相性がいいので合わせて覚えましょう!

今回はこれで終了です。

最後まで読んで頂きありがとうございます♪

 

コメント