EXCEL下拉選單怎麼弄
通過2級選單,倒是可以比較深入熟悉 INDIRECT, INDEX, OFFSET, 這三個函式,是你要想學excel函式,估計你肯定過的關。
在論壇裡看帖子,有一點比較累,很多都是直接用excel檔案裡做說明,你需要下載檔案。我這裡就全部用圖來說明。
不過二級選單的第一級的做法,都是相同的,大家可以參考上面的文章建立一個一級選單。
第一種做法:使用函式INDIRECT
看看例子
很明顯,我們希望在一級選擇機房故障,那麼2級就出現他下面的列表。
要實現這個目標並不複雜。
1:建立“名稱
3個一級選項,我們需要建立3個“名稱”:機房故障 線路故障 使用者端故障。
這個時候,你就建立了3個名稱
還需要建立一個名稱,叫做“故障型別”這個名稱包括“機房故障 線路故障 使用者端故障”這3項。
這個時候,你就可以在“名稱管理器”看到4個名稱
2:建立1級選單
1級選單的辦法就簡單了
這樣就解決了一級的下拉選單。
3:2級選單
這個地方你需要注意,=INDIRECT($F2)
如果你寫成 =INDIRECT($F$2),
如果是這樣的話,你確定會出現一個報錯
這個時候,你就實現了2級選單
第二種做法:使用函式INDEX
還是上面的例子,用另外一種方式來實現。這個例子裡,你只需要建立2個名稱。
1:建立名稱
建立:故障型別 名稱,方法和上面一樣。
建立:2級名稱
建立上面兩個名稱。
2:建立下拉選單
第一下拉選單和上面一樣,我就不重複了,現在是演示第二級下拉選單
=INDEX(二級,0,match(I$2,故障型別,0))
這樣你就搞定2級選單裡。
第三種做法:使用函式OFFSET
學這個offset函式半天,才搞定。現在只是可以實現這個功能。不過還有需要改進的地方
還是上面的例子,
=OFFSET(A2,,MATCH(L2,故障型別,)-1,6,1)
這樣也是可以實現2級的下拉選單。
以上的方式其實是不太完善的,因為我們的2級選單剛好都是6項,那麼如果是不等的,那你就只能取最多的。
完善的做法,當然是動態的,根據2級選單的數量來顯示。需要解決的問題,就是如果動態計算出每項2級選單的數量。
2級選單數量=COUNTA(OFFSET(A:A,,MATCH(L2,故障型別,0)-1))-1
那麼我們的公式就變成
=OFFSET(A2,,MATCH(L2,故障型別,)-1,COUNTA(OFFSET(A:A,,MATCH(L2,故障型別,0)-1))-1,1)
這樣就更加完美。
把excelhome的論壇關於下拉選單的貼看了不少。發現實現2級的下拉選單的方法好像也有好幾種,我想我就做一個總結,自己也提高一下。
另外一些方法
製作一級選單:
以選擇性別為例,製作有男、女選項的下拉選單:
選中“性別”資料區域;
執行“資料/有效性”命令,開啟“資料有效性”對話方塊;
單擊“設定”選項卡,在“允許”欄選擇“序列”,“來源”中輸入“男,女”(不含引號,用英文單引號分隔);
單擊“確定”按鈕。
“在下拉選單中選擇一個值之後能同時在另一個單元格里對應出一個數值或是文字”,這要根據實際情況再加工的哦!
製作二級下拉選單:
設定“資料”表
A列 B列
部門員工
A 張三 李四
B 王二 鄭大
C 劉一 王五
D 初一 趙錢
……
命名:
選中A列,在“名稱框”中輸入“部門”,回車確認。
選中B列,在“名稱框”中輸入“員工”,回車確認。
(名稱框位置:“名稱框”在標題欄、工具欄下方的空白域,就是當你的滑鼠放在任一單元格時,在表格的上方一欄都會顯示“A-Z多少列”空白區,當你的滑鼠放在指向上面時,就會顯示“名稱框”。 )
在“選單”表製作下拉選單:
製作一級下拉選單
選中A1:B1單元格區域;
執行“資料/有效性”命令,開啟“資料有效性”對話方塊;
在“設定”選項卡下,“允許”選擇“序列”、“來源”中輸入“部門,員工”(不含引號,用英文逗號分隔);
選中“忽略空值”、“提供下拉箭頭”,單擊“確定”按鈕,完成一級下拉選單製作。
此時在A1、B1中,單擊右側的下拉按鈕進行選擇輸入。
製作二級下拉選單
從A2單元格起向下選中單元格區域;
執行“資料/有效性”命令,開啟“資料有效性”對話方塊;
在“設定”中,“允許”選擇“序列”、“來源”中輸入公式“=INDIRECT(A$1)”; (注:OFFICE2007與以前的版本不一樣)
選中“忽略空值”、“提供下拉箭頭”,單擊“確定”按鈕,完成“部門”的二級選單製作。
同法制作“員工”的二級選單。此時“來源”中輸入公式“=INDIRECT(B$1)”。
此時在部門、員工下面的單元格中,單擊右側的下拉按鈕進行“部門”、“員工”的選擇輸入。