回答網友提問:在 Excel 中有一個數值清單,其中每一筆資料有一個對應的類別,如何將不同類別的資料分別列於不同的工作表裡?(參考下圖)

Excel-資料清單分別列於各個工作表(INDEX,SMALL)

我們先從把資料列在同一個工作表裡開始,先來看看如何將不同類別列在不同欄裡。(參考下圖)

先選取儲存格A1:B22,按 Ctrl+Shift+F3 鍵,勾選「頂端列」,命名:數值、類別。

Excel-資料清單分別列於各個工作表(INDEX,SMALL)

輸入公式,儲存格D2:

{=IFERROR(INDEX(數值,SMALL(IF(類別=D$1,ROW(數值),""),ROW(1:1))-1,0),"")}

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

複製儲存格D2,貼至儲存格D2:G13。

(1) IF(類別=D$1,ROW(數值),"")

在陣列公式裡,判斷類別陣列中的內容是否和儲存格D1相同,若是,則傳回對應的數值陣列儲存格的列號,否則傳回空字串。

(2) SMALL(第(1)式,ROW(1:1))

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

(3) INDEX(數值,第(2)式-1,0)

將第(2)式的傳回值代入 INDEX 函數查表對應的內容。

(4) IFERROR(第(3)式,"")

利用 IFERROR 函數,在公式傳回值是錯誤訊息時,以空字串顯示。

 

接著,要在各個工作表中顯示各自的內容。

(1) 將類別A整欄複製到工作A中。

(2) 將類別A整欄複製到工作B中。

(3) 將類別A整欄複製到工作C中。

(4) 將類別A整欄複製到工作D中。

Excel-資料清單分別列於各個工作表(INDEX,SMALL)

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

arrow
arrow
    文章標籤
    Excel INDEX SMALL
    全站熱搜

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