在 Excel 裡運用動態陣列的做法,將姓名清單裡以下拉式清單選取指定姓氏,並列出相同姓氏者清單,該如何處理?
選取姓名的所有儲存格,按 Ctrl+Shift+F3 鍵,勾選「頂端列」,定義名稱:姓名。
1. 出唯一的「姓**」
儲存格C4:=SORT(UNIQUE(LEFT(姓名,1)))&"**"
(1) LEFT(姓名,1):利用 LEFT 函數取出每一個姓名的第一個字。
(2) UNIQUE(LEFT(姓名,1)):利用 UNIQUE 函數取得姓氏的唯一值。
(3) SORT(UNIQUE(LEFT(姓名,1))):將姓氏的唯一值加以排序(預設定姓氏筆劃遞增排列)。
(4) SORT(UNIQUE(LEFT(姓名,1)))&"**":將第(3)式串接「**」。
2. 建立下拉式清單
(1) 選取儲存格E4
(2) 設定資料驗證準則
儲存格內允許:清單
來源:$C4$# (因為儲存格C4是動態陣列的結果,所以使用「#」,代表變動的範圍)
3. 列出姓名清單
儲存格G4:=FILTER(姓名,LEFT(姓名,1)&"**"=E4)
利用 FILTER 函數篩選姓名欄位,以姓名第1個字再串接「**」,再和儲存格E4比對。
如果在下拉式清單中選取不同的姓氏,即可列出該姓氏的清單。
【參考資料】


文章標籤
全站熱搜