如何用Excel公式按客户汇总采购商品至单个单元格?
客户采购商品汇总公式方案
你之前用TEXTJOIN搭配VLOOKUP失败,是因为VLOOKUP仅能返回第一个匹配的结果,无法批量提取同一客户的所有采购商品。以下是两种可行的Sheet2 B2单元格公式:
方法1:IF+TEXTJOIN数组公式
适用于所有Excel版本(旧版需按Ctrl+Shift+Enter确认)及Google Sheets:
=TEXTJOIN(", ", TRUE, IF(Sheet1!$A$2:$A$100=Sheet2!A2, Sheet1!$B$2:$B$100, ""))
- 替换
Sheet1!$A$2:$A$100为你实际的客户数据列范围 - 替换
Sheet1!$B$2:$B$100为对应的商品数据列范围 ", "是商品之间的分隔符,可根据需求修改(比如换行用CHAR(10))
方法2:FILTER+TEXTJOIN(更简洁)
适用于Excel 365/2021及Google Sheets(支持动态数组):
=TEXTJOIN(", ", TRUE, FILTER(Sheet1!$B$2:$B$100, Sheet1!$A$2:$A$100=Sheet2!A2))
FILTER函数会先筛选出当前客户的所有商品,再由TEXTJOIN拼接成单个单元格内容,逻辑更直观。
补充优化
如果需要汇总时自动去除重复商品,可在FILTER外层套UNIQUE函数:
=TEXTJOIN(", ", TRUE, UNIQUE(FILTER(Sheet1!$B$2:$B$100, Sheet1!$A$2:$A$100=Sheet2!A2)))
内容的提问来源于stack exchange,提问作者Caldas
相关产品推荐
相关产品推荐

