Google Sheets中含IF与TextJoin的ArrayFormula实现需求求助
解决方案
替代原B列的ArrayFormula(无字符数限制)
替换你原有的TEXTJOIN+SPLIT方案,用FLATTEN实现A列姓名重复两行的效果,稳定性更强且无字符数上限:
=ArrayFormula(FLATTEN(IF(A2:A="",,{A2:A;A2:A})))
将公式输入到B2单元格,即可自动覆盖整列:它会遍历A2:A的非空单元格,为每个姓名生成两行相同内容,再展平为单列。
替代原C列的ArrayFormula
基于上述B列的结果,用以下公式生成C列的“姓名 - Date”格式,支持整列自动更新:
=ArrayFormula(IF(B2:B="",,B2:B&" - Date"))
这里用&直接替代TEXTJOIN,逻辑更简洁,实现效果完全一致。
更优整合方案(直接生成最终C列,无需中间列)
如果不需要保留B列的中间结果,可以一步生成目标格式:每个姓名后紧跟一行“姓名 - Date”,公式如下:
=ArrayFormula(FLATTEN(IF(A2:A="",,{A2:A;A2:A&" - Date"})))
输入到C2单元格后,会自动为A列每个非空姓名生成两行结果:第一行是原姓名,第二行是“姓名 - Date”,高效匹配需求。
内容的提问来源于stack exchange,提问作者Alec Aiken
相关产品推荐
相关产品推荐

