大家好 !! 今天想介紹一下如何利用EXCEL去建立多層關聯式下拉式選單
什麼是多層關聯下拉式選單 ??
簡單來說就是 "有階層關連性的下拉式選單"
例如我們上郵局網站查詢郵遞區號 (圖1)
我隨意查詢的是 "南投縣" "魚池鄉" "文正巷"
一階主要查詢內容:南投縣
二階次要查詢內容:魚池鄉
三階次要查詢內容:文正巷
必須依照階層順序去做查詢
便可以知道南投縣魚池鄉文正巷的郵遞區號是多少??
換句話說 如果我沒有先選到"南投縣"就沒辦法依序選到魚池鄉文正巷
這也是多層關聯下拉式選單的缺點 (不可逆)
今天教大家使用EXCEL進行多層關聯式下拉式選單的製作
也會教大家函數的使用
-----------------------------------------------------------------------------------------
1. 彙整資料 (圖2)
下拉式選單是我們的查詢範圍,右邊三項分別為關聯性資料
一階主要查詢內容:地區(區域)
二階次要查詢內容:料理(種類)
三階次要查詢內容:食物(菜色)
我們就可以依照順序選擇我們要的菜色
2. 定義名稱(定義次要查詢項目)
將二階與三階進行定義名稱
主要原因是做群組分類並能夠使用 indirect函數 做參照
二階根據一階內容作選擇;三階根據二階內容作選擇
因此我們選取料理(二階)與食物(三階)
選取數據按下快捷鍵 ctrl+G 選擇特殊目標→選擇常數 (圖3)
(p.s.選擇常數會將空白處抹滅)
接著進行定義名稱(圖4 ~ 圖6) _ 選擇頂端列
頂端列定義的原因是要依據一階的內容作為參照
圖4. 二階定義名稱
圖5. 三階定義名稱
圖6. 確認定義名稱
圖4 .二階定義名稱
圖5 .三階定義名稱
圖6. 定義名稱
3. 進行一階下拉式選單的設定 (圖7)
一階無需參照任何內容 因此我們選擇A列利用資料驗證
將一階設定為下拉式清單)
將一階設定為下拉式清單)
圖7. 一階設定下拉式選單
4. 利用 indirect函數做資料關聯性
在這邊先介紹 indirect 函數 (圖8)
說明:根據選擇的儲存格回傳內容字串
根據我們的範例來做說明 (圖9)
假設當我選擇一階(北區)
利用indirect函數回傳北區的二階內容 (中式料理、義式料理)
先選擇B列(垂直) 進行資料驗證使用 indirect函數 參照儲存格為A3 (圖9)
也就是說 參照地區回傳內容字串
選擇北區 北區的料理的內容是中式料理與義式料理
先選擇B列(垂直) 進行資料驗證使用 indirect函數 參照儲存格為A3 (圖9)
也就是說 參照地區回傳內容字串
選擇北區 北區的料理的內容是中式料理與義式料理
利用indirect函數回傳三階內容 (炒麵、義大利麵 等等)
選擇北區 北區的中式料理內容是炒飯、炒麵
先選擇C列(垂直) 進行資料驗證使用 indirect函數 參照儲存格為B3 (圖10)
選擇北區 北區的中式料理內容是炒飯、炒麵
先選擇C列(垂直) 進行資料驗證使用 indirect函數 參照儲存格為B3 (圖10)
再次強調 二階根據一階內容作選擇;三階根據二階內容作選擇 以此類推
圖8. indirect函數
圖10. 參照2階
4. 最後依序下拉式清單測試 (圖10)
圖10