让我再哭一会儿,这些经典很快就没有了!

俗话说,长江后浪推前浪,前浪死在沙滩上。随着EXCEL版本的不断升级,新推出了许多功能强大的公式,直接替代了我们以前冥思苦想烧脑而得的经典函数组合。随着时间的发展,这些经典公式终将消失在历史的长河中。

让我们赶紧再来重新温习一下这些经典吧!

01

一对多查询

这个组合就是著名的万金油公式。

在单元格J2中输入“=IFERROR(INDEX($B$2:$B$17,SMALL(IF(A$2:A$17=$J$2,ROW($A$2:$A$17)-1,100),ROW(A1))),"")”,CTRL+SHIFT+ENTER并向下拖曳到单元格A17即可。

思路:

  • 利用IF函数判断区域中等于给定条件的数据,若等于,则返回行号-1;若不等于,则返回100,以屏蔽0

  • 利用SMALL函数依次由小到大返回符合条件的数据的行号

  • INDEX函数查询

  • IFERROR屏蔽错误值

今后,你只要学会FILTER这个函数就可以了!

02

多对多查询

根据多个条件返回所对应的多个结果。

在单元格K2中输入“=IFERROR(INDEX(B:B,SMALL(IF(($D$2:$D$17=$J$2)*($C$2:$C$17=$I$2),ROW($D$2:$D$17)),ROW(A1))),"")”,CTRL+SHIFT+ENTER三键回车并向下拖曳即可。

思路:

  • 增加条件,只需要在IF函数的第一个参数上增加判断条件即可

  • 其他部分没有变化

在这里,多条件不仅仅是像上面所限定的那样,是“*”的关系,也可以是“或”的关系,即,满足多个条件中的一个或几个。

今后FILTER函数将搞定上面的一切!

03

提取不重复清单

在以前的帖子中我也多次介绍过,提取不重复值的技巧中有一个经典的函数组合:INDEX函数+SMALL函数+IF函数+MATCH函数组合。

这么长的组合,其威力一定是巨大无比的。如下图。

在单元格C2中输入“=IFERROR(INDEX($A$2:$A$17,SMALL(IF(MATCH($A$2:$A$17,$A$2:$A$17,0)=ROW($A$2:$A$17)-1,ROW($A$2:$A$17)-1),ROW()-1),0),"")”并CTRL+SHIFT+ENTER三键回车,向下拖曳即可。

思路:

  • MATCH函数返回的结果若和行号不一致,即表明哪些是重复项

  • IF函数返回对应一致的行号

  • SMALL函数从小到大依次提取行号

  • INDEX函数返回不重复清单

将来,UNIQUE函数就会接班了!

上面这些经典的函数组合,凝聚了无数人的脑细胞,虽然在可读性上不是十分友好。在高版本中,虽然会被上面提到的函数替代,但是仍然可以正常使用。在低版本中,它们仍然会继续发挥着重要的作用!


(职场责编:未找到用户 )