如何用ArrayFormula实现Google Sheets批量Transpose+Filter计算?
解决方案
实现批量自动横向溢出的公式
直接在C2单元格输入以下公式,替换原来的手动复制公式:
=BYROW(A2:A, LAMBDA(val, IF(val="",, TRANSPOSE(FILTER(B:B, A:A=val)))))
公式说明
BYROW(A2:A, LAMBDA(val, ...)):遍历A2:A的每一行单元格,将当前行的A列值赋值给valIF(val="",, ...):跳过A列为空的行,避免生成无效结果TRANSPOSE(FILTER(B:B, A:A=val)):和你原公式逻辑完全一致,筛选出A列等于当前val的B列内容,并转置为横向排列
新增行时,只要在A列填入内容,C列及右侧单元格会自动生成对应结果,无需手动复制公式。
可选:将结果合并到单个单元格(带分隔符)
如果不需要横向溢出,希望在C列每个单元格内显示所有匹配值(用逗号分隔),可以使用以下公式:
=BYROW(A2:A, LAMBDA(val, IF(val="",, TEXTJOIN(", ", TRUE, FILTER(B:B, A:A=val)))))
内容的提问来源于stack exchange,提问作者Kenan Thompson
相关产品推荐
相关产品推荐

