INDIRECT関数の基本

練習用データ(13.5KB)
Excel 2016・2013・2010
解説記事内の画像はExcel 2016のものです。

スポンサーリンク

INDIRECT関数の基本01

この文書のA2番地には「焼肉定食」という文字が入力されています。

INDIRECT関数の基本02

まずはこの文書のD2番地を選択して、

INDIRECT関数の基本04

このような数式を入力してみることにしましょう。

目次

スポンサーリンク

INDIRECT関数の基本03

これは「&」を使った数式で、「Aという文字と2という数字をくっつけてね」という意味。
「A」がダブルクォーテーションで囲まれていますが、これは数式内の文字はダブルクォーテーションで囲むのがExcelのお約束だから。
「2」は数字で、文字ではないのでダブルクォーテーションでは囲みません。

INDIRECT関数の基本05

数式を入力後、数式バーの[入力]ボタンか、キーボードの[Enter]キーを押すと、

INDIRECT関数の基本06

数式の答えが表示されました!
「Aという文字と2という数字をくっつけてね」という数式を入力したので、「A」と「2」がくっついて「A2」と表示されました。
(今回はどんな数式を入力したかを分かりやすくするため、隣のセルに入力した数式を記載してみました。)

INDIRECT関数を設定してみよう

INDIRECT関数の基本07

続いて今度はD3番地に、

INDIRECT関数の基本08

このようなINDIRECT関数を使った数式を入力してみることにしましょう。
数式内の引数は、先ほど入力したものと全く同じですが、INDIRECT関数を通すことによってどう変わるのかを見てみます。

INDIRECT関数の基本09

まずは数式を入力したいD3番地を選択し、[関数の挿入]ボタンをクリックします。

INDIRECT関数の基本10

関数を指定するためのダイアログボックスが表示されるので、[関数の分類]で「すべて表示」を選択すると、すべての関数が[関数名]欄にABC順で表示されます。
今回はINDIRECT関数を使いたいので、一覧から「INDIRECT」をクリックで選択し、[OK]ボタンを押します。
ちなみに、この一覧から「INDIRECT」を選択する際、「INDIRECT」の頭文字である「I」のところまで、一瞬でスクロールする技を使うと便利です。

INDIRECT関数の基本11

前のダイアログボックスで「INDIRECT」を選択して[OK]ボタンをクリックすると、このようなダイアログボックスが表示されます。
[参照文字列]欄に図のように入力してみます。
このような設定の意味については後ほどご説明しますので、まずは操作だけしてみてください。

INDIRECT関数の基本12

次の[参照形式]欄にはR1C1形式というもので数式を組み立てたい方だけが必要なものなので、普段は省略するもんだと思っていただいてOKです。

INDIRECT関数の基本11

関数の設定が終わったので、ダイアログボックス右下の[OK]ボタンをクリックしてみましょう。

INDIRECT関数の基本13

今度は「A2」という文字が表示されるのではなく、A2番地に入力されている「焼肉定食」という文字が表示されました!
これはどういうことなのか、1つ目に入力した数式と比べながら、考えていくことにしましょう。


INDIRECT関数の基本03

まず1つ目の数式は、「Aという文字と2という数字をくっつけてね」という意味だったので

INDIRECT関数の基本14

単純に「A」と「2」がくっついた「A2」と表示されました。

INDIRECT関数の基本15

ところがINDIRECT関数は、指定した文字を、「文字」としてではなく、数式の中で使えるような「セルの名前」として認識してねという関数。
「A」という文字と「2」という数字をくっつけると「A2」になるわけですが、それを「A2」という文字としてではなく、「A2」という名前のセル、つまり「A2番地」として認識するので、その結果、

INDIRECT関数の基本13

A2番地に入力されているものが表示された、というわけです!

INDIRECT関数の基本16

というわけで、INDIRECT関数の数式はこのようになります!

引数の中にセルを指定すると

INDIRECT関数の基本17

練習用ファイルを操作しながらご覧いただいている方は、画面左下のシート見出しをクリックして、「Sheet2」に切り替えておきます。

INDIRECT関数の基本18

このシートのA1番地には「5」という数字が、そしてA5番地には「海鮮丼」という文字が入力されています。

INDIRECT関数の基本19

それではこのシートのD2番地を選択して、

INDIRECT関数の基本21

今度はこのような数式を入力してみることにしましょう。

INDIRECT関数の基本20

これは先ほどと同様「&」を使った数式ですが、数式の後半部分に「A1」という箇所があります。
どうしても先ほどの数式の記憶があるので、「A1」のAのところにダブルクォーテーションが付いてないじゃん!と思いそうですが、これは難しく考える必要なく、「A1」というセル番地のこと。
この数式の最初にある「A」には文字を表すダブルクォーテーションが付いていますので、最初の「A」は「Aという文字」となりますが、次に来る「A1」はA1番地をあらわすので、この数式は「Aという文字と、A1番地に入っているものをくっつけてね」という意味になります。
セルはいわば「入れもの」ですから、数式内にセル番地が指定されているときは、「そのセルに入っているもの」という風に考えるわけです。

