A栏“销售日期”,B栏“= A2-A1”表示“日期差异”,C栏“客户名称”,D栏“项目”,E栏“项目有序计数”
我的问题是,我必须为每位客户执行30天的总计运行,以确保在任何30天内没有订购超过“x”数字的特定商品。
有没有人有任何想法?
答案 0 :(得分:0)
我可能不完全理解你的问题,但我认为你不能在excel中做你所要求的。这可能是一个可以执行SQL的数据库可能派上用场的情况。
我能在excel中得到的最好的是一个数据透视表,其中客户为行,日期为列(逐月),以及数据区中订购的项目总和。然后条件格式化数据区域以突出显示值>你的极限。
也许如果你提供一些样本数据&输出我可以提出更像你需要的东西。
答案 1 :(得分:0)
公式看起来像这样:
{=SUM(IF((A$2:A2>=A2-29)*(D$2:D2=D2),E$2:E2,0))}
应将其输入到单元格F2中并向下复制到数据的最后一行。我粘贴在下面的测试电子表格中,这样您就可以看到事情的进展(抱歉格式化 - 希望如果将其粘贴到Excel中会更好看。)
重要提示:这是一个数组公式,因此在您键入公式后(并且不要键入大括号{}时),您必须按Ctrl-Shift-Enter键只需输入(有关详细信息,请参阅this link。)
配方有什么作用?它做了两个循环:
对于两个检查为真的任何行(公式中的“*”执行“和”操作),将项目有序计数添加到总和中,否则将零添加到总和中。因此,当它完成后,您可以计算该项目过去30天内每行订单数量。
HTH,
-Dan
Sales Dates Date Diff Customer Name Item Items Ordered Count 30-Day Count
1/1/2009 0 dfsadf 11336 70 70
1/2/2009 1 asdfd 10218 121 121
1/3/2009 1 fsdfjkfl 10942 101 101
1/6/2009 3 slkdjflsk 13710 80 80
1/7/2009 1 slkdjls 10480 127 127
1/9/2009 2 sdjjf 11336 143 213
1/11/2009 2 woieuriwe 11501 84 84
1/14/2009 3 owqieyurtn 10191 78 78
1/15/2009 1 weisd 10480 113 240
1/16/2009 1 woieuriwe 12024 133 133
1/17/2009 1 vkcjl 13818 125 125
1/20/2009 3 sdflkj 11336 128 341
1/23/2009 3 jnbkdl 10480 141 381
1/25/2009 2 pqcvnlz 10480 137 518
1/27/2009 2 hwodkjgfh 12878 80 80
1/28/2009 1 zjdnfg;pwlkd 10942 123 224
1/31/2009 3 zlkdjnf;psod 13173 93 93
2/2/2009 2 zlknpdodfg 11336 119 390
2/4/2009 2 zjhdfpwskjh 12004 57 57
2/5/2009 1 asdfd 10218 121 121
2/8/2009 3 fsdfjkfl 10942 101 224
2/11/2009 3 slkdjflsk 13710 80 80
2/14/2009 3 slkdjls 10480 127 405
2/16/2009 2 sdjjf 11336 143 390
2/18/2009 2 woieuriwe 11501 84 84
2/21/2009 3 owqieyurtn 10191 78 78
2/24/2009 3 weisd 10480 113 240
2/25/2009 1 woieuriwe 12024 133 133
2/27/2009 2 vkcjl 13818 125 125
2/28/2009 1 sdflkj 11336 128 390