在 Excel 裡運用動態陣列的做法,將姓名清單裡以下拉式清單選取指定姓氏,並列出相同姓氏者清單,該如何處理?

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是動態陣列的結果,所以使用「#」,代表變動的範圍)

Excel-依姓氏篩選並由下拉式清單中選取

 

3. 列出姓名清單

儲存格G4:=FILTER(姓名,LEFT(姓名,1)&"**"=E4)

利用 FILTER 函數篩選姓名欄位,以姓名第1個字再串接「**」,再和儲存格E4比對。

 

如果在下拉式清單中選取不同的姓氏,即可列出該姓氏的清單。

Excel-依姓氏篩選並由下拉式清單中選取

 

【參考資料】

 UNIQUE 函數參考微軟提供的說明網頁:UNIQUE 函數
 FILTER 函數參考微軟提供的說明網頁:FILTER 函數
 SORT 函數參考微軟提供的說明網頁:SORT 函數

學不完.教不停.用不盡文章列表

arrow
arrow
    文章標籤
    Excel 資料處理
    全站熱搜

    vincent 發表在 痞客邦 留言(0) 人氣()