Excel实现每行非空单元格内容按格式合并的技术问询
解决方案
1. Excel 365/2021及以上版本(支持动态数组)
使用TEXTJOIN+FILTER组合,精准筛选非空单元格并合并:
=TEXTJOIN("; ", TRUE, FILTER(B2:H2, B2:H2<>""))
FILTER(B2:H2, B2:H2<>""):筛选当前行B2-H2范围内的所有非空单元格TEXTJOIN("; ", TRUE, ...):以;作为分隔符合并筛选结果,TRUE参数自动忽略空值
2. 旧版Excel(不支持动态数组)
可以直接用TEXTJOIN搭配逐个单元格判断,或者使用数组公式:
方案A:逐个单元格判断
=TEXTJOIN("; ", TRUE, IF(B2<>"",B2,""), IF(C2<>"",C2,""), IF(D2<>"",D2,""), IF(E2<>"",E2,""), IF(F2<>"",F2,""), IF(G2<>"",G2,""), IF(H2<>"",H2,""))
方案B:数组公式(输入后按Ctrl+Shift+Enter确认)
=TEXTJOIN("; ", TRUE, IF(B2:H2<>"", B2:H2, ""))
为什么UNIQUE无效?
UNIQUE函数的核心作用是提取区域中的唯一值,但你的需求是保留所有非空单元格的原始内容、按顺序合并,和去重逻辑无关,因此无法得到预期结果。
内容的提问来源于stack exchange,提问作者bvowe
相关产品推荐
相关产品推荐

