
有时在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$2:$B$15,MATCH(1,COUNTIF(D$1:D1,$B$2:$B$15) IF(COUNTIF($A$2:$A$20,$B$2:$B$15),1,0),0))
或:
=INDEX(A:A,SMALL(IF(COUNTIF($B$2:$B$15,$A$2:$A$20),ROW($A$2:$A$20),4^8),ROW(A1)))&""
2.获取A有B无的数据,在E2中输入数组公式:
怎样在Excel中每隔N行提取数据?
要在Excel工作表的某列中每隔N行提取数据,可以OFFSET或INDEX函数。假如数据在D1:D1000中,现在要每隔4行提取一个数据,即提取D列第4、8、12等行的数据,如图。 在F2单元格中输入公式: =OFFSET($D$1,ROW(D1)*4-1,0) 或: =INDEX($D$1:$D$1000,ROW(
=INDEX($A$2:$A$20, MATCH(0, COUNTIF($B$2:$B$15, $A$2:$A$20) COUNTIF(E$1:E1, $A$2:$A$20), 0))
或:
=INDEX(A:A,SMALL(IF(COUNTIF($B$2:$B$15,$A$2:$A$20),4^8,ROW($A$2:$A$20)),ROW(A1)))&""
3.获取A无B有的数据,在F2中输入数组公式:
=INDEX($B$2:$B$15, MATCH(0, COUNTIF($A$2:$A$20, $B$2:$B$15) COUNTIF(F$1:F1, $B$2:$B$15), 0))
或:
=INDEX(B:B,SMALL(IF(COUNTIF($A$2:$A$20,$B$2:$B$15),4^8,ROW($B$2:$B$15)),ROW(A1)))&""
上述公式输入完毕后,分别拖动填充柄向下填充,第一组公式直到出现“#N/A”为止,第二组公式直到出现空值为止
excel判断区域中是否包含重复值的公式
如果需要用公式来判断某个区域中是否包含重复值,可以用下面的数组公式。假如要判断的区域为D1:G5,在某个单元格中输入数组公式: =MAX(COUNTIF(D1:G5,D1:G5))=1 公式输入完毕按Ctrl+Shift+Enter结束,如果区域中有重复的内容,则公式返回FALSE,如果区域中没有重复内容,则返回TRU