为什么我的电子表格无法识别重复的日期/时间?

时间:2019-06-03 14:01:30

标签: excel

我正在尝试找出重复的日期/时间,直到第二个。我有一个交易列表,第N列在一个框中同时显示了日期/时间。

我同时使用了公式和条件格式来尝试识别重复项。两种方法都可以识别一些重复项。两种方法都标识相同的重复项。但是我可以从视觉上看到丢失了很多重复项。

这是我正在比较以查找重复项的单元格的一个示例;

批准日期
19/4/15 12:03

19/4/30 8:17

19/4/4 14:19

19年4月5日11:07

19年4月10日9:39

19/4/12 9:00

19/4/12 9:00

19/4/12 9:00

19/4/12 9:00

19/4/12 9:00复制了

19/4/12 9:00

19/4/12 9:00

19/4/12 9:00

19/4/12 9:00

19/4/12 9:00复制了

4/22/19 9:00已重复

4/22/19 9:00

4/22/19 9:00

4/22/19 9:00已重复

4/22/19 9:00

4/22/19 9:00已重复

4/22/19 9:00

4/22/19 9:00已重复

19/4/24 15:16复制

4/25/19 9:00

4/25/19 9:00

4/30/19 9:00

4/30/19 9:00已重复

此列表的明显答案是秒数不同,这就是为什么有些标记为不重复的原因。因此,我将格式更改为以下格式,并且仍然可以直观地看到不被视为重复项的重复项;

批准日期
1045692:03:50

1046048:17:24

1045430:19:18

1045451:07:01

1045569:39:52

1045617:00:08

1045617:00:09

1045617:00:08

1045617:00:06

1045617:00:07复制了

1045617:00:06

1045617:00:09

1045617:00:08

1045617:00:08

1045617:00:07复制了

1045857:00:08复制了

1045857:00:08

1045857:00:08

1045857:00:08复制了

1045857:00:08

1045857:00:08复制了

1045857:00:08

1045857:00:08复制了

1045911:16:35复制了

1045929:00:10

1045929:00:10

1046049:00:22

1046049:00:23复制了

到目前为止我尝试过的公式是;

 =IF(COUNTIF(N$2:N$50000,N22)>1,"Duplicated","")

我需要在此电子表格中找到所有重复的日期/时间条目,以便我可以审计在同一时间发生的项目,直到第二次为止。

1 个答案:

答案 0 :(得分:1)

您可以使用两个条件将公式更改为COUNTIFS,以便仅捕获正确的小时/分钟范围:

function changeTriggers() { var triggers = ScriptApp.getProjectTriggers(); //get project's triggers; var props = PropertiesService.getScriptProperties(); //get script properties store; var triggerIds = props.getProperty('triggerIds'); //get arbitrary property to set Ids to; //if ids are not empty, split into Array of Ids, else set up empty Array; if(triggerIds!==null) { triggerIds = triggerIds.split(','); }else { triggerIds = []; } //loop over triggers and delete saved; triggerIds.forEach(function(id){ triggers.forEach(function(trigger){ if(trigger.getUniqueId() == id) { ScriptApp.deleteTrigger(trigger); } }); }); var today = new Date(); //current date; var start = today.getHours(); //current hour; var stop = start+3; //hour to stop (sets N triggers); //create hourly trigger for each hour; var newId = ''; for(var h = start; h < stop; h++) { var trg = ScriptApp.newTrigger('doSomething').timeBased(); //make trigger fire once at specific date and hour; today.setHours(h); today.setMinutes(0); var created = trg.at(today).create(); newId += ','+created.getUniqueId(); //get new trigger Id; } props.setProperty('triggerIds', newId); //set trigger property; }

这是将日期/时间值乘以24和60将其转换为分钟,然后将其四舍五入。之后,再次将其乘以24和60即可获得实际的日期/时间值以进行比较。对于上限,我添加了1.。