
【Excel基礎】INDIRECT関数ってなに?名前の定義と連動ドロップダウンのつながり【ChatGPT活用つき】
💭 前回のふりかえり
A1セルで「東京」を選ぶと
B1セルに「渋谷区・港区・中央区」が表示される
そんな 連動ドロップダウンの仕組みを作る準備を整えました。
🧩 今回の目的
「B列がA列に応じて変わる」仕組みの 心臓部とも言える
INDIRECT関数と“名前の定義”の意味を理解するのが今回のゴールです。
🧠 そもそもINDIRECT関数ってなに?
INDIRECT(セル参照) とは、そのセルに書かれている文字列を「参照先」として扱う関数です。
たとえば…
A1セルに「東京」と入力されていたとします。 =INDIRECT(A1)
これは、「セルA1の中身が '東京' だから、'東京'という名前が付いたセル範囲を参照せよ」という意味になります。
✅ つまりこういうこと:
A1(都道府県)B1(市区町村)東京=INDIRECT(A1) →「東京」範囲を参照
→ 事前に「東京」という名前がセル範囲に定義されていることが大前提!
🤖 ChatGPTにこう聞いてみよう!
Excelで、A1に「東京」と入力されたとき、B1にその「東京」という名前がついたセル範囲のリストを表示したい。INDIRECT関数の使い方と注意点を教えて。
ChatGPTはこのような回答を返してくれるはず:
INDIRECT関数の基本的な動き
名前定義が存在しない場合の挙動
入力ミス(全角・半角違い)に対する注意
✅ ステップ1:名前の定義をおさらい&補強
🔽 東京・大阪に「名前」を付け直す(もしまだの場合)
「東京」の市区町村リスト(例:H2:H4)を選択
上部メニュー → [数式]タブ → [名前の定義]をクリック
名前に「東京」と入力(※カタカナ・全角・記号に注意!)
OK
大阪(例:I2:I4)も同様に設定します。
💡 名前に関する注意点
名前とA列の値は完全一致が必要(「東京」と「とうきょう」は別)
名前は 先頭に数字不可/スペース不可
半角カタカナ・記号も避けるのが安全
✅ ステップ2:B1にINDIRECT関数を使った入力規則を設定
🔽 操作手順:
B1セルを選択
メニュー[データ]→[データの入力規則]をクリック
「設定」タブで「入力値の種類:リスト」を選択
「元の値」欄に次の式を入力:
=INDIRECT(A1)
OK をクリック
これで、A1に入力された都道府県名に対応して、B1セルのドロップダウンが変化するようになります!
💡 ChatGPTで式の意味を深掘りしたいときは:
INDIRECT関数で参照している名前が存在しないとき、どうなりますか?エラーを防ぐ方法も教えてください。
✅ 補足:INDIRECTが失敗するパターン
名前が定義されていない(例:「北海道」に定義がない)
入力ミス(例:「東京 」←スペースが入っている)
セル参照がズレている(例:A2を見てるのにA1に入力してる)
→ ChatGPTに「なぜ動かないか?」を聞けば、原因切り分けのヒントも得られます。
🧠 応用ポイント:複数行にも対応できる!
この仕組みは、A列・B列を縦に並べるようにして
複数行で連動ドロップダウンを作ることも可能です。

→ A2の内容に応じて、B2を =INDIRECT(A2) にすればOK!
✅ まとめ
INDIRECT関数は「セルの中身を名前として解釈して、その範囲を参照」する仕組み
そのためには 事前の名前定義が必須
ChatGPTに「やりたいこと+失敗時の対処」まで聞くと、より深く理解できる
📘 次回予告
次回は、壊れない/整った連動リストを作るテクニックをご紹介!
たとえば…
名前がないときにエラーを出さない方法
データを整理する工夫
運用しやすいリスト構造
など、実務目線の“仕上げ”テクニックをChatGPTと一緒に学びます。