Google Sheets使用SUBSTITUTE替换后如何让相同名称结果连续排列
解决方案
核心逻辑
原公式的数组按年份维度堆叠,每一组是同一年份下所有B列值的替换结果,因此输出会按年份交替展示不同名称。调整数组构造逻辑,改为按B列原始顺序遍历每个名称,每个名称先完成所有年份的替换后再处理下一个名称,即可实现相同原名称的结果连续排列,无需依赖排序。
最终公式
=IFERROR(UNIQUE(QUERY(REDUCE(,TOROW(B:B,1),LAMBDA(acc,cur,{acc;ARRAYFORMULA(SUBSTITUTE(cur,"/@@@@/",FILTER(A:A,A:A<>"")))}))),"Where Col1 <>''")),"/teste/clean/save/")
公式说明
TOROW(B:B,1):提取B列所有非空的原始名称,保留原有顺序REDUCE遍历每个原始名称,对每个名称(cur):- 用
SUBSTITUTE替换占位符为A列所有非空年份,生成该名称对应的所有替换结果 - 追加到结果数组
acc中
- 用
- 后续
QUERY去空、UNIQUE去重、错误兜底逻辑和原公式完全一致 - 不需要使用
ORDER BY排序,严格遵循B列原始名称顺序分组,完全符合需求
内容的提问来源于stack exchange,提问作者Digital Farmer
相关产品推荐
相关产品推荐

