Excel日期/产品计数到指定的限制

时间:2009-07-02 16:44:42

标签: excel

A栏“销售日期”,B栏“= A2-A1”表示“日期差异”,C栏“客户名称”,D栏“项目”,E栏“项目有序计数”

我的问题是,我必须为每位客户执行30天的总计运行,以确保在任何30天内没有订购超过“x”数字的特定商品。

有没有人有任何想法?

2 个答案:

答案 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。)

配方有什么作用?它做了两个循环:

  • 首先,它循环遍历从日志开头到当前行的所有销售日期,并检查每个日期是否在当前行的日期和29天之前(这使得30天的窗口)。 (“当前行”是指公式所在的行。)
  • 其次,它遍历从日志开头到当前行的所有Items,并检查是否与当前行的Item匹配。

对于两个检查为真的任何行(公式中的“*”执行“和”操作),将项目有序计数添加到总和中,否则将零添加到总和中。因此,当它完成后,您可以计算该项目过去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