电脑怎么打印房屋出租: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))) & "")}