網友根據這篇:Excel-兩個清單比對後傳回重覆者的位址(MATCH,ADDRESS)
問到如果要比對的資料位在同一欄中(如下圖),即重覆重現第2次以上者要標示第1次出現的儲存格位置,該如何處理?
【公式設計與解析】
儲存格B2:
=IF(COUNTIF($A$2:A2,A2)>1,ADDRESS(MATCH(A2,$A$2:A2,0)+1,1,4),"")
複製儲存格B2,貼至儲存格B2:B27。
(1) MATCH(A2,$A$2:A2,0)
利用 MATCH 函數比對儲存格A2的內容,在以儲存格A2起始的儲存格範圍,傳回其位置(一個數字)。若是比對後,是不存在的內容,則會傳回錯誤訊息。
(2) ADDRESS(MATCH(A2,$A$2:A2,0)+1,1,4)
將第(1)式傳回值代入 ADDRESS 函數傳回其對應的儲存格名稱。
(3) IF(COUNTIF($A$2:A2,A2)>1,ADDRESS(MATCH(A2,$A$2:A2,0)+1,1,4),"")
利用 COUNTIF($A$2:A2,A2)>1 判斷儲存格A2的內容是否為出現 1 次以上,若是,則顯示儲存格位址,若不是,則顯示空字串。
文章標籤
全站熱搜

老師您好 特別感謝老師百忙中撥空解惑^^ 老師再請問一下 資料重覆第2次以上,如果要全部把重覆的儲存格位置都標示出來,該如何處理?重覆的儲存格位置會互相對應嗎?類似下表。 1 比對 重複位置 2 義 A5,A10 3 戊 4 丑 5 義 A2,A10 6 愛 7 癸 8 和 9 丙 10 義 A2,A5
目前只能做到: 在儲存格B2輸入陣列公式: {=IFERROR("A"&SMALL(IF(COUNTIF($A$2:$A$27,$A2)>1,IF($A$2:$A$27=$A2,ROW($A$2:$A$27),""),""),COLUMN(A:A)),"")} 這是陣列公式,輸入完成按 Ctrl+Shift+Enter 鍵,Excel會自動加上「{}」。 複製儲存格B2,貼至儲存格B2:E27。
老師您好 了解 感謝百忙中撥空解惑^^ 老師~我又遇到問題了 老師請問 比對後系統傳回重覆者的位址 但中間因為沒出現1次以上有許多空的儲存格(有時資料有多有少需要一直往下滾才找的到看><) 如果要略過空白儲存格然後重新列出清單並同時自動產生重覆者右手邊欄位7~8個以上資料時 公式應該如何修改呢? 麻煩老師了~
老師 上面公式好像沒有顯示完全也 我用全選複製看到的是 {=IFERROR("A"&SMALL(IF(COUNTIF($A$2:$A$27,$A2)>1,IF($A$2:$A$27=$A2,ROW($A$2:$A$27),""),""),COLUMN(A:A)),"")} 是這個公式嗎? 但輸入後系統顯示引數太多了 有打錯嗎?
原來 有字數限制>< 沒事了XD 抱歉
#2問題再麻煩老師了^^