如何编写 Excel 公式来检查事件 B 发生后 24 小时内发生的事件 A

如何编写 Excel 公式来检查事件 B 发生后 24 小时内发生的事件 A

我正在尝试找出一种方法来计算以下内容:

我有表 1,其中包含以下列:

  1. 一份名单,
  2. 每个人经历事件 A 的时间。
姓名 事件A_时间
约翰 2021/4/13 13:00
标记 2021/4/13 16:00
约翰 2021/5/16 14:00

在表 2 中,我有

  1. 姓名列表(部分见表 2)
  2. 每个人经历事件 B 的时间。
姓名 事件B_时间
约翰 2021/4/13 17:00
大卫 2021/4/13 16:00
约翰 2021/5/17 12:00

我想确定在事件 A 发生后的 24 小时内经历了事件 B 的人(即出现在两个表中并且事件 B 在事件 A 发生后的 24 小时内发生)

我做了什么:

  1. 在表 1 中,创建一个 EventA_time+24 小时的列,这将创建参考范围
姓名 事件A_时间 EventA_time + 24 小时
约翰 2021/4/13 13:00 2021/4/14 13:00
标记 2021/4/13 16:00 2021/4/14 16:00
约翰 2021/5/16 14:00 2021/5/17 14:00
  1. 使用基于 NAME 的 VLOOKUP 识别出现在表 2 中的人员,并将 EventB_time 拉到表 1
姓名 事件A_时间 EventA_time + 24 小时 事件B_时间
约翰 2021/4/13 13:00 2021/4/14 13:00 2021/4/13 17:00
标记 2021/4/13 16:00 2021/4/14 16:00 不适用
约翰 2021/5/16 14:00 2021/5/17 14:00 2021/4/13 17:00

然后我可以检查 EventB_Time 是否发生在 EventA_Time 和 EventA_time + 24 小时范围内。

然而,明显的问题是,这只适用于表 2 中第一次出现的名字。如果该人经历了两次事件 B,它就不起作用了——就像它对表 2 中 John 的第二次条目不起作用一样

关于如何解决这个问题有什么想法吗?

答案1

如果您有 Excel 365,请在 H10 上尝试以下公式:

=FILTER($B$10:$B$12,INT(($F10=$B$2:$B$4) * ($G10>=$B$10:$B$12) * ($A$10:$A$12=$E10)),"")

将其向下拖动以填充其他单元格。将公式调整到您的表格。该公式还假设在 EventA 之后的 24 小时内没有同名的多个 EventB。

结果

相关内容