Excel:根据时间条件删除重复项

Excel:根据时间条件删除重复项,excel,duplicates,Excel,Duplicates,我希望根据3个月的滚动时间条件从250000行excel表中删除重复项 我们有很多用户ID和他们访问的日期,但是这些访问中有很多是相隔很远的(有时超过一年),而且很多都在同一天/两天的时间段内 解释我想做什么的最好方法是举个例子。因此,如果他们第一次访问的日期是1月1日、1月1日、3月3日、2月8日、6月4日、6月5日、12月1日、12月1日、12月2日,我想知道第一个日期是1月1日、6月4日和12月1日 如果他们访问了1月1日、1月1日、1月3日、2月8日、4月9日,然后是8月1日、9月1日,

我希望根据3个月的滚动时间条件从250000行excel表中删除重复项

我们有很多用户ID和他们访问的日期,但是这些访问中有很多是相隔很远的(有时超过一年),而且很多都在同一天/两天的时间段内

解释我想做什么的最好方法是举个例子。因此,如果他们第一次访问的日期是1月1日、1月1日、3月3日、2月8日、6月4日、6月5日、12月1日、12月1日、12月2日,我想知道第一个日期是1月1日、6月4日和12月1日

如果他们访问了1月1日、1月1日、1月3日、2月8日、4月9日,然后是8月1日、9月1日,我希望访问1月1日和8月8日

因此,我们想知道第一个日期,然后看看他们在每次访问的3个月内访问的频率,如果他们离开超过3个月,那么就知道他们返回的第一个日期。有时,他们会在3个月后返回4或5次,数据可能会跨越几年

我有办法做到这一点吗?如果能得到一些帮助就太好了,因为这让我发疯了


Cheers

如果用户ID在A列,访问日期在B列,标题在第1行,然后是空行在第2行,数据从第3行开始,请尝试以下操作(解释如下):

数组公式版本:

  • 按VisitDate对行进行升序排序
  • 在B2中,输入1900年1月1日,这样它就不会匹配任何内容(但必须是日期)
  • 在C3中输入此数组公式(按control shift-enter键而不是仅按enter键):

    • =SUM((B$2:B2如果用户ID在A列,访问日期在B列,标题在第1行,然后是空行在第2行,数据从第3行开始,则尝试以下操作(解释如下):

      数组公式版本:

      • 按VisitDate对行进行升序排序
      • 在B2中,输入1900年1月1日,这样它就不会匹配任何内容(但必须是日期)
      • 在C3中输入此数组公式(按control shift-enter键而不是仅按enter键):

        • =SUM((B$2:b2)这是从一个可以编写SQL的数据库中产生的。感觉它更适合于RDBMS。在Excel中,一些VBA可以做到这一点。由于数据量大,公式可能比较粗糙,但您可以“标记”每个要用公式删除的记录,排序,然后删除…虽然很恶心。这是来自一个可以编写SQL的数据库。感觉它更适合RDBMS。在Excel中,一些VBA可以做到这一点。由于数据量大,公式可能很粗糙,但您可以“标记”每一条要用公式删除的记录,排序,然后删除…虽然很恶心。嗨,杰瑞·杰米亚。非常感谢你的回复!我想知道这是否必须按工作日期进行排序。不幸的是,我的工作电脑花了太长时间来做这件事,所以我一直在等待,直到我能在家自己做这件事,所以我还没有尝试。我知道这看起来很奇怪,但我想他也对你的思考过程感兴趣。当你第一次看到它的时候,你脑子里会闪过什么样的东西?我最初尝试了上面提到的很多东西,但并没有像你一样把它们组合在一起。干杯!@Han我添加了更多的东西。这有帮助吗?或者我应该试着解释更多一点吗?我只是尝试了一下我决定将唯一值和非唯一值分开,这减少了运行公式所需的时间。我决定不运行数组公式。我只剩下不到100000条记录,使用正常计数速度非常快。干杯,韩喜Jerry Jermiah。非常感谢您的回复!我想知道这是否必须按工作日期进行排序。不幸的是,我的工作电脑花了太长时间来完成这项工作,所以我正在等待,直到我可以在家自己完成这项工作,所以我还没有尝试。我知道这似乎很奇怪,但我也对您的思考过程感兴趣。当您第一次看到它时,你脑子里想的是什么?我最初尝试了上面提到的很多东西,但没有像你一样把它们组合在一起。干杯!@Han我添加了更多的东西。这有帮助吗?或者我应该试着解释一下吗?我刚刚试着按ID排序,然后按日期排序,效果很好!我非常感谢你的帮助,也非常感谢你你的解释。我决定将唯一值和非唯一值分开,这减少了运行公式所需的时间。我决定不运行数组公式。我只剩下不到100000条记录,使用正常计数非常快。干杯,韩
          
             |    A   |      B     |   C
          ---+--------+------------+--------
           1 | UserID |  VisitDate | Unique
           2 |        |  1/01/1900 | 
           3 | a      |  1/01/2017 | TRUE
           4 | a      |  1/01/2017 | FALSE
           5 | b      |  2/01/2017 | TRUE
           6 | b      |  2/01/2017 | FALSE
           7 | a      |  3/01/2017 | FALSE
           8 | c      |  3/01/2017 | TRUE
           9 | c      |  3/01/2017 | FALSE
          10 | b      |  4/01/2017 | FALSE
          11 | c      |  5/01/2017 | FALSE
          12 | a      |  8/02/2017 | FALSE
          13 | b      |  9/02/2017 | FALSE
          14 | c      | 10/02/2017 | FALSE
          15 | a      |  4/06/2017 | TRUE
          16 | a      |  5/06/2017 | FALSE
          17 | b      |  5/06/2017 | TRUE
          18 | b      |  6/06/2017 | FALSE
          19 | c      |  6/06/2017 | TRUE
          20 | c      |  7/06/2017 | FALSE
          21 | a      |  1/12/2017 | TRUE
          22 | a      |  1/12/2017 | FALSE
          23 | a      |  2/12/2017 | FALSE
          24 | b      |  2/12/2017 | TRUE
          25 | b      |  2/12/2017 | FALSE
          26 | b      |  3/12/2017 | FALSE
          27 | c      |  3/12/2017 | TRUE
          28 | c      |  3/12/2017 | FALSE
          29 | c      |  4/12/2017 | FALSE