INDIRECT関数の基本22

数式を入力する際、数式のすべてを手入力しても構いませんし、「&」まで入力した後、

INDIRECT関数の基本23

実際のA1番地をクリックすると、数式の「A1」の部分を手軽に入力することができます。

INDIRECT関数の基本24

数式の入力が終わったら、数式バーの[入力]ボタンか、キーボードの[Enter]キーを押すと、

INDIRECT関数の基本25

数式の答えが表示されました!

INDIRECT関数の基本20

「Aという文字と、A1番地に入っているものをくっつけてね」という数式を入力し、

INDIRECT関数の基本69

そのA1番地に入っているものは「5」なので、

INDIRECT関数の基本34

「A」という文字と「5」がくっついて、

INDIRECT関数の基本25

「A5」と表示されました。


INDIRECT関数の基本26

続いて今度は、D3番地に、

INDIRECT関数の基本28

このようなINDIRECT関数を使った数式を入力してみることにしましょう。
数式内の引数は、先ほど入力したものと全く同じですが、INDIRECT関数を通すとどう変わるかを見てみましょう。

INDIRECT関数の基本27

まずは数式を入力したいD3番地を選択し、[関数の挿入]ボタンをクリックします。

INDIRECT関数の基本29

関数を指定するためのダイアログボックスが表示されるので、[関数の分類]で「すべて表示」を選択してもいいですし、先ほど使ったばかりなので[最近使った関数]を選択してもいいです。
そして[関数名]欄から「INDIRECT」をクリックで選択し、[OK]ボタンをクリックします。

INDIRECT関数の基本32

表示されたダイアログボックスの[参照文字列]欄に、図のように入力しますが、この時も数式のすべてを手入力しても構いませんし、

INDIRECT関数の基本30

「&」まで入力した後、

INDIRECT関数の基本31

実際のA1番地をクリックすると、数式の「A1」の部分を手軽に入力することができます。
[参照文字列]の設定が終わったので、ダイアログボックス右下の[OK]ボタンをクリックしてみましょう。
(重ねての解説になりますが、2つ目の引数[参照形式]は、R1C1形式というもので数式を組み立てたい方だけが必要なものなので、普段は省略するもんだと思っていただいてOKです。)

INDIRECT関数の基本33

数式の答えが表示されました!
今度は「A5」という文字が表示されるのではなく、A5番地に入力されている「海鮮丼」という文字が表示されています!
これについても、1つ目の数式と比べながら、どういうことなのかを考えていきましょう。


INDIRECT関数の基本20

まず1つ目の数式は、「Aという文字と、A1番地に入っているものをくっつけてね」という数式を入力し、

INDIRECT関数の基本70

A1番地には「5」と入力されているので、

INDIRECT関数の基本34

「A」という文字と「5」がくっついて、

INDIRECT関数の基本35

「A5」と表示されました。

INDIRECT関数の基本36

ところがINDIRECT関数は、指定した文字を、「文字」としてではなく、数式の中で使えるような「セルの名前」として認識してねという関数。
「A」という文字と、A1番地に入力されている「5」をくっつけると「A5」になるわけですが、それを「A5」という文字としてではなく、「A5」という名前のセル、つまり「A5番地」として認識するので、その結果、

INDIRECT関数の基本33

A5番地に入力されているものが表示された、というわけです!

引数の中にセルを指定する例を、もう少し見てみよう

INDIRECT関数の基本38

ここまで見ていただいたように、INDIRECT関数の引数[参照文字列]の中には、文字や数字だけでなく、セル番地を指定できることが分かりました。
そしてセル番地を指定すると、「この文字を」ではなく、「このセルに入っているもの」という考え方になるわけですね。

INDIRECT関数の基本37

それでは、INDIRECT関数の引数[参照文字列]に、セル番地を指定する例を、もう少し見てみることにしましょう。
練習用ファイルを操作しながらご覧いただいている方は、画面左下のシート見出しをクリックして、「Sheet3」に切り替えておきます。

INDIRECT関数の基本39

このシートのA2番地には「A4」という文字が、そしてA4番地には「プリン」という文字が入力されています。

INDIRECT関数の基本40

それではこのシートのD2番地を選択して、

INDIRECT関数の基本41

今度はこのような数式を入力してみることにしましょう。
これは「A2番地に入っているものを表示させてね」というセル参照の数式。

INDIRECT関数の基本42

数式を入力する際、数式のすべてを手入力しても構いませんし、「=」を入力した後、

INDIRECT関数の基本43

実際のA2番地をクリックすると、数式の「A2」の部分を手軽に入力することができます。

INDIRECT関数の基本44

数式の入力が終わったら、数式バーの[入力]ボタンか、キーボードの[Enter]キーを押すと、

INDIRECT関数の基本45

数式の答えが表示されました!

INDIRECT関数の基本52

「A2番地に入っているものを表示させてね」という数式を入力し、

INDIRECT関数の基本71

A2番地には「A4」という文字が入力されているので、そのとおり「A4」と表示されました。


INDIRECT関数の基本46

続いて今度は、D3番地に、

INDIRECT関数の基本48

