夜雨聆风学习资料网

ARTICLE · 1150495

合并文本?试试Excel新函数ARRAYTOTEXT,稳准狠!

合并文本?试试Excel新函数ARRAYTOTEXT,稳准狠!

点击蓝字 关注我吧!

Hi,我是咸鱼。

如果你日常有“把多个单元格的信息快速合并到一起”的活儿,那么,看看今天这篇文章能不能给你一个新的解题思路。

我们一起来解锁一个Microsoft 365、Excel 2024和新版的WPS可以使用的函数:ARRAYTOTEXT,它能轻松拿捏上面这种情况。

本期导航

01 功能语法

02 使用场景

03 避坑指南

一、功能语法

ARRAY是“数组”的意思,TEXT是“文本”的意思。这个函数的功能就是把数组或者区域快速合并到一个单元格里,以文本形式返回。

语法

=ARRAYTOTEXT(数组,[格式])

参数1:数组【必填】

  • 要转换的数组或单元格区域。

参数2:格式【可选】

  • 0或不填:简明格式;

  • 1:严格格式;

  • 如果填了其他数字,函数会返回#VALUE!错误。

参数2有点抽象,来看个案例:

=ARRAYTOTEXT(B2:B6)

第2参数不填,返回的是B2~B6的内容用逗号+空格(对,你没看错,就是有个空格)分隔,合并到一个单元格里。

如果公式变成:

=ARRAYTOTEXT(B2:B4,1)

返回的结果是包含花括号、双引号以及逗号的数组常量形式。但这种用法,我个人感觉用处不大。

如果第1参数“数组”是多行多列,第2参数“格式”填1,返回的结果:列与列之间是逗号,行与行之间是分号。比如:

=ARRAYTOTEXT(B2:C4,1)

但如果第1参数“数组”是多行多列,第2参数“格式”不填或者填0,返回的结果之间都是用逗号+空格连接。

=ARRAYTOTEXT(B2:C4,0)

二、实用场景

1.提取C列的所有部门放到一个单元格里

【方法】

=ARRAYTOTEXT(UNIQUE(C2:C12))

【解析】

先用UNIQUE函数提取C2:C12中的唯一值;

再嵌套ARRAYTOTEXT合并到一个单元格里。

2.把一个部门的人员提取到一个单元格里

【方法】

在G2输入以下公式,向下复制到G4就行啦!

=ARRAYTOTEXT(FILTER(B:.B,C:.C=F2))

【解析】

FILTER(B:.B,C:.C=F2)会返回“销售1部”所有的人员姓名。

冒号后面的小数点是函数TRIMRANGE的简写形式,也叫语法糖。公式里用的B、C整列,在冒号的右边加上语法糖,能裁剪掉区域右边和下方没有数据的区域。

这样既能提高运算效率,也避免了公式向下复制时要对区域进行绝对引用的麻烦。

有兴趣详细了解语法糖,可以看这篇→猜你没用过TRIMRANGE,1秒修剪空白区域,效率拉满!

三、避坑指南

1.日期被合并到一个单元格后,会变成日期序列号。因为在Excel中日期是以数字形式存储的。

2.分隔符不能自定义

ARRAYTOTEXT默认用逗号+空格来合并文本。如果想要用顿号、分号等作为分隔符,只有用TEXTJOIN函数啦!

3.逗号后面带一个空格

对比一下ARRAYTOTEXT和TEXTJOIN合并的内容,可以看到ARRAYTOTEXT合并的结果在逗号后面是有一个空格的。

我们并不知道这样设计的初衷是什么,那么,你说,是个BUG吗?


记得点赞、关注再划走呀!

相关学习资料