Google Sheets带条件合并单元格内容拼接问题求助
Google Sheets 合并单元格与多列值拼接解决方案
问题核心需求
- 提取**Name列(合并单元格)**中当前行上方最近的非空值
- 结合Frequency列的值,以及Old Measure/New Measure列中已填充的内容(优先取非空项,若两列都有值则保留有效内容)
- 用连字符
-拼接所有有效内容
原公式问题:使用LARGE+数组的方式获取最近非空值在Google Sheets中兼容性差,且IFS仅单独判断单列,未覆盖两列同时有值的场景。
正确公式
在目标单元格(如E1)输入以下公式,下拉填充即可:
=TEXTJOIN("-", TRUE, LOOKUP(2, 1/(A$1:A1<>""), A$1:A1), B1, COALESCE(C1, D1))
公式拆解
LOOKUP(2, 1/(A$1:A1<>""), A$1:A1):精准定位当前行上方最近的非空Name值,比原公式的数组计算更高效稳定COALESCE(C1, D1):自动返回第一个非空的列值(优先取Old Measure,无值则取New Measure)TEXTJOIN("-", TRUE, ...):用连字符拼接所有参数,TRUE表示自动忽略空值,避免出现多余的连字符
特殊场景适配
若需要同时保留Old Measure和New Measure的内容(当两列都有值时),可调整为:
=TEXTJOIN("-", TRUE, LOOKUP(2, 1/(A$1:A1<>""), A$1:A1), B1, C1, D1)
该版本会自动过滤空值,仅拼接有内容的列。
内容的提问来源于stack exchange,提问作者Shaik Naveed
相关产品推荐
相关产品推荐

