优秀的编程知识分享平台

网站首页 > 技术文章 正文

CHOOSECOLS,CHOOSEROWS把二维数查询玩出新高度

nanyue 2024-08-13 07:56:46 技术文章 11 ℃

如下图,要从左边表格中查询指定姓名的各项信息,类似的二维数据查询在Excel中十分常见,此前的文章中分享过7种解决方案

Excel 365版本新增的函数CHOOSECOLS和CHOOSEROWS可以从数据区域中选取指定的列或行,搭配上MATCH也可以轻松实现类似的查询。


例如从B2:E7中选取第4列:

=CHOOSECOLS(B2:E7,4)

这便是需要查询的“职位”信息。

注意,两表的“姓名”顺序是一致的。


MATCH的数组用法可以帮助我们获取“职位”,“性别”,“区域”,“工号”在原数据表中的相对位置:

=MATCH(H1:K1,B1:E1,0)

用CHOOSECOLS依次选取4,1,3,2列就是需要查询的结果,于是将MATCH作为CHOOSECOLS的第二参数:

=CHOOSECOLS(B2:E7,MATCH(H1:K1,B1:E1,0))


在实际应用在,要查找的“姓名”顺序与原表顺序(甚至数量)大多是不一致的。此时直接匹配的整列数据无法正确匹配“姓名”。

沿用同样的思路,MATCH获取所有姓名在原表中的相对位置,再用CHOOSEROWS重新调节行的顺序:

=CHOOSEROWS(CHOOSECOLS(B2:E7,MATCH(H1:K1,B1:E1,0)),MATCH(G2:G7,A2:A7,0))

这个方案表面上公式很长很复杂,一旦理解了MATCH在其中的应用就会豁然开朗。

一个公式就能以二维数据的形式返回结果,省去了向下向右填充公式的步骤,也避免了繁琐的相对引用绝对引用设置。

此前介绍的7种方法只能望其项背。


延伸阅读:

二维数据查询7种方法


Tags:

最近发表
标签列表