真头疼:有条件的提取不重复值!
如果用函数的方法想不出来,也可以想一下用基础操作该如何完成。可以用下面两种方法,都以空调为例进行说明演示。
=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。
(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 列的商品等于空调”的条件。
接下来用if函数判断,让条件满足的记录返回对应的行号,条件不满足的记录返回4^8。然后用small函数从小到大依次提取满足条件的行号,最后用index返回B列相应行的品牌。这些都说过好多次了,不再一一演示。
最后我想说的是,用函数想不出的时候,可以想想用基础操作来完成,有时,它们的思路是想通的。
https://pan.baidu.com/s/1R7JmR3jh6hzQf7RYteLQIQ
赞 (0)