通過2級選單,倒是可以比較深入熟悉 indirect, index, offset, 這三個函式,是你要想學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)
這樣就更加完美。
二級下拉列表
看似簡單的乙個選單,確需要不少的知識點。1.getbyclass getelementsbyclassname 已經有大部分現代瀏覽器支援了,只有ie6,ie7,ie8是不支援的。所以對ie6,7,8做特別的處理就行,而ie裡邊有個內建的屬性一直被我們所忽略,document.all,這個比一般的d...
js二級下拉列表
看似簡單的乙個選單,確需要不少的知識點 1.getbyclass getelementsbyclassname 已經有大部分現代 瀏覽器支援了,只有ie6,ie7,ie8是不支援的。所以對ie6,7,8做特別的處理就行,而ie裡邊有個內建的 屬性一直被我們所忽略,document.all,這個比一般...
二級下拉列表的實現
有 group 和 user 二個資料表,要求從這兩個表中讀出資料,並表現為二級下拉表,當選擇 group 列表中的選項時,user 列表中的選項相應改變。group 表對應的資料集為rsgroup,有如下字段 lngid group,strname group user 表對應的資料集為rsuse...