如何让Pivot Table显示值而非汇总?多表关联报表制作求助
在Google Sheets实现客户+订单详情展开报表
前提假设
- 客户详情表:表名
客户详情,列结构为:A=客户名称,B=发货地址,C=发货联系人(即发货详情) - 订单详情表:表名
订单详情,列结构为:A=客户名称,B=订单号,C=订单金额,D=订单日期
方法1:生成完整明细行(无合并单元格)
- 新建一个工作表,在A1到F1依次输入表头:
客户名称、发货地址、发货联系人、订单号、订单金额、订单日期 - 在A2单元格输入以下公式,自动匹配所有订单对应的客户信息:
=ARRAYFORMULA(IFERROR(VLOOKUP(订单详情!A2:A, 客户详情!A:C, {1,2,3}, FALSE)))
- 在D2、E2、F2分别输入以下公式,引用订单详情:
=订单详情!B2:B
=订单详情!C2:C
=订单详情!D2:D
这样每一行订单都会对应完整的客户发货详情和订单信息,无汇总。
方法2:生成合并客户信息的报表(匹配参考图样式)
如果需要同一个客户的发货信息只显示一次,订单详情展开,按以下操作:
- 新建工作表,在A1输入以下公式,生成合并后的完整数据源:
=ARRAYFORMULA(QUERY({订单详情!A:A, VLOOKUP(LOWER(TRIM(订单详情!A:A)), {LOWER(TRIM(客户详情!A:A)), 客户详情!B:C}, {2,3}, FALSE), 订单详情!B:D}, "SELECT * WHERE Col1 IS NOT NULL"))
公式里的
LOWER和TRIM是为了处理客户名称的大小写、空格差异,避免匹配失败
- 自动生成表头后,选中
客户名称列,点击菜单栏「格式」→「合并单元格」→「合并重复项」 - 对
发货地址、发货联系人列重复上述合并操作,即可实现客户信息合并、订单详情逐行展示的效果。
排查匹配失败的情况
- 确认两个表的客户名称完全一致(无空格、大小写差异),可先用
TRIM(客户名称列)统一处理 - 若客户表有重复的客户名称,VLOOKUP会匹配第一个出现的记录,需确保客户表中每个客户唯一
内容的提问来源于stack exchange,提问作者Manav Agrawal
相关产品推荐
相关产品推荐

