分享

【CHOOSECOLS函数】从原数组中挑选指定列构成新的数组!

 刘卓学EXCEL 2022-04-03
你好,我是刘卓。欢迎来到我的公号,excel函数解析。今天来分享下OFFICE 365新函数CHOOSECOLS的用法,它的作用是从原数组中挑选指定的列构成新数组。可以看作CHOOSE函数的升级版,使重构数组更加简单。
-01-

CHOOSECOLS函数


CHOOSECOLS返回数组或引用中的列,语法如下:

第1参数array:是要从中返回列的原数组或区域。

第2参数col_numl1是要返回的列号,可以是数组。

后面的参数col_numl2…… :是其他要返回的列号,也可以是数组。如果是负数,表示右边开始取。

-02-

示例解释

1.从数组中挑选第2和第4列
从下图的数组中挑选第2和第4列,组成新的数组。公式和结果如下图所示。CHOOSECOLS函数的第1参数A2:E10原数组,第2参数和第3参数分别是2和4,表示从原数组中挑选第2和第4列组成新数组。

2.从数组中挑选第1,3,5列

其实挑选的列号中也可以使用数组,比如下图的公式是从原数组中挑选1,3,5列组成新的数组。第2参数中使用了一个常量数组{1,3,5},可以得到相同的结果。


3.从数组中挑选最后两列

下图的公式从原数组中挑选最后两列组成新的数组,CHOOSECOLS的第1参数A28:E36是原数组,第2和第3参数分别是-2和-1,表示挑选倒数第2和第1列组成新数组。


-03-
具体应用

1.逆向查询

下图左表是数据源,要求是根据右表的姓名在左表中查找对应的编号,也就是逆向查询。以前的做法是用IF函数重构数组,就是把姓名列和编号列换下位置,公式为=VLOOKUP(F5,IF({1,0},B$3:B$14,A$3:A$14),2,)

有了CHOOSECOLS函数,重构数组就更简单了,先从A3:B14中挑选第2列,再挑选第1列,就把姓名和编号列的位置调换了;然后再用VLOOKUP查询,公式如下图所示。

从下图中可以看到CHOOSECOLS的结果。

2.多列重构数组

下图左表是数据源,要求是根据右表的部门查找各部门第一次出现的员工姓名,城市和学历。公式和结果如下图所示。

从上图中可以看出,数据源的顺序和我们想要的结果顺序完全不同,所以需要对数据源进行重构,也就是对列进行排序。

我们希望部门是第1列,姓名是第2列,城市是第3列,学历是第4列。所以用CHOOSECOLS从B21:E36中依次挑选第2,1,4,3列组成新的数组,然后用VLOOKUP查找部门返回第2,3,4列。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多