打开APP
userphoto
未登录

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

开通VIP
真头疼:有条件的提取不重复值!
下表展示的是某公司的进货明细表,当指定商品后,需要提取出其对应的不重复品牌,效果如动图所示。F3设置了数据验证,G列是不重复品牌的结果。该如何做呢?

如果用函数的方法想不出来,也可以想一下用基础操作该如何完成。可以用下面两种方法,都以空调为例进行说明演示。

第1种,先筛选出空调的记录,然后对其品牌去重。
第2种,先对商品和品牌两列同时去重,然后再筛选出空调对应的品牌。
其实今天讲的函数思路和基础操作的第2种方法类似,在G3单元格输入下面的公式,按ctrl+shift+enter,向下填充。

=INDEX(B:B,SMALL(IF((MATCH(A$3:A$18&B$3:B$18,A$3:A$18&B$3:B$18,)=ROW($1:$16))*(A$3:A$18=F$3),ROW($3:$18),4^8),ROW(A1)))&""


MATCH(A$3:A$18&B$3:B$18,A$3:A$18&B$3:B$18,)=ROW($1:$16)这部分将两列合成一列,然后去重。当然它不是像基础操作那样直接把重复的去掉了,而是把合并后第1次出现的返回true,重复出现的返回false。

结果如下图E列所示。比如第4行的记录是第2次出现,所以对应的结果是false。

(MATCH(A$3:A$18&B$3:B$18,A$3:A$18&B$3:B$18,)=ROW($1:$16))*(A$3:A$18=F$3)这部分是在上一步的基础上又增加了一个“A 列的商品等于空调”的条件。

那么同时满足“A列的商品是空调且对应的品牌是第1次出现“的记录返回1,否则返回0,结果如下图E列所示。这样就找到了我们需要的记录。

接下来用if函数判断,让条件满足的记录返回对应的行号,条件不满足的记录返回4^8。然后用small函数从小到大依次提取满足条件的行号,最后用index返回B列相应行的品牌。这些都说过好多次了,不再一一演示。

最后我想说的是,用函数想不出的时候,可以想想用基础操作来完成,有时,它们的思路是想通的。

链接:

https://pan.baidu.com/s/1R7JmR3jh6hzQf7RYteLQIQ

提取码:ky2j
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel MATCH/VLOOKUP返回多个结果
平平无奇SUM函数,10种基础用法+3种特殊用法,总有一个你还不会!
Excel查找重复值 Match函数与条件格式
excel多条件匹配查找,就用index match函数
最强搭配函数INDEX MATCH嵌套,正逆向查询,多条件匹配快手办公
index函数嵌套match函数完成多条件查询
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服