Excel:根据时间条件删除重复项
我希望根据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次,数据可能会跨越几年 我有办法做到这一点吗?如果能得到一些帮助就太好了,因为这让我发疯了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日,
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