难道大家都懂自定义格式了吗?
新函数分享第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视频教程
返回搜狐,查看更多
责任编辑: