电脑怎么打印房屋出租:Excel提取重复值、不重复值、全部值的函数

来源:百度文库 编辑:偶看新闻 时间:2024/04/27 23:40:36

本文由自已根据网络资料整理,文章源自ExcelHome。

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))) & "")}