このようなINDIRECT関数を使った数式を入力してみることにしましょう。
数式内の引数は、先ほど入力したものと全く同じですが、INDIRECT関数を通すとどう変わるかを見てみましょう。

INDIRECT関数の基本47

まずは数式を入力したいD3番地を選択し、[関数の挿入]ボタンをクリックし、

INDIRECT関数の基本29

[関数名]欄から「INDIRECT」をクリックで選択。
[OK]ボタンをクリックします。

INDIRECT関数の基本49

表示されたダイアログボックスの[参照文字列]欄に、「A2」と設定しますが、この時もすべてを手入力しても構いませんし、[参照文字列]欄に文字カーソルがある状態で、

INDIRECT関数の基本50

実際のA2番地をクリックしても設定できます。
[参照文字列]の設定が終わったので、ダイアログボックス右下の[OK]ボタンをクリックしてみましょう。

INDIRECT関数の基本51

今度は「A4」という文字が表示されるのではなく、A4番地に入力されている「プリン」という文字が表示されました!
下記で答えがこうなった理由を考えていきましょう!


INDIRECT関数の基本52

1つ目の数式は、「A2番地に入っているものを表示させてね」という数式を入力し、

INDIRECT関数の基本72

A2番地には「A4」と入力されているので、そのとおり「A4」と表示されました。

INDIRECT関数の基本54

ところがINDIRECT関数は、指定した文字を、「文字」としてではなく、数式の中で使えるような「セルの名前」として認識してねというという関数。
A2番地に入っていた「A4」を、「A4」という文字としてではなく、「A4」という名前のセル、つまり「A4番地」として認識するので、その結果、

INDIRECT関数の基本63

A4番地に入力されているものが表示された、というわけです!

セルの名前として認識させることも!

INDIRECT関数の基本55

それではもう少しINDIRECT関数について発展させていきます。
練習用ファイルを操作しながらご覧いただいている方は、画面左下のシート見出しをクリックして、「Sheet4」に切り替えておきます。

INDIRECT関数の基本56

表の数字が入力されている各セルには、担当者の苗字をそれぞれのセルの名前として設定してあります。
B3番地の数字は岡田さんの数字なので、「岡田」という名前をB3番地に設定してあり、

INDIRECT関数の基本57

B4番地は堤さんの数字なので、「堤」という名前をB4番地に設定してあります。
同様にB5番地、B6番地の数字にも、担当者の苗字をセルの名前として設定しています。
ここまでが前準備。

INDIRECT関数の基本59

さてここで、E2番地に、

INDIRECT関数の基本58

INDIRECT関数の引数としてB1番地を指定した数式を入力してみましょう。

INDIRECT関数の基本60

数式を入力したいE2番地を選択し、[関数の挿入]ボタンをクリック後、INDIRECT関数を選択します。
この時点でINDIRECT関数の選択の仕方が分からない方はこれ以上進むのは危険です。
このページをもう一度最初からご覧ください。

INDIRECT関数の基本61

表示されたダイアログボックスの[参照文字列]欄に「B1」と設定し、[OK]ボタンをクリックすると、

INDIRECT関数の基本62

答えが表示されました!

INDIRECT関数の基本58

今回、INDIRECT関数の引数に設定したのはB1番地。

INDIRECT関数の基本65

そのB1番地に入力されているのは「小池」という文字。

INDIRECT関数の基本64

INDIRECT関数は、指定した文字を、「文字」としてではなく、数式の中で使えるような「セルの名前」として認識してねというという関数ですから、B1番地に入っていた「小池」を、「小池」という文字としてではなく、「小池」という名前の付いたセルとして認識させてね、という関数。

INDIRECT関数の基本66

この文書で「小池」という名前を設定していたセルはB6番地。

INDIRECT関数の基本67

というわけで、「小池」という名前が付いているB6番地のデータが表示されたというわけです。

INDIRECT関数の基本68

もし、B1番地を「堤」と修正すると、「堤」という文字を、文字としてではなくセルの名前として認識するので、その結果、「堤」という名前が付いているB4番地のデータが表示されます!

ここまでで何となくINDIRECT関数の可能性に気付いていただけたでしょうか?
最後の例を見ていただいたように、このINDIRECT関数を使うことで、状況に応じて表示させるものを変えることができます。
これをどんな風に活用するかはアイディア次第。
このサイトでも様々なアイディアをご紹介していきたいと思います!

スポンサーリンク

かつて、こんな後悔のご経験はありませんか?
もっと早くからパソコンを触っておけば...
今まさしく、あの時とは比べものにならない大きな進化が、今まで経験したことのない驚異的なスピードで私たちを巻き込んでいます。
そうです、AIです。
あの時の何倍も何十倍も大きな後悔をしないために、本当に必要な情報とテクニックが手に入る場所、それがBe Cool UsersのAI特化メンバーシップです!

Be Cool Users管理人の略歴・得意なことをまとめました!
お仕事のご依頼も「自己紹介・お仕事のご依頼につきまして」からご連絡くださいませ。
「こんなことできる?」もお気軽にご相談ください。

目次へ
ページ先頭へ