回答網友提問:網友想要根據下圖中的內容,想要刪除重覆者(保留第一個),並且將內容集中。該如何處理?
【公式設計與解析】
1. 刪除重覆
儲存格B11:=IF(COUNTIF($B$2:B2,B2)=1,B2,"")
複製儲存格B11,貼至儲存格F15。
(1) COUNTIF($B$2:B2,B2)
計算每個儲存格由第一個起算,出現過的次數
(2) COUNTIF($B$2:B2,B2)=1
此條件判斷是否為第一次出現。
(3) IF(COUNTIF($B$2:B2,B2)=1,B2,"")
如果不是第一次出現則顯示空字串(空白)
2. 內容集中
儲存格B20:{=IFERROR(OFFSET($A11,0,SMALL(IF($B11:$F11<>"",COLUMN
($B11:$F11),""),COLUMN(A:A))-1),"")}
複製儲存格B20,貼至儲存格F24。
這是個陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵,Excel會自動加上「{}」。
根據「1.刪除重覆」的結果,要來將有內容的儲存格集合在一起。
(1) IF($B11:$F11<>"",COLUMN($B11:$F11),"")
在陣列公式中,判斷儲存格B11:F11裡,不是空字串者,傳回其欄號;否則傳回空字串。
(2) SMALL(第(1)式,COLUMN(A:A))
利用 SMALL 函數依序取得欄號第1, 2, 3, ...較小者。
(3) OFFSET($A11,0,第(2)式-1)
根據第(2)式傳回的位置,代入 OFFSET 函數可以取得對應的儲存格內容。
(4) IFERROR(第(3)式,"")
將錯誤訊息顯示為空字串(空白)
留言列表