打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel数组如何裁剪扩展?公式也能编程?

之前写出数组公式已然不易,想要扩展更是难上加难,但是最近更新解决了这个问题,具体我们看一个案例来了解一下!

首先我们还是来看一个基础问题,如何让一个内容扩展成指定行数或者列数的数组?

S01 | 数组的自由扩展



比如我们有一个内容为“A',如何变成3行的内存数组呢?方法有很多!
首先是传统的方法,可以使用INDEX,构建第二参数数组,比如下面这样!

=INDEX('A',ROW(1:3)^0)



当然我们也可以换一个思路,把内容重复后,再拆分成数组!

=TEXTSPLIT(REPT('A'&'|',3),,'|')



这个是否你会发现多出一个空行,也就是最后一个拼接的符号,这个要如何处理呢?

要是我们可以截取或者丢弃数组部分内容就好了,过去是不行的,但是现在可以了!

来看看TAKE函数DROP函数

=TAKE(TEXTSPLIT(REPT('A'&'|',3),,'|'),3)
TAKE就是字面意思,我们可以从数组头部(正数),尾部(负数),截取数组部分行数或者列数的大小的数组!

具体语法:TAKE(数组,截取行数,[截取列数])

就本案例来说,截取不如直接丢弃最后一个,这个的丢弃对应的就是DROP函数,也是字面意思了!

=DROP(TEXTSPLIT(REPT('A'&'|',3),,'|'),-1)
公式的含义就是丢弃最后一行,跟TAKE相反的意思!从后处理使用负数表述!




DROP函数的语法截取如下,和TAKE完全一致,功能正好相反!

除了上面,我们还有没有其他方法可以扩展呢?有没有直接的扩展方式

其实还有一个,那就是EXPAND函数

如其名,就是扩展数组用的!根据下面的截图,翻译一下就是

具体语法:EXPAND(数组,展开行数,[展开列数],[不足部分填充])

具体如何使用呢?目前官方给的例子,意义不大,我们还是利用上面的案例看一下!

=EXPAND('A',3,,'A')
意思就是把A扩展成3行1列,不足部分使用“A”填充!

当然,我们可不可以指定第二参数就可以扩展,而不用指定第四参数呢?自然是可以的,只是要使用数组的方式!

=EXPAND('A',SEQUENCE(3))

当然你也可以使用老的ROW也是一样的!
=EXPAND('A',ROW(1:3))

讲了这么多,我们来使用这些新函数,做一个实际案例吧!

 
S02 | 实战应用


如何根据组员整理成右边的一维表?

具体公式如下
=REDUCE(A1:B1,$B$2:$B$4, LAMBDA(x,y,LET(cp,TEXTSPLIT(y,,'、'),r,SEQUENCE(COUNTA(cp)),VSTACK(x,HSTACK(EXPAND(INDEX($A$1:$A$4,ROW(y)),r),cp))) ))



说说处理思路
首先,考虑拆分问题,使用最新的TEXTSPLIT函数拆分即可,根据拆分后的数组行数,把对应的组别也扩展到对应的行数大小,然后使用HSTACK水平方向合并到一起

然后把每一行处理好的数据,再使用VSTACK合并到依次追加到之前合并好的数组上即可!

这里涉及到每行处理,还需要在上次处理的基础上追加结果,所以我们首先考虑到的函数就是REDUCE

以上我们算是对最新一批函数的综合应用,具体涉及7个新函数如下:
REDUCE、LAMBDA、LET、TEXTSPLIT、SENQUENCE、VSTACK、HSTACK、EXPAND

近一年多更新的全部新函数如下:本次更新的大部分我们已经讲完!
北京时间:2022040343301

关于什么版本支持
目前来看要三点:①365正版 ②Beta通道 ③ 版本2204+

应该是分配推送,如果你都满足,还是没有,可能再等两天基本就有了!
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
14个Excel新函数,个个都是永远的神 !
Office365中的这几个高能函数,正中使用痛点,用起来真香!
【VSTACK函数】将多个数组竖向堆叠成一个数组
新函数VSTACK和HSTACK双子星增强数组运算
【Python科学计算】使用NumPy水平组合数组和垂直组合数组
14个具有划时代意义的Excel函数,建议收藏!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服