Excel提取重复值、不重复值、全部值的函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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))) & "")}