Google Sheets:如何用Concatenate+Filter生成指定格式合并列表
Google Sheets 多行数据合并为指定格式的单元格内容
你可以通过TEXTJOIN + BYROW/MAP + FILTER的组合公式实现需求,替代原来的Concatenate(它仅支持单值拼接,无法批量处理多行过滤结果)。
推荐公式(二选一即可)
公式1:使用BYROW
=TEXTJOIN(CHAR(10), TRUE, BYROW(FILTER(A2:C, D2:D="Ordered"), LAMBDA(row, INDEX(row,1)&" "&INDEX(row,2)&" x "&INDEX(row,3))))
公式2:使用MAP(更直观)
=TEXTJOIN(CHAR(10), TRUE, MAP(FILTER(A2:A, D2:D="Ordered"), FILTER(B2:B, D2:D="Ordered"), FILTER(C2:C, D2:D="Ordered"), LAMBDA(sku, desc, qty, sku&" "&desc&" x "&qty)))
公式说明
- FILTER部分:替换
D2:D="Ordered"为你实际的过滤条件(和你原F1单元格的筛选逻辑保持一致即可),用于筛选出需要合并的SKU、描述、数量数据。 - BYROW/MAP部分:将每一行的三个字段按
SKU 描述 x 数量的格式拼接成单个字符串。 - TEXTJOIN部分:用换行符(
CHAR(10))将所有拼接好的字符串合并到一个单元格,TRUE参数表示自动忽略空值。
显示设置
最后记得开启单元格的自动换行:右键目标单元格 → 格式 → 换行 → 勾选自动换行,这样合并后的多行内容才能正常显示。
内容的提问来源于stack exchange,提问作者Jay
相关产品推荐
相关产品推荐

