打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
提取非重复值,重复值只保留一个

一、案例

如下图所示,B2:B10为一份名单,其中部分姓名出现多次。要求提取非重复值,重复出现的姓名只提取一次,结果如D2:D8所示。

二、操作步骤

方法一:删除重复值

选中B1:B10单元格区域,单击【数据】-【删除重复值】,打开【删除重复值】对话框。如下图所示:

由于B1:B10包含标题“姓名”,因此需要勾选【数据包含标题】。

单击【确定】后,即可删除B2:B10中重复出现的姓名,只保留唯一值。

方法二、高级筛选

选中B1:B10中任一单元格,单击【数据】-【高级筛选】,打开【高级筛选】对话框,如下图所示:

“列表区域”指需要进行筛选的区域,本例为B1:B10。

本例将提取的唯一值保存在D列,因此选择【将筛选结果复制到其他位置】,【复制到】选择D1单元格。勾选【选择不重复的记录】

单击确定后,即可得到B1:B10区域的非重复值。

方法三、INDEX+MATCH+COUNTIF函数法

在D2单元格输入公式

=IFERROR(INDEX($B$2:$B$10,MATCH(0,COUNTIF($D$1:D1,$B$2:$B$10),0)),"")

按Ctrl+Shift+Enter结束公式输入。

公式解析:

(1)INDEX函数用于返回指定行列交叉处单元格的值,例如INDEX($B$2:$B$10,1)返回B2:B10第1行的值,即B2单元格的值“皮卡球”。INDEX($B$2:$B$10,MATCH(0,COUNTIF($D$1:D1,$B$2:$B$10),0)),第2个参数为MATCH+COUNTIF函数返回的值。

(2)COUNTIF($D$1:D1,$B$2:$B$10)指B2:B10每个单元格的值在D1:D1中出现的次数。D1单元格的值为“姓名”,因此B2:B10中每个单元格的值在D1:D1出现的次数均为0,此时COUNTIF函数返回的结果为{0;0;0;0;0;0;0;0;0}

(3)MATCH(0,COUNTIF($D$1:D1,$B$2:$B$10),0)即

MATCH(0,{0;0;0;0;0;0;0;0;0},0),表示在COUNTIF函数返回的{0;0;0;0;0;0;0;0;0}中精确查找(MATCH函数第3个参数“查找类型”为0,属于精确查找)“0”值。MATCH函数会查找到第一次出现“0”的位置,返回值为“1”,那么INDEX($B$2:$B$10,1)返回值为“皮卡球”。

(4)当公式向下复制到D3单元格时,COUNTIF($D$1:D1,$B$2:$B$10)变为COUNTIF($D$1:D2,$B$2:$B$10),返回结果{1;0;0;0;0;0;0;0;0};MATCH(0,COUNTIF($D$1:D2,$B$2:$B$10),0)即MATCH(0,{1;0;0;0;0;0;0;0;0},0)返回结果为“2”。INDEX($B$2:$B$10,2)返回值为“朱猪侠”。

方法四、LOOKUP+COUNTIF函数法

在D2单元格输入公式

=IFERROR(LOOKUP(2,1/(COUNTIF($D$1:D1,$B$2:$B$10)=0),$B$2:$B$10),"")

拖动填充柄向下复制公式。

公式解析:

(1)COUNTIF($D$1:D1,$B$2:$B$10)返回{0;0;0;0;0;0;0;0;0};

COUNTIF($D$1:D1,$B$2:$B$10)=0返回

{TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE};

1/(COUNTIF($D$1:D1,$B$2:$B$10)=0)返回{1;1;1;1;1;1;1;1;1}

(2)LOOKUP(2,1/(COUNTIF($D$1:D1,$B$2:$B$10)=0),$B$2:$B$10)即LOOKUP(2,{1;1;1;1;1;1;1;1;1},$B$2:$B$10),在{1;1;1;1;1;1;1;1;1}中查找“2”,并返回与查找到的值对应位置的B2:B10的值。由于无法查找到“2”,LOOKUP函数会返回最后一个“1”对应位置的B2:B10的值,即B10单元格的“易水寒”。

(3)当D2单元格的公式向下复制到D3单元格时,1/(COUNTIF($D$1:D2,$B$2:$B$10)=0)返回

{1;1;1;1;1;1;1;1;#DIV/0!}。返回错误值“#DIV/0!”是因为B10单元格的值“易水寒”已经出现在D2单元格。

(4)LOOKUP(2,1/(COUNTIF($D$1:D2,$B$2:$B$10)=0),$B$2:$B$10)即

LOOKUP(2,{1;1;1;1;1;1;1;1; #DIV/0!},$B$2:$B$10)。LOOKUP函数会忽略错误值,并查找到最后一个“1”所在的位置,并返回对应位置的B9单元格的值即“亚瑟”。


END


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel制表技巧(49)公式及函数B
精通Excel数组公式022:提取唯一值列表并排序(续)
你知道有哪些公式组合可以提取唯一值?
excel多条件专辑
不重复值的提取,不知道你会不会这些方法?(文章后面高能,谨慎点入)
「虐心」统计符合条件的不重复单元格个数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服