經(jīng)常用Excel進(jìn)行數(shù)據(jù)收集、整理的朋友,相信你們都遇過各種令人抓狂的事情:
“手機(jī)號不是11位”、“面積單位有人寫平方米,有人寫m2”、“張冠李戴,明明寫姓名的地方,寫了性別”、“說好寫保留一位小數(shù),卻提交了整數(shù)”、“說好50字以內(nèi),卻寫了500字”……
其實要避免不規(guī)范,做表的人就必須提前針對指定單元格進(jìn)行限制!這樣一來,后面的使用者就只能按你的要求,才能正常輸入數(shù)據(jù)了。
Excel里就有一個功能,Excel2010以前叫數(shù)據(jù)有效性,之后改名叫數(shù)據(jù)驗證,看字面意思就知道是用于判斷數(shù)據(jù)是否有效,驗證數(shù)據(jù)是否按要求輸入。會這個功能后,以上遇到的困擾基本上可以解決了。
但還有復(fù)雜一些的情況,可能需要逐級限制,如你在線上購物輸入收貨地址時,省份-城市-區(qū),這種具有層級關(guān)聯(lián)關(guān)系的,我們?nèi)绾螌崿F(xiàn)選擇這個省后,下面是對應(yīng)的城市,以及后續(xù)出現(xiàn)對應(yīng)的區(qū)呢?
今天就跟大家分享多級聯(lián)動下拉菜單的實現(xiàn)方法。以省、地、縣級的對應(yīng)關(guān)系為例,來學(xué)習(xí)制作三級聯(lián)動下拉菜單。(本文演示版本使用的是Excel 2016,下稱的數(shù)據(jù)驗證與Excel 2007中的數(shù)據(jù)有效性功能及操作一樣)
1、先來搞清楚三級聯(lián)動下拉菜單是什么?
地級的可選內(nèi)容是根據(jù)省級而變化的,即選了廣東省后,地級出現(xiàn)的是廣州市
縣級的下拉內(nèi)容是根據(jù)地級而變化的,即選了南京市后,縣級出現(xiàn)的是南京下屬行政區(qū)
概括說,是實現(xiàn)逐級對應(yīng)的效果,確保不會出現(xiàn)廣東省南京市這種現(xiàn)象
2、整理思路
共三級的下拉菜單,二級依賴一級,三級依賴二級,那就可以定下來制作的順序:一級-->二級-->三級; 功能上主要是使用Excel的數(shù)據(jù)驗證。
3、制作一級下拉菜單
一級的菜單最簡單了,直接在指定單元格中設(shè)置數(shù)據(jù)驗證即可:
4、制作二級下拉菜單(多級菜單的重點、難點都在這里)
二級的下拉內(nèi)容是要根據(jù)一級的內(nèi)容變化而變化的,也就是說給二級的單元格設(shè)置數(shù)據(jù)驗證的時候,需要輸入一個動態(tài)變化的區(qū)域。這里介紹一個'indirect函數(shù)+定義名稱'的做法。
a、給二級的內(nèi)容定義名稱,名稱為它對應(yīng)的一級內(nèi)容。如給廣州市定義名稱為廣東省,給南京市定義名稱為江蘇省。
b、設(shè)置數(shù)據(jù)驗證,選擇用indirect函數(shù)動態(tài)引用一級單元格內(nèi)容,即實現(xiàn)當(dāng)一級為廣東省時,二級的菜單數(shù)據(jù)源就是indirect(廣東省),當(dāng)一級是江蘇省時,二級的下拉數(shù)據(jù)源就是indirect(江蘇省)。我們在上一步已定義好名稱,名稱“廣東省”=“廣州市”,“江蘇省”=“南京市”,通過此法實現(xiàn)了二級的下拉菜單動態(tài)變化,是依賴一級的選擇結(jié)果變化而變化。
c、做好二級菜單后,三級的問題也是同理可得。先給三級的內(nèi)容設(shè)置名稱,名稱是對應(yīng)的二級,然后也是通過indirect函數(shù)引用二級內(nèi)容的單元格,實現(xiàn)當(dāng)二級選擇廣州市時,三級的下拉數(shù)據(jù)源就是indirect(廣州市)。
就這樣,三級下拉菜單就做完了!學(xué)會這個技能你做數(shù)據(jù)收集的時候,就可以提前給單元格設(shè)置好各種限制條件,告別垃圾信息輸入!
再來回顧總結(jié),多級聯(lián)動下拉菜單的制作的要點:
1、給下級內(nèi)容定義名稱,名稱是對應(yīng)的上級,然后設(shè)置數(shù)據(jù)驗證,用indirect()函數(shù)引用上級的單元格。
2、整理數(shù)據(jù)源的擺放,在定義名稱前,建議把各級菜單內(nèi)容按列存儲,然后各列首行的行標(biāo)題為對應(yīng)的上一級內(nèi)容。這樣是便于快速地定義名稱,選擇的功能是“根據(jù)所選內(nèi)容創(chuàng)建”。
3、還有要注意的是,如果各列數(shù)據(jù)的行數(shù)不一樣,不要一次性選擇所有列進(jìn)行創(chuàng)建名稱,否則會導(dǎo)致出現(xiàn)有空白選項。而需要按F5定位選擇常量再操作,或者列數(shù)少的情況下,可以逐列進(jìn)行定義)
擴(kuò)展知識:
制作聯(lián)動下拉菜單,除了indirect()函數(shù)外,還可以用index+match,offset等辦法,大家可以進(jìn)一步去學(xué)習(xí),各方法各有利弊,大家都掌握后可以根據(jù)具體情況具體分析使用,重點還是實用!
雖然本文是以三級為例,但過程已涉及到一級、二級制作,你如果是沒接觸過數(shù)據(jù)驗證這個功能,希望你也能入門了。學(xué)會了本文的三級聯(lián)動菜單做法,那四級、五級、六級都可以按此辦法逐級完成,實現(xiàn)方法是相通的。
建議還沒掌握這個知識的同學(xué),要跟著以上步驟逐步操作,并實現(xiàn)效果,最后還要思考總結(jié)吸收。知識經(jīng)過深度思考與總結(jié),才會容易吸引,最終為你所用。
聯(lián)系客服