估计很多同学看到标题有点懵,ChooseRows是何方神圣,比Vlookup强可以忍,说比Filter还要强是不是有点标题党了?看完本篇你就知道它有多牛!
先了通过一个小例子了解ChooseRows的基本用法。
【例】如下图所示,从左表中返回第1,3,6行
=CHOOSEROWS(A1:D8,1,3,6)
或
=CHOOSEROWS(A1:D8,{1,3,6})
再总结一下:ChooseRows可以根据指定的行数从表格提取数据。
想象一下,我们用Vlookup查找、Filter筛选也不是根据条件返回对应行的数据吗?问题是说ChooseRows吊打以上两位,实力何在?嘿嘿,先看一个常见的例子。
【例2】如下图所示要求在下表黄色区域设置公式,根据A12:A16的姓名从上表查找对应的信息。(上下表列顺序一致)
先用Vlookup,输入以下公式并向下复制。
=VLOOKUP(A12,A:F,COLUMN(B:F),0)
除了需要向下复制公式,是不是觉得Vlookup函数已经很简单了?
再看filter函数,也是需要输入公式后向下复制:
=FILTER(B$2:F$8,A$2:A$8=A12)
该ChooseRowS亮相了:一个公式完成整个表格的查询。
=CHOOSEROWS(B2:F8,MATCH(A12:A16,A2:A8,1))
公式说明:先用MATCH查找姓名在上表的位置,再用ChooseRow提取对应的行,重要:下图公式有误,以上面公式为准
总结一下:Vlookup和fitler只能返回一行或一列结果,而ChooseRows可以返回整个表格,以后设置公式时,再也不用考虑复制公式添加$符号了。
可能有同学问,上表中返回的列如果和源表顺序不同该怎么办,嘿嘿,再配合它的兄弟ChooseCols返回对应的列。
=CHOOSEROWS(CHOOSECOLS(B2:F8,MATCH(B11:D11,B1:F1,)),MATCH(A12:A16,A2:A8,))
兰色说:相对于filter返回的结果和原表一样,ChooseRows而可以利用第2个参数返回任意顺序的多行。
领取专属 10元无门槛券
私享最新 技术干货