WPS 新函数 CHOOSECOLS 快速对齐错乱列 No 265
优秀创作者
今日分享的WPS 新函数就是CHOOSECOLS,这个函数是古老师个人动态数组中使用最高频的一个函数,能够用到的场景非常多。特别是在掌握并能够熟练运用其它动态数组函数,如筛选函数FILTER,排序函数SORT函数需要指定列返回的时候。
这个函数的同系列函数就是CHOOSEROWS,功能基本和CHOOSECOLS一样,区别只是一个是列方向(垂直),一个是行方向(水平)。所以只需要理解了CHOOSECOLS,CHOOSEROWS就基本上也理解了。
函数说明
函数名称: CHOOSECOLS
函数说明:返回数组或引用的列
函数参数:EPXAND(数组,列序数1, 列序数1…)
函数简写:=CHOOSEC,录入完成后按下TAB自动补全,这个方法还不如录入=CHO,方向下键两下TAB快,所以一般记住CHO下两键就可以了
基本用法
返回单一列:I3 =CHOOSECOLS(B3:G7,2)
函数说明:返回B3:G7(选择的数组区域)的第2列(数字2),重点理解是选择区域的列号,而且是从左边开始计数;
返回多列: =CHOOSECOLS(B3:G7,2,5,6)
函数说明:多列的情况就是把函数中从第2个参数开始用逗号隔开,分别录入对应的数字.如2,5代表返回第2列和第5列,2,5,6,代表第2,5,6列;
使用场景1:快速对齐列
工作场景:表1和表2中有多列数据,在需要合并的时候发现两列无法合并,原因是两列的标题不一致,直接合并有错位的情况。下图中只是为了方便截图,实际工作中,列的数量更多。
快速让两表中的数据一致的话,可以用以下方法:
步骤1:以表1为基准合并,通过MTACH函数搜索表2的标题在表1的位置,返回对应的数字。录入函数: =MATCH(B6:J6,B2:J2,0),可以发现数量在表2是第4列,而在表1却在第5列;
步骤2:以表2的基准来合并两张表,先复制表2为基准,然后在下方录入函数: =CHOOSECOLS(B3:J4,MATCH(B6:J6,B2:J2,0)),就可以合并了
不会MATCH函数的可以更改为: =CHOOSECOLS(B7:J8,1,2,3,5,9,4,8,6,7)
手动录入,列号的数字;
使用场景2 筛选后选择指定列
工作场景:表1是全工厂的所有工作任务,此时员工刘备需要把自己的订单筛选出来并计算未完成量。数据如下图所示:
步骤1:录入筛选函数: =FILTER(B3:F6,G3:G6="刘备"),此时发现筛选后的结果是一个大的动态数组区域,无法进行直接计算(I3:M4),此时需要用动态数组参与引用的话,可以用CHOOSECOLS来实现;
步骤2:录入函数: =CHOOSECOLS(I3#,4)-CHOOSECOLS(I3#,5)
函数说明:
I3#是筛选函数返回结果(I3:M4)
用CHOOSECOLS分别选择第4列和第5列
然后进行运算,得到未完成的动态数组写法
使用场景3:动态数组区转为单列动态数组
工作场景:在全新的动态数组写法下,很动态数组函数都可以返回一个区域作为函数结果,而这个结果在大多数情况下是不能够直接引用的,所以配合CHOOSECOLS来转换成单列可以引用的动态数组;
还是以场景2来说明。I3#是一个大的动态数组区域,此时只需要录入函数:
=CHOOSECOLS(FILTER($B$3:$F$6,$G$3:$G$6="刘备"),COLUMN(A1))
后右填充就把一个区域的动态数组转为单列的动态数组了;
COLUMN(A1),是返回A1单元格的列号,因为没有锁定,向右填充就是B1,而B1的列号是2,这样的话就是选择第1列,第2列...
转换完成后,求未完成数量就可以用单列的动态数组函数了:
录入: =L3#-M3#
#号为动态数组的引用标识,代表这个动态函数所在单元格的返回的全部范围。
我是古哥:
从事制造行本业20年,在企业运营、供应链管理、智能制造系统等方面具有丰富的实战经验。企业智能化,柔性化计划运营管理专家,擅长通过企业流程优化规范,企业管理、导入计划运营提升企业效率;对提高企业准时交货率,降低企业库存,输出智能制造人才有丰富的经验。学习PMC生产计划,关注古哥计划!
请关注古哥计划
WPS 新函数 WRAPROWS 把错乱的数据整理成标准二维数据 NO 261