相关文章推荐

难道大家都懂自定义格式了吗?

新函数分享第4篇。CHOOSECOLS和CHOOSEROWS可以从源数组中按指定序列号提取各列或各行组成新的数组。特别适合用于按需重组筛选后的多列或多行数据。文章顺便提到了IF函数的{1,1,0}结构。

1. CHOOSECOLS函数

1) 作用与语法

从数组中返回指定列组成新数组。

=CHOOSECOLS(数组,要返回的列的列序1,[要返回的列的列序2],…)

列序:可以是正数也可以是负数。正数表示从数组开头列开始排序,负数表示从数组的结束列开始排序。

注意:(1)如果返回列中空单元格,则用0取代;(2)可以重复返回同一列。

2)基本用法

(1)用正数指定返回列

返回下方数组的第2、4列。

=CHOOSECOLS(A2:D7,2,4)

(2)用负数指定返回列

返回下方-1、-3、-1列。

=CHOOSECOLS(A18:D23,-1,-3,-1)

2. CHOOSEROWS函数

1) 作用与语法

从数组中返回指定行组成新数组。

=CHOOSEROWS(数组, 要返回的行的行序1,[要返回的行的行序2],…)

参数含义与CHOOSECOLS一致。

2)基本用法

(1)用正数指定返回行

返回下方第1、3行。

=CHOOSEROWS(A34:D39,1,3)

(2)用负数指定返回行

返回下方-2、-4、-1行。

=CHOOSEROWS(A46:D51,-2,-4,-1)

3. 典型应用

1)帮助VLOOKUP做反向查找

查询孙悟空的考号,对于VLOOKUP来说这是反向查找。

=VLOOKUP(A11,CHOOSECOLS(A2:B8,2,1),2,)

顺便说一个难一点的,同时查询考号和科目成绩。CHOOSECOLS出手没难度,只是多返回第3列而已。

=VLOOKUP(A11,CHOOSECOLS(A2:E8,2,1,3),{2,3},)

如果用IF{1,0}结构,则需要对数组比较了解,写出升级版{1,1,0}才行:

=VLOOKUP(A11,IF({1,1,0},B3:C8,A3:A8),{3,2},)

如果不了解,可以看推荐的IF函数{1,0}结构深度解析,里面有{1,1,0}的解释。

2)按需重组筛选或查找返回的多列值

譬如按入职时间、姓名、部门的顺序返回所有本科人员信息。

=CHOOSECOLS(FILTER(A16:E21,B16:B21="本科"),5,1,4)

最后,分享柳之老师刚开发完成的《Excel人事管理模板》,预览如下:

课件下载方式

扫码入群,下载本文教程配套的练习文件。

宠 粉 福 利

2元领取:全套Excel技巧视频+200套模板

点"阅读原文",学习更多的Excel视频教程 返回搜狐,查看更多

责任编辑:

 
推荐文章