打开APP
userphoto
未登录

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

开通VIP
69用Excel函数将多个一维数组合并成一维数组~
今天给大家分享的表格技巧是有关函数数组的:将多个一维数组合并成一维数组。如果你对函数数组比较了解,应该可以看懂;如果不了解,推荐先看一下往期教程▼

 ↑ 关于函数数组,这篇教程足够经典

我举个例子。

有两个一维数组:



{1;2;12}{"a";"b";"ab"}

需要将它们合并成一个一维数组:


{1;2;12;"a";"b";"ab"}

如果需要将两个一维数组合并成二维数组,可以用IF函数:


=IF({1,0},{1;2;12},{"a";"b";"ab"})

而合并成一维数组呢?

也可以用IF函数。

公式看不全可以左右拖动...▼


=IF(ROW(1:6)<4,{1;2;12},LOOKUP(ROW(1:6),ROW(4:6),{"a";"b";"ab"}))

公式判断ROW(1:6)是否小于4,如果条件成立则返回第1个一维数组{1;2;12},否则运行LOOKUP函数。

LOOKUP的查找值是ROW(1:6),查找区域是ROW(4:6),ROW(1:3)查无结果返回错误值,ROW(4:6)返回第2个一维数组{"a";"b";"ab"}

因此以上公式等同于:


=IF(ROW(1:6)<4,{1;2;12},{#N/A;#N/A;#N/A;"a";"b";"ab"})

于是最终返回一维数组:


{1;2;12;"a";"b";"ab"}

……

这是2个一维数组合并,如果是3个、4个……更多个呢?

比如,将下图所示A1:C3区域3个纵向一维数组合并为E1:E9所示的一个纵向一维数组。

这时候继续使用IF+LOOKUP的函数组合就不是很方便了。

更推荐使用FILTERXML+TEXTJOIN的组合套路。

TEXTJOIN是2019开始才有的函数 ▼

=FILTERXML("<a><b>"&TEXTJOIN("</b><b>",1,TRANSPOSE(A1:C3))&"</b></a>","a/b")

首先使用TRANSPOSE函数将A1:C3转置,然后使用TEXTJOIN函数以</b><b>为分隔符合并,最后用FILTERXML按"a/b"为节点拆分——这个解释如果看不懂的话,看我手指的方向👇回看一下FILTERXML函数教程吧,微微笑

(* ̄︶ ̄)

 ↑ FILTERXML函数  

最后了,摊手,耸肩,不要问我这个技巧有啥用,你问我,我问谁去啊…
 ̄□ ̄||
坦白的说呢,Excel函数的数组作为数据结构是非常弱小的,甚至不足以支撑新锐函数LAMBDA的递归应用。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
字符串拆分、去重、合并,你会吗?
TEXTJOIN函数应用示例:提取文本字符串中的数字字符
比VLOOKUP厉害的函数公式,出列!!
单元格内的字符串,如何实现每隔N个字符加空格的效果?
找出字符中出现次数最多的字符!详解!
Excel中那些经典公式,即将推出历史舞台……
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服