第一種做法:使用函數(shù)INDIRECT
很明顯,我們希望在一級(jí)選擇機(jī)房故障,那么2級(jí)就出現(xiàn)他下面的列表。要實(shí)現(xiàn)這個(gè)目標(biāo)并不復(fù)雜。
1:建立“名稱”3個(gè)一級(jí)選項(xiàng),我們需要建立3個(gè)“名稱”:機(jī)房故障 線路故障用戶端故障。
這個(gè)時(shí)候,你就創(chuàng)建了3個(gè)名稱
還需要建立一個(gè)名稱,叫做“故障類型”這個(gè)名稱包括“機(jī)房故障線路故障 用戶端故障”這3項(xiàng)。
這個(gè)時(shí)候,你就可以在“名稱管理器”看到4個(gè)名稱
2:創(chuàng)建1級(jí)菜單
1級(jí)菜單的辦法就簡單了
這樣就解決了一級(jí)的下拉菜單。
3:2級(jí)菜單
這個(gè)地方你需要注意,=INDIRECT($F2)
如果你寫成 =INDIRECT($F$2),
如果是這樣的話,你確定會(huì)出現(xiàn)一個(gè)報(bào)錯(cuò)
這個(gè)時(shí)候,你就實(shí)現(xiàn)了2級(jí)菜單
第二種做法:使用函數(shù)INDEX
還是上面的例子,用另外一種方式來實(shí)現(xiàn)。這個(gè)例子里,你只需要建立2個(gè)名稱。
1:建立名稱
建立:故障類型 名稱,方法和上面一樣。
建立:2級(jí) 名稱
創(chuàng)建上面兩個(gè)名稱。
2:創(chuàng)建下拉菜單
第一下拉菜單和上面一樣,我就不重復(fù)了,現(xiàn)在是演示第二級(jí)下拉菜單
=INDEX(二級(jí),0,match(I$2,故障類型,0))
這樣你就搞定2級(jí)菜單里。
第三種做法:使用函數(shù)OFFSET
學(xué)這個(gè)offset函數(shù)半天,才搞定?,F(xiàn)在只是可以實(shí)現(xiàn)這個(gè)功能。不過還有需要改進(jìn)的地方
還是上面的例子,
=OFFSET(A2,,MATCH(L2,故障類型,)-1,6,1)
這樣也是可以實(shí)現(xiàn)2級(jí)的下拉菜單。
以上的方式其實(shí)是不太完善的,因?yàn)槲覀兊?級(jí)菜單剛好都是6項(xiàng),那么如果是不等的,那你就只能取最多的。
完善的做法,當(dāng)然是動(dòng)態(tài)的,根據(jù)2級(jí)菜單的數(shù)量來顯示。需要解決的問題,就是如果動(dòng)態(tài)計(jì)算出每項(xiàng)2級(jí)菜單的數(shù)量。
2級(jí)菜單數(shù)量=COUNTA(OFFSET(A:A,,MATCH(L2,故障類型,0)-1))-1
那么我們的公式就變成
=OFFSET(A2,,MATCH(L2,故障類型,)-1,COUNTA(OFFSET(A:A,,MATCH(L2,故障類型,0)-1))-1,1)
這樣就更加完美。