返回首页
当前位置: 主页 > Excel教程 > Excel2003教程 >

Excel如何利用数组公式提取区域中的重复值

时间:2017-04-29 21:41来源:Office教程学习网 www.office68.com编辑:麦田守望者

有时需要要提取多行多列区域中的重复数据到某列,如下图所示,A2:C11包含一些重复的水果名称(已用深红色进行了标记),要将重复的名称提取到E列。

      制作方法:
      1、制表如上A2至C11内容
      2、在E2输公式=INDIRECT(TEXT(MIN(IF((COUNTIF($A$2:$C$11,$A$2:$C$11)>1)*(COUNTIF
($E$1:E1,$A$2:$C$11)=0),ROW($2:$11)*100+COLUMN($A:$C),7^8)),"R0C00"),)&""
      3、公式输入完毕后,按Ctrl+Shift+Enter结束,然后拖动填充柄向下填充,直到公式结果返回空为止。
      说明:
      ①INDIRECT函数的第二个参数为“0”(未输入即为0),表示返回R1C1样式的引用。
      ②TEXT函数的第二个参数为“R0C00”,将第一个参数的数值返回为R1C1样式的文本。受该参数的限制,包含重复值的区域需在CV列(第100列)的左侧,否则公式可能不会返回正确的结果。
      ③TEXT函数的第一个参数,以E3单元格中的公式为例说明如下。IF函数返回一个数组,本例为2行10列。当区域中的重复数据未出现在E3单元格上方的区域中时,数组元素为区域中相应单元格行号和列数所构成数值,即“行号×100+列数”;对于不重复的数据,或者虽重复但已出现在E3单元格的上方,数组元素为“7^8”(5764801),受“R0C00”格式的规定,其前5位为行数,后两位为列数。表示如果出现这种情况,将返回R57648C01(即A57648)单元格的值,通常为空。MIN函数返回上述数组的最小值,如E3单元格为“203”,此时TEXT函数返回“R2C03”,INDIRECT函数返回“橘子”。
      ④公式中的“$A$2:$C$11”、“$2:$11”、“$A:$C”和“$E$1:E1”都需根据实际进行修改。
      按从大到小的顺序提取重复数值
当区域中只包含数值时,还可用下面的数组公式按从大到小的顺序提取重复数值:

      制作方法:
      1、先在E1单元格中输入某个文本,如本例中的“重复值”字样。
      2、然后在E2单元格中输入数组公式:=LARGE(IF(COUNTIF($A$2:$C$11,$A$2:$C$11)>1,$A$2:$C$11),SUM(COUNTIF
($A$2:$C$11,$E$1:E1))+1)
      3、公式输入完毕后,按Ctrl+Shift+Enter结束,然后拖动填充柄向下填充,直到公式结果返“#NUM!”为止。
      用数组公式提取一列中的重复项
      制作方式如上,公式为:
=INDEX($A$2:$A$30,MATCH(0,COUNTIF($B$1:B1,$A$2:$A$30)+
IF(COUNTIF($A$2:$A$30,$A$2:$A$30)>1,0,1),0))

顶一下
(0)
0%
踩一下
(0)
0%
标签(Tag):excel excel2003 excel数组公式
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
猜你感兴趣