如何适配动态数组H1#实现基于FILTER的文本单元格批量合并?
动态数组下基于多条件合并文本的解决方案
要实现针对动态数组H1#的批量文本合并,核心是用BYROW函数遍历H1#中的每个条件值,对每个值单独执行筛选和文本拼接操作,最终返回动态数组结果。
英文版公式
=BYROW(H1#, LAMBDA(x, TEXTJOIN("/", TRUE, CHOOSECOLS(FILTER(B1#, TAKE(B1#,,1)=x), 2))))
法语版公式
=PARLIGNE(H1#; LAMBDA(x; JOINDRE.TEXTE("/"; VRAI; CHOISIRCOLS(FILTRE(B1#; PRENDRE(B1#;;1)=x); 2))))
原理说明
BYROW(法语为PARLIGNE)会遍历H1#的每一行,将当前行的值传递给自定义的LAMBDA函数参数x- 针对每个
x,执行原有的筛选逻辑:用FILTER匹配B1#中第一列等于x的行,再用CHOOSECOLS提取第二列内容 - 最后用
TEXTJOIN(法语为JOINDRE.TEXTE)将提取到的文本用/拼接,忽略空值
这样公式就能生成与H1#行数完全匹配的动态数组结果,无需逐个单元格手动输入公式。
内容的提问来源于stack exchange,提问作者MonkeyJLuffy
相关产品推荐
相关产品推荐

