如何搭配ArrayFormula实现带忽略空单元格功能的TEXTJOIN效果
更简便的实现方案
优先推荐使用BYROW嵌套TEXTJOIN的方案,直接保留TEXTJOIN原生忽略空单元格的特性,不需要额外处理多余分隔符,A2单元格输入单条公式即可自动向下填充整列:
=BYROW(B2:D,LAMBDA(row,TEXTJOIN("_",TRUE,row)))
公式逻辑说明
BYROW(B2:D, LAMBDA(...))会逐行遍历B到D列的所有行数据,自动向下溢出整列计算结果,无需手动拖拽填充- 内层
TEXTJOIN("_",TRUE,row)第二个参数设为TRUE即开启原生忽略空值能力,自动跳过空单元格,不会生成首尾下划线、中间连续下划线等多余分隔符,完全匹配需求。
如果使用的是不支持LAMBDA系列函数的旧版Google Sheets,可以用正则替换的方案简化原有公式:
=ARRAYFORMULA(REGEXREPLACE(B2:B&"_"&C2:C&"_"&D2:D,"^_+|_+$|(_)_+","$1"))
该方案直接拼接所有单元格加分隔符后,用正则一次性清理掉首尾多余下划线、中间连续的重复下划线,列数较多时公式长度也远低于嵌套IF的方案。
内容的提问来源于stack exchange,提问作者RCS
相关产品推荐
相关产品推荐

