有位網友每天都要在 Excel 工作表中 Keyin 很多的資料(如下圖),而這些資料之後又要依姓名分別列到各個工作表中。我們能做到在主工作表輸入好資料時,其他分頁工作表的內容就自動到位嗎?因為每天耗時 Keyin 二次,真是浪費生命啊!

其實你只要使用「篩選」功能,分幾次複製到各個工作表就可以解決這個問題了。而你如果想要讓公式來代勞,也想省去操作「篩選」的步驟。參考以下的做法。

在下圖中,假設工作表名稱為 DATA。而資料範圍為儲存格A1:C25。

Excel-篩選資料到其他工作表(OFFSET,陣列公式)

在主工作表DATA中,目前有甲、乙、丙、丁、戊五個人,如何在五個工作表中篩選各自的資料呢?以下用「甲」工作表為例來設計公式。

儲存格A1:{=OFFSET(DATA!$A$1,SMALL(IF(DATA!$A$2:$A$25=甲!$A$1,
ROW(DATA!$A$2:$A$25),9999),ROW(1:1))-1,COLUMN(A:A)-1)}

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

複製儲存格A1,貼至儲存格A1:C17。

(1) IF(DATA!$A$2:$A$25=甲!$A$1,ROW(DATA!$A$2:$A$25),9999)

在陣列公式中判斷DATA工作表的儲存格A2:A25中是否為『甲』,若是傳回儲存格A2:A25對應的列號,否則傳回『9999』。(9999只是隨機的一個很大的數)

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

利用 SMALL 函數根據第(1)式所得的列號,依序傳回由小到大的列號。

(3) OFFSET(DATA!$A$1,第(2)式-1,COLUMN(A:A)-1)

OFFSET 函數中以第(2)式傳回的列號得到對應的儲存格內容。

Excel-篩選資料到其他工作表(OFFSET,陣列公式)

將工作表「A」的公式內容,複製到其他乙、丙、丁、戊工作表,並修改各自的儲存格A1內容為對應的姓名。

Excel-篩選資料到其他工作表(OFFSET,陣列公式)

註:本例未處理查到不資料時的傳回值。

 

【延伸閱讀-FILTER函數篩選應用】

Excel-下拉式清單選取月份列出該月日期

圖片1 Excel-根據單條件和雙條件篩選資料(FILTER)

圖片1 Excel-列出指定星期幾的日期

圖片1 Excel-單一欄位篩選與跨欄位篩選

圖片1 Excel-計算分組最大值

圖片1 Excel-FILTER和OFFSET的動態陣列

圖片1 Excel-篩選資料並轉置資料

圖片1 Excel-2021版新增函數進行篩選、查詢、排序之綜合練習

圖片1 Excel-由資料清單中篩選一組

圖片1 Excel-利用FILTER函數模糊篩選

圖片1 Excel-從日期清單中區別平日和假日計算總和

圖片1 Excel-列出非空白項目的清單(比較篩選函數和以陣列公式模擬篩選)

圖片1 Excel-使用傳統陣列和動態陣列公式列出模糊搜尋清單

圖片1 Excel-FILTER函數與進階篩選

圖片1 Excel-2021版新增函數的使用

 

arrow
arrow
    全站熱搜

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