【摘要】
在Excel中使用下拉列表的功能,能幫助我們限制填寫的內(nèi)容,保證數(shù)據(jù)的有效無誤。然而常規(guī)的數(shù)據(jù)有效性(下拉列表)我們都會制作,可是如果要制作更多級別的數(shù)據(jù)有效性,似乎有點(diǎn)困難了。那么在本文中,將教大家制作多級別的下拉列表。
【正文】
一 一級下拉列表
在制作表格的時(shí)候,希望為一些具有固定選項(xiàng)的列(如性別、部門等),添加下拉框,制作如下圖的效果,那我們就可以利用數(shù)據(jù)有效性來完成。
設(shè)置步驟:
1、單擊【數(shù)據(jù)】選項(xiàng)卡中的【數(shù)據(jù)有效性】,在“數(shù)據(jù)有效性”對話框的“設(shè)置”選項(xiàng)卡中,在“允許”下拉列表框中選擇“序列”項(xiàng)。在“來源”框中直接輸入項(xiàng)目,項(xiàng)目之間用英文逗號分隔。
2、如果下拉框中的數(shù)據(jù)比較多,在一個(gè)連續(xù)的單元格區(qū)域中輸入列表中的項(xiàng)目,如下圖所示。
單擊【數(shù)據(jù)】選項(xiàng)卡中的【數(shù)據(jù)有效性】,在“數(shù)據(jù)有效性”對話框的“設(shè)置”選項(xiàng)卡中,在“允許”下拉列表框中選擇“序列”項(xiàng)。
在“來源”框中選擇部門列表下的數(shù)據(jù),單擊“確定”按鈕。
二 二級下拉列表
在填寫地址時(shí),當(dāng)確定省份后,城市一欄內(nèi)自動顯示對應(yīng)省份下的城市列表,方便我們進(jìn)行選擇。像這樣的效果我們稱為二級下拉列表。
設(shè)置步驟:
1、為各個(gè)省份定義名稱
制作二級下拉菜單時(shí),首先需要為各個(gè)省份的城市分別定義名稱,之后才能根據(jù)省份讀取到相應(yīng)的城市。定義名稱時(shí),先選中廣東省下所有城市(I1:I22),在【公式】選項(xiàng)卡下點(diǎn)擊“根據(jù)所選內(nèi)容創(chuàng)建”,然后勾選“首行”并點(diǎn)擊“確定”,完成“廣東省”的名稱定義。以同樣的方法,定義名稱“湖南省”和“湖北省”。
2、為“省份”一列設(shè)置下拉菜單,來源可選擇I1:K1。
3、選擇“城市”一列,在“數(shù)據(jù)有效性”中選擇“序列”,并在“來源”處輸入公式:=INDIRECT(D2),點(diǎn)擊“確定”。
注:①錄入公式時(shí)需要切換單元格的引用方式。②若D2單元格為空,則可能會彈出錯(cuò)誤警告,點(diǎn)擊“是”即可。③設(shè)置成功后,若未選定“省份”,則“城市”一列也無法進(jìn)行選擇。
三 多級拉列表
我們除了會填寫“省份”、“城市”外,還會選擇“區(qū)”,那這種我們稱為多級下拉列表。我們可以利用Vlookup、Offset、match、countif函數(shù)共同實(shí)現(xiàn)該功能。
設(shè)置步驟:
先來了解這幾個(gè)函數(shù),其語法分別為:
Match(查詢值,查找范圍,0),返回符合特定值特定順序的查詢值在數(shù)組中的相對位置;
Countif(條件范圍,條件),計(jì)算區(qū)域中滿足給定條件的單元格的個(gè)數(shù);
Vlookup(查詢值,查找范圍,顯示序列,匹配參數(shù)),搜索表區(qū)域首列滿足條件的元素,確定待檢索單元格在區(qū)域中的行序號,再進(jìn)一步返回選定單元格的值;
Offset(參考單元格,偏移的行數(shù),偏移的列數(shù),返回引用區(qū)域的行數(shù),返回引用區(qū)域的列數(shù)),以指定的應(yīng)用為參照系,通過給定偏移量返回新的應(yīng)用。
數(shù)據(jù)源需要按如下圖排列:
在C2單元格我們借助于Match函數(shù),計(jì)算“廣東省”在A列中的位置,因此該函數(shù)為:=MATCH(B2,A:A,0)。隨后將該函數(shù)分別復(fù)制至C3、C6、C7、C8、C9單元格即可計(jì)算對應(yīng)的項(xiàng)在A列中的起始位置,該數(shù)值用于指導(dǎo)offset函數(shù)往下偏移幾行;
接下來要計(jì)算每個(gè)項(xiàng)目共有幾個(gè)小項(xiàng),在D2中利用countif函數(shù)計(jì)算個(gè)數(shù),此處的公式為:=COUNTIF(A:A,B2)。該數(shù)值可以用在offset函數(shù)中的返回行數(shù)中;
最后在G列設(shè)置一級下拉列表。如圖:
對二級“市”設(shè)置數(shù)據(jù)有效性。因?yàn)槲覀冃枰鶕?jù)一級G2單元格選擇的不同,設(shè)置不一樣的下拉列表,而每個(gè)一級“省”會有不一樣個(gè)數(shù)的二級“市”,所以我們借助offset函數(shù)來完成。在H2單元格設(shè)置數(shù)據(jù)有效性的“來源”位置,輸入以下公式:=OFFSET($B$1,VLOOKUP(G2,$B:$D,2,0)-1,0,VLOOKUP(G2,$B:$D,3,0),1)。
該公式的意思為:以B1單元格為參考單元格,往下偏移幾行,往右不偏移列,返回引用區(qū)域的行數(shù),返回一列的數(shù)據(jù)。那么往下偏移幾行,要根據(jù)前面的G2單元格的內(nèi)容變化,所以利用vlookup函數(shù)來查找G2單元格的內(nèi)容,位于B:D范圍中第二列的結(jié)果,我們便可以從B1單元格往下偏移6行至B7單元格,再減去1,得到“廣州市”的B6單元格;同樣的,返回引用區(qū)域的行數(shù),也借助vlookup函數(shù)來得到,如此一來,二級下來列表的“市”也就完成了。
接下來,我們就用同樣的offset函數(shù)來制作三級下拉列表,因此在I2單元格的數(shù)據(jù)有效性的公式為:=OFFSET($B$1,VLOOKUP($H$2,$B:$D,2,0)-1,0,VLOOKUP($H$2,$B:$D,3,0))
最后的效果為:
那么有了這種方法以后,我們想設(shè)置任意級別的下拉列表都可以實(shí)現(xiàn)了。
聯(lián)系客服