Excel提取重复值、不重复值、全部值的函数

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Excel提取重复值、不重复值、全部值的函数

1、从某行中提取

定义名称“数量1”:=COUNTA(Sheet2!$B$6:$IV$6)

“区域1”:=OFFSET(Sheet2!$B$6,0,0,1,数量1)

除定义的名称外,以下(1)至(3)中的公式均为数组公式。

(1)提取有重复的数据

【思路】把区域中重复数据的第1个提取出来。

为避免拖动公式超出区域范围时出现的错误,前面加了一个IF函数判断是否超出区域范围。

{=IF(COLUMN(A1)>数量1,"",INDEX(6:6,SMALL(IF((COUNTIF(区域1,区域1)>1)*(MATCH(区域1,区域1,0)=COLUMN(区域1)-1),COLUMN(区域

1),256),COLUMN(A1))) & "")}

(2)提取没有重复的数据

{=IF(COLUMN(A1)>数量1,"",INDEX(6:6,SMALL(IF(COUNTIF(区域1,区域1)=1,COLUMN(区域1),256),COLUMN(A1))) & "")}

(3)提取全部数据,重复的只提取一次

{=IF(COLUMN(A1)>数量1,"",INDEX(6:6,SMALL(IF(MATCH(区域1,区域1,0)=COLUMN(区域1)-1,COLUMN(区域1),256),COLUMN(A1))) & "")}

2、从某列中提取

定义名称“数量2”:=COUNTA(Sheet3!$B$7:$B$65536)

“区域2”:=OFFSET(Sheet3!$B$7,0,0,数量2)

(1)提取有重复的数据

{=IF(ROW(A1)>数量2,"",INDEX(B:B,SMALL(IF((COUNTIF(区域2,区域2)>1)*(MATCH(区域2,区域2,0)=ROW(区域2)-6),ROW(区域

2),65536),ROW(A1))) & "")}

(2)提取没有重复的数据

{=IF(ROW(A1)>数量2,"",INDEX(B:B,SMALL(IF(COUNTIF(区域2,区域2)=1,ROW(区域2),65536),ROW(A1))) & "")}

(3)提取全部数据,重复的只提取一次

{=IF(ROW(A1)>数量2,"",INDEX(B:B,SMALL(IF(MATCH(区域2,区域2,0)=ROW(区域2)-6,ROW(区域2),65536),ROW(A1))) & "")}

相关文档
最新文档