網友問到:依據下圖中 Excel 工作表中的運動會報名清單,如何列出男、女生百公尺、跳高、跳遠的報名清單。

選取所有資料儲存格(例如:儲存格A1:H1000),按 Ctrl+Shift+F3 鍵,勾選「頂端列」,定義名稱:序號、班級、座號、姓名、性別、百公尺、跳高、跳遠。

選取儲存格A1:H1000,定義名稱:資料。

【列出百公尺報名者女生清單】

Excel-利用INDEX函數和陣列公式執行查表工作

1. 列出清單中的「序號」

儲存格J2:{=IFERROR(SMALL(IF(百公尺*(性別="女"),序號,""),ROW(1:1)),"")}

這是陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵,Excel 會自動加上「{}」。

(1) IF(百公尺*(性別="女"),序號,"")

公式中:「百公尺」在此相當於「百公尺=TRUE」

在陣列公式中判斷雙條件:「百公尺=TRUE」 AND 「性別="女"」,結果是否成立。

如果成立,則傳回對應的列號,否則傳回空字串。

(2) SMALL(IF(百公尺*(性別="女"),序號,""),ROW(1:1))

利用 SMALL 函數由小至大依序取出第(1)式傳回的列號。

ROW(1:1)=1,公式向下複製時,ROW(1:1)=1→ROW(2:2)=2→ROW(3:3)=3→…。

(3) IFERROR(SMALL(IF(百公尺*(性別="女"),序號,""),ROW(1:1)),"")

利用 IFERROR 函數將第(1)式如果傳回錯誤值時,改顯示為空子串。

2. 列出:班級、座號、姓名、性別的內容

儲存格K2:=IFERROR(INDEX(資料,$J2,COLUMN(B1)),"")

利用 INDEX 函數在「資料」範圍中,查詢儲存格J2(序號)在第2欄的內容。

COLUMN(B1)會傳回欄號,COLUMN(A1)=1→COLUMN(B1)=2→COLUMN(C1)=3→…。

在 INDEX 函數中,利用「序號」來查詢資料表中第2欄對應的內容。

3.複製儲存格J2:N2,貼至儲存格J2:N50。

 

【列出百公尺報名者男生清單】

Excel-利用INDEX函數和陣列公式執行查表工作

請自行參考【列出百公尺報名者女生清單】的做法。

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

arrow
arrow
    文章標籤
    Excel 查詢 INDEX
    全站熱搜

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