比较特定日期中最常出现的两个excel列

时间:2016-04-29 07:07:44

标签: excel excel-formula frequency-analysis

我想比较一下几列,2015年最受欢迎的5大产品

我有这种数据流可以使用:

Client | Product | Date of buy
------------------------------
client1 | A | 15.06.2015
client3 | A | 04.12.2015
client5 | F | 15.06.2015
client9 | G | 15.01.2015
client2 | G | 15.01.2015
client1 | R | 05.07.2015
client3 | G | 15.06.2015
client1 | F | 05.07.2015
client3 | F | 15.06.2016

结果 - 客户购买的产品(同一日期)最多的产品社区是哪些产品。 E.g ..

 1. Product A + Product H 222 times
 2. Product A + Product E 77 times
 3. Product B + Product O 70 times
 4. etc
 5. ...

格尔茨,

1 个答案:

答案 0 :(得分:0)

做出假设:

  1. 您可以使用帮助列。
  2. 上面的列是A,B和C.
  3. 您有两个标题行,数据从第3行开始。
  4. 您的日期以excel日期格式存储,而不是字符串值。
  5. 在E2中,我使用以下公式生成了一系列独特的产品:

    =INDEX($B$3:$B$11,MATCH(0,INDEX(COUNTIF($E$2:E2,$B$3:$B$11),0,0),0))
    

    我将其复制下来以匹配初始列表中的行数。当列出列表中的所有唯一项目时,它开始吐出#N / A.如果你想避免这种情况,可以将公式放在:

    =IFERROR(insert formula,"")
    

    现在在F栏中,我根据您对每个项目的标准以及2015年内的计数进行了计数。如果函数名为COUNTIFS,我会使用多次计数:

    =COUNTIFS($C$3:$C$11,"<"&DATE(2016,1,1),
              $C$3:$C$11,">"&DATE(2014,12,31),
              $B$3:$B$11,E3)
    

    我刚重新格式化,以便于阅读。如果要复制和粘贴,则必须稍微编辑。如果您不喜欢在相邻列中没有产品时看到0,则可以将等式包装在:

    =IF(E3="","",  insert formula  )
    

    然后我跳过一个列并将计数项目列表从最大到最小排序,然后按顺序返回数字。我只下了两排,但你可以在技术上完成整个列表。大函数执行此操作,H3中的公式如下所示:

    =LARGE($F$3:$F$11,ROWS($1:1))
    

    然后我返回1列并输入与计数对应的产品名称,然后在产品具有相同计数时在列表中使用下一个名称。当我读到时,我把它放在F列中,我想先读取产品名称,然后读取数量。如果你想要它反过来只是交换列。 G1中的公式为:

    =INDEX($E$3:$E$11,MATCH(H3,$F$3:$F$11,0)+COUNTIF($H$3:$H3,H3)-1)
    

    根据需要将E3和F3复制下来。将G3和H3复制一行,您将获得前两名。两行,你有前三名等。

    它的外观......日期根据我的电脑日期格式显示。

    Results