
Excel從兩列中提取相同或不相同數據的數組公式
有時在Excel中需要對兩列進行比較,并提取兩列中相同或不相同的數據,例如A列和B列分別包含一些人員名單,現在需要找出兩列中都存在的姓名(A有B有)、A列中存在B列中不存在的姓名(A有B無)及A列中不存在B列中存在的姓名(A無B有),并分別放置到D、E、F列中。
假如兩列名單分別在A2:A20和B2:B15區域中,用下面的兩組數組公式即可獲取相應的名單,每個公式輸入完畢后,需按Ctrl+Shift+Enter結束。
1.獲取A列和B列中相同的數據,在D2中輸入數組公式:
=INDEX($B:$B,MATCH(1,COUNTIF(D:D1,$B:$B)+IF(COUNTIF($A:$A,$B:$B),1,0),0))
或:
=INDEX(A:A,SMALL(IF(COUNTIF($B:$B,$A:$A),ROW($A:$A),4^8),ROW(A1)))&""
2.獲取A有B無的數據,在E2中輸入數組公式:
=INDEX($A:$A, MATCH(0, COUNTIF($B:$B, $A:$A)+COUNTIF(E:E1, $A:$A), 0))
或:
=INDEX(A:A,SMALL(IF(COUNTIF($B:$B,$A:$A),4^8,ROW($A:$A)),ROW(A1)))&""
3.獲取A無B有的數據,在F2中輸入數組公式:
=INDEX($B:$B, MATCH(0, COUNTIF($A:$A, $B:$B)+COUNTIF(F:F1, $B:$B), 0))
或:
=INDEX(B:B,SMALL(IF(COUNTIF($A:$A,$B:$B),4^8,ROW($B:$B)),ROW(A1)))&""
上述公式輸入完畢后,分別拖動填充柄向下填充,第一組公式直到出現“#N/A”為止,第二組公式直到出現空值為止

