09.15 手把手教你用Excel製作多級聯動下拉菜單

經常用Excel進行數據收集、整理的朋友,相信你們都遇過各種令人抓狂的事情:

“手機號不是11位”、“面積單位有人寫平方米,有人寫m2”、“張冠李戴,明明寫姓名的地方,寫了性別”、“說好寫保留一位小數,卻提交了整數”、“說好50字以內,卻寫了500字”……

其實要避免不規範,做表的人就必須提前針對指定單元格進行限制!這樣一來,後面的使用者就只能按你的要求,才能正常輸入數據了。

Excel裡就有一個功能,Excel2010以前叫數據有效性,之後改名叫數據驗證,看字面意思就知道是用於判斷數據是否有效,驗證數據是否按要求輸入。會這個功能後,以上遇到的困擾基本上可以解決了。

但還有複雜一些的情況,可能需要逐級限制,如你在線上購物輸入收貨地址時,省份-城市-區,這種具有層級關聯關係的,我們如何實現選擇這個省後,下面是對應的城市,以及後續出現對應的區呢?

今天就跟大家分享多級聯動下拉菜單的實現方法。以省、地、縣級的對應關係為例,來學習製作三級聯動下拉菜單。(本文演示版本使用的是Excel 2016,下稱的

數據驗證與Excel 2007中的數據有效性功能及操作一樣)

1、先來搞清楚三級聯動下拉菜單是什麼?

手把手教你用Excel制作多级联动下拉菜单
  • 地級的可選內容是根據省級而變化的,即選了廣東省後,地級出現的是廣州市

  • 縣級的下拉內容是根據地級而變化的,即選了南京市後,縣級出現的是南京下屬行政區

  • 概括說,是實現逐級對應的效果,確保不會出現廣東省南京市這種現象

2、整理思路

共三級的下拉菜單,二級依賴一級,三級依賴二級,那就可以定下來製作的順序:一級-->二級-->三級; 功能上主要是使用Excel的數據驗證。

3、製作一級下拉菜單

一級的菜單最簡單了,直接在指定單元格中設置數據驗證即可:

手把手教你用Excel制作多级联动下拉菜单

4、製作二級下拉菜單(多級菜單的重點、難點都在這裡)

二級的下拉內容是要根據一級的內容變化而變化的,也就是說給二級的單元格設置數據驗證的時候,需要輸入一個動態變化的區域。這裡介紹一個"indirect函數+定義名稱"的做法。

a、給二級的內容定義名稱,名稱為它對應的一級內容。如給廣州市定義名稱為廣東省,給南京市定義名稱為江蘇省。

手把手教你用Excel制作多级联动下拉菜单

b、設置數據驗證,選擇用indirect函數動態引用一級單元格內容,即實現當一級為廣東省時,二級的菜單數據源就是indirect(廣東省),當一級是江蘇省時,二級的下拉數據源就是indirect(江蘇省)。我們在上一步已定義好名稱,名稱“廣東省”=“廣州市”,“江蘇省”=“南京市”,通過此法實現了二級的下拉菜單動態變化,是依賴一級的選擇結果變化而變化。

手把手教你用Excel制作多级联动下拉菜单

c、做好二級菜單後,三級的問題也是同理可得。先給三級的內容設置名稱,名稱是對應的二級,然後也是通過indirect函數引用二級內容的單元格,實現當二級選擇廣州市時,三級的下拉數據源就是indirect(廣州市)。

手把手教你用Excel制作多级联动下拉菜单

就這樣,三級下拉菜單就做完了!學會這個技能你做數據收集的時候,就可以提前給單元格設置好各種限制條件,告別垃圾信息輸入!

再來回顧總結,多級聯動下拉菜單的製作的要點

1、給下級內容定義名稱,名稱是對應的上級,然後設置數據驗證,用indirect函數引用上級的單元格。

2、整理數據源的擺放,在定義名稱前,建議把各級菜單內容按列存儲,然後各列首行的行標題為對應的上一級內容。這樣是便於快速地定義名稱,選擇的功能是“根據所選內容創建”。

3、還有要注意的是,如果各列數據的行數不一樣,不要一次性選擇所有列進行創建名稱,否則會導致出現有空白選項。而需要按F5定位選擇常量再操作,或者列數少的情況下,可以逐列進行定義)

手把手教你用Excel制作多级联动下拉菜单

擴展知識:

製作聯動下拉菜單,除了indirect函數外,還可以用index+match,offset等辦法,大家可以進一步去學習,各方法各有利弊,大家都掌握後可以根據具體情況具體分析使用,重點還是實用!

雖然本文是以三級為例,但過程已涉及到一級、二級製作,你如果是沒接觸過數據驗證這個功能,希望你也能入門了。學會了本文的三級聯動菜單做法,那四級、五級、六級都可以按此辦法逐級完成,實現方法是相通的。

建議還沒掌握這個知識的同學,要跟著以上步驟逐步操作,並實現效果,最後還要思考總結吸收。知識經過深度思考與總結,才會容易吸引,最終為你所用。

————————————


分享到:


相關文章: