首页 > 编程笔记 > Office笔记 阅读:2

WPS CONCAT()函数的用法(附带实例)

在处理表格时,对文本字符串的操作是必不可少的。无论是拆分还是合并,都需要使用文本类函数进行处理。

在早期的 WPS 函数版本中,拆分相对容易一些,合并文本却是一个难题。因此,近年来更新了一些文本函数,使得处理文本变得更加简单、灵活、高效。

CONCAT() 函数可以将多个字符串或数字连接,函数最多支持 255 个参数,可以根据实际需求依次设置。CONCAT() 函数的语法格式如下:
CONCAT(字符串1, ...)
参数字符串1 是必填项,

【实例 1】将省、市、区/县三个单元格的值连接到一个单元格。在 F5 单元格输入公式:
=CONCAT(C5:E5)
CONCAT() 函数的第 1 个参数引用 C5:E5 单元格区域,在 F5 单元格输入公式后,双击 F5 单元格右下角向下填充公式即可。效果如下图所示:


图 1 将省、市、区/县三个单元格的值连接到一个单元格

【实例 2】提取不规则文本中的数字(整数)。在 E15 单元格输入公式:
=CONCAT(IFERROR(--MID(B15,SEQUENCE(LEN(B15)),1),""))
效果如下图所示:


图 2 提取不规则文本中的数字(整数)


当提取数字只有整数时,可以将文本拆分成字符,通过 –– 计算,将非数字的内容转换为空文本后连接,即可实际提取数字(整数)效果。

【实例 3】提取不规则文本中的数字(小数)。在 E25 单元格输入公式:
=LET(x,MID(B25,SEQUENCE(LEN(B25)),1),CONCAT(IF(LENB(x)=1,x,"")))
效果如下图所示:


图 3 提取不规则文本中的数字(小数)

当提取数字包含小数时,LENB() 函数可以判断每个字符是否是汉字,使用 IF() 函数将汉字返回空文本,然后使用 CONCAT() 函数连接即可,通过 LENB() 函数返回字节数只能区分汉字和非汉字,当文本中包含字母或其他符号时,此公式将无法提取。

【示例 4】提取不规则文本中的汉字。在 E35 单元格输入公式:
=LET(x,MID(B25,SEQUENCE(LEN(B25)),1),CONCAT(IF(LENB(x)=2,x,"")))
效果如下图所示:


图 4 提取不规则文本中的汉字

将 IF() 函数条件参数中的 1 修改成 2 即可将非汉字的值返回空文本,然后使用 CONCAT() 函数连接即可提取汉字。

【实例 5】判断是否连续三个月及以上达到“优”级别。在 O45 单元格输入公式:
=IFERROR(IF(FIND(111,CONCAT(N(C45:N45="优"))),"是"),"")
效果如下图所示:


图 5 判断是否连续三个月及以上达到“优”级别

引用 C45:N45 单元格区域判断是否等于“优”,返回一组逻辑值 TRUE 或 FALSE,使用 N() 函数可以将 TRUE 转换为 1,FALSE 转换为 0,使用 CONCAT() 函数将转换后的数组连接,连接后的字符串作为 FIND() 函数的第 2 个参数,查询 111 在字符串中的位置,用查询到的位置作为 IF() 函数的条件参数,如果 FIND() 函数返回的是数字,无论在什么位置,说明已满足条件,IF() 函数的第 2 个参数返回“是”,如果没有查询到 111,FIND() 函数会返回错误值 #VALUE!,使用 IFERROR() 函数将错误值转换为空文本即可。

CONCAT()注意事项

1) 使用 CONCAT() 函数连接字符串时,如果结果字符串长度大于 32 767,函数将返回错误值 #VALUE!。在 B4 单元格输入公式:
=CONCAT(REPT("测",32767),"测")
效果如下图所示:


图 6 结果字符串长度大于32 767

2) 在使用聚合类函数时,由于函数返回的结果是单值,所以在输入公式时需要向下填充公式,如果想用一个公式计算后进行溢出处理,可以使用 BYROW() 函数处理。

相关文章