我有一个交易表,其中包含每个客户 ID 和购买的产品。一个客户可以购买多种产品,这些产品可以是独立产品或附加产品。
现在,我正在尝试创建一个交叉销售表来查看哪些附加组件与哪些产品最常见,但无法弄清楚如何计算不同行中匹配的多个条件(客户端 ID、产品和附加组件)。
日期表如下所示:
clientid product ... ...
10 prod 1 ...
11 prod 2
13 prod 1
10 addon 1
... ...
我想要得到的输出是:
x addon 1 addon 2 addon 3 ....
prod 1 # # #
prod 2
prod 3
...
因此,使用示例数据表,交叉销售表将在产品 1 与附加产品 1 处计数 1(由于 clientid = 10 购买了两种产品)
我遇到的问题是,当同一客户 ID 在两行或更多行(购买的产品和附加组件)中符合条件时进行计数。数据表有近 30 万个条目,因此我无法手动进行计算。
有谁知道我该怎么做?
非常感谢你的帮助!
答案1
我会分两步完成此操作。
- 表 A:选择您的数据
"insert->Pivot Table"
。将客户 ID 放在行字段中,并将“产品”放在列和值字段中。
现在您有一张表格,其中每行都包含唯一的客户,以及每个客户购买的产品和附加组件。
- 表 B 现在制作第二个表,行中为产品名称,列中为插件名称。要填充表格,请使用 sumproduct() 将产品 n 的列与插件 i 的列相乘。
不幸的是,我想不出一个好方法来自动选择表 A 中的哪些列,表 B 中的公式应该查看这些列。如果表 A 包含所有产品,后面跟着所有附加组件,您可以手动选择表 B 第一列的每一行中的每个产品,然后拖动以让其自动填充表 A 中正确的附加组件列。数据透视表的列应按字母顺序排序,因此这可能会起作用,具体取决于您的产品和附加组件的命名方式。您仍然必须手动选择所有产品列。