首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

吊打Filter、脚踢Vlookup,ChooseRows原来是一个超级查找函数!

估计很多同学看到标题有点懵,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个参数返回任意顺序的多行。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Od32cBGzooUpqkaEEz8q_QVQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券