學校運動會到了,設計一個報名網站,取得報名後的資料(如下圖,總人數1544人,至1545列),其中的TRUE代表有報名,FALSE代表無報名。當你取得這個運動會報名表時,如何使用 Excel 摘要出各項運動的參賽者呢?

以 100 公尺這個項目為例,區分男生和女生為二個表。注意到原報名表中有一個序號欄位,這是一個必要的輔助欄位。

(一) 找出報名 100 公尺的男生資料

儲存格J2:

{=SMALL(IF($F$2:$F$1545=TRUE,IF($E$2:$E$1545="男",
$A$2:$A$1545)),ROW(1:1))}

這是一個陣列公式,輸入結束要按 Ctrl+Shift+Enter。

其原理是找出 F 欄中為 「TRUE」,並且 N 欄中為「男」的序號,而藉由ROW(1:1)指出在SMALL函數中取得最小的序號(因為ROW(1:1)=1)。如果將儲存格J2往下複製,則ROW(1:1)→ROW(2:2)→ROW(3:3),即可取得每一個符合條件的序號值。

有了這個序號,再利用查表方式取得其他欄位資料。

儲存格K2:=VLOOKUP($J2,$A$2:$H$1545,COLUMN(B:B))

複製儲存格K2至儲存格K2:N2,然後再將儲存格K2:N2往下複製,直到出現錯誤訊息#NUM!,表示已查不到符合的資料了。

其中COLUMN(B:B)為查表取得第幾個欄位(COLUMN(B:B)=2),如果將儲存格K2往右複製,則COLUMN(B:B)→COLUMN(C:C)→COLUMN(D:D),即可取得第 2,3,4… 欄的內容。

(二) 找出報名 100 公尺的女生資料

儲存格P2:

{=SMALL(IF($F$2:$F$1545=TRUE,IF($E$2:$E$1545="女",
$A$2:$A$1545)),ROW(1:1))}

這是一個陣列公式,輸入結束要按 Ctrl+Shift+Enter。

其餘做法和(一)相仿。

arrow
arrow
    全站熱搜

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