【发布时间】:2013-11-17 05:18:47
【问题描述】:
如果您查看上面的示例,我正在尝试计算客户重复购买的次数。每行是一个已购买的项目,交易中可能有多个项目,因此一个交易有多个行 (trxn #)。如果他们有多个独特的交易,我只希望他们被计为回头客,并且我希望最后一行记录他们成为回头客的次数。电子表格按交易日期排序,并且交易中的项目始终按顺序分组,如前 2 行所示,它们是同一交易中的两个项目。
【问题讨论】:
标签: excel excel-formula
如果您查看上面的示例,我正在尝试计算客户重复购买的次数。每行是一个已购买的项目,交易中可能有多个项目,因此一个交易有多个行 (trxn #)。如果他们有多个独特的交易,我只希望他们被计为回头客,并且我希望最后一行记录他们成为回头客的次数。电子表格按交易日期排序,并且交易中的项目始终按顺序分组,如前 2 行所示,它们是同一交易中的两个项目。
【问题讨论】:
标签: excel excel-formula
也许是这样的?
=IF(COUNTIF($I$2:I2,I2)=1,1,IF(COUNTIFS($I$2:I2,I2,$H$2:H2,H2)>1,OFFSET($I$2,MATCH(H2&I2,$H$2:H2&$I$2:I2,0)-1,1),MAX(IF($I1:I$2=I2,$J1:J$2))+1))
不确定它是否可以缩短,但这在我的测试工作表上有效。
COUNTIF($I$2:I2,I2)=1 只是检查它是否是公式第一次看到名称。
COUNTIFS($I$2:I2,I2,$H$2:H2,H2)>1 通过使用日期来识别交易中是否有多个项目。
如果在同一日期购买了多件商品,则OFFSET($I$2,MATCH(H2&I2,$H$2:H2&$I$2:I2,0)-1,1) 获取在同一交易中购买的上一件商品的计数。
否则,如果它是该交易中购买的第一件商品,MAX(IF($I1:I$2=I2,$J1:J$2))+1 会查找上一笔交易的当前计数并添加一个。
这是一个数组公式,您需要按 Ctrl+Shift+Enter 才能正常工作。
【讨论】:
您可以使用数据透视表完成此操作,但您可能更喜欢公式选项。
只需使用Vlookup 公式来查找每个客户端的实例数:
=Vlookup(B2,F:G,2,FALSE)
枢轴是这样设置的:
【讨论】: