INDIRECT関数の基本

解説記事内の画像はExcel 2016のものですが、操作方法は下記のバージョンで同じです。
  • Excel 2016, 2013, 2010
Excel 2016・2013・2010用 練習ファイル
(indirect01.xlsx 13.5KB)

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関数の基本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関数を使うことで、状況に応じて表示させるものを変えることができます。
これをどんな風に活用するかはアイディア次第。
このサイトでも様々なアイディアをご紹介していきたいと思います!

スポンサーリンク