在 Excel 製作多層級連動選單的方法,是先將縣市與鄉鎮區資料透過「從選取範圍建立」批次定義名稱,接著使用「資料驗證」功能建立第一層選單,再利用 INDIRECT 函數參照第一層結果來設定第二層選單,即可達成連動效果。
如何在 Excel 準備多層級選單的資料與批次定義名稱?
要製作多層級選單,第一步必須先整理好對應的資料格式,並透過「定義名稱」功能將範圍命名。阿湯曾經就教過大家使用「定義名稱」的功能來簡化清單,對於撰寫函數公式時,可以讓公式的一些範圍設定看起來更清爽一些。但如果有大量的清單要設定自定義名稱怎麼辦?比如今天就以縣市及鄉鎮區製作為多層級選單為範例,我們要怎麼批次的完成定義名稱,並透過定義好的名稱快速完成簡單的多層級選單,不論要做幾層選單都可以,往下來看吧。
建立資料與批次定義名稱
首先要做好相對應的資料,像 D 列我是放縣市資料,然後從 E 開始到 Z 是標頭為縣市名稱對應所有的鄉鎮區域,資料以此類推來建立,所以如果你後續還要往路段製作就是這樣做第三層的資料即可。
接下來將資料的範圍全選後,進入上方功能區的「公式」,點擊「從選取範圍建立」。

在彈出的視窗中,請只勾選「頂端列」,然後按下確定,到這邊就完成了全部的名稱定義了。

要怎麼確認定義名稱有沒有成功?只要點擊「公式」索引標籤中的「名稱管理員」,就可以查看剛剛建立的名稱有沒有成功對應到範圍了。

怎麼設定 Excel 第一層下拉式選單?
完成批次的定義名稱後,我們就可以來製作多層級選單,首先透過「資料驗證」功能來建立第一層清單。我們要建立的地方假設是在 A2 跟 B2 儲存格,第一個要建立的選單就是 A2。選擇 A2 後,進入「資料」索引標籤,點選「資料驗證」。

在資料驗證的設定視窗中,第一個「儲存格內允許」請選擇「清單」,第二個「來源」欄位請輸入剛剛建立的名稱 =縣市,這裡就是看你標頭是打什麼就是什麼。

設定好按下確定後,這樣就完成第一層的縣市選單了,點擊儲存格旁邊的箭頭即可選擇。

如何利用 INDIRECT 函數製作連動的第二層選單?
要讓第二層選單根據第一層的選擇自動變換,我們需要結合 INDIRECT 函數與資料驗證功能來達成。再來製作第二層選單,選擇 B2 儲存格後,一樣進入資料的「資料驗證」。

在設定視窗中,「儲存格內允許」一樣選擇「清單」,來源的部份請輸入 =INDIRECT(A2)。INDIRECT 這個就是指引函式,還不知道用途可以去查一下,這個我們用 A2 來對應的意思就是:當我們在 A2 選擇某個縣市,就會依照定義的名稱去對應清單,所以在這裡只要用這個函數就搞定。

這樣當我們第一層假設選擇「宜蘭縣」時,再去選第二層就只會出現宜蘭的鄉鎮區市可以選擇,就這麼簡單完成了多層級選單!如果你還想要做第三層,就是資料做好後,第三層的公式就會是變成 =INDIRECT(B2),以此類推,大家快去試看看吧。
常見問題
如何在 Excel 快速為大量資料建立定義名稱?
將資料範圍全選後,點擊上方功能區的「公式」>「從選取範圍建立」,接著在彈出視窗中只勾選「頂端列」並按下確定,就能一次完成所有欄位的名稱定義。
Excel 資料驗證的來源要怎麼設定才能出現下拉選單?
在「資料驗證」設定視窗中,將「儲存格內允許」設為「清單」,然後在「來源」欄位輸入等號加上定義好的名稱(例如 =縣市),即可產生對應的下拉式選單。
Excel 多層級選單要怎麼讓第二層跟著第一層連動?
在設定第二層選單的「資料驗證」時,允許選擇「清單」,並在來源欄位輸入 =INDIRECT(第一層儲存格位置),例如 =INDIRECT(A2),這樣第二層就會根據第一層的選擇自動變換選項。
(本文於 2026 年 10 月更新:補充步驟說明與常見問題)




