计算现有 table 中重复出现的次数

Count repeating occurrences in existing table

我有大约 15 个项目,我想计算它在一系列时间内重复了多少次。这在那个时间段由 1 突出显示。如图,蓝色区域是数据,黄色区域是我想要得到的结果。

例如在第 5 次中,这会重复当前记录 - 1 三次,当前记录 - 2 两次等。我也不想按照观察项 14 对当前周数项进行两次计数。黄色的结果是手动计算的,唯一的选择是根据我的知识做单独的 IF 语句...

示例

是否有自动执行此操作的公式?我曾尝试使用数组和匹配项来检查重复项,但无法解决。

澄清更新:在当前事件 5 - Obs 1、6 和 15 出现在 Occurrence 4 中(重复当前 -1 或 Occurrence 4 - 三遍),Obs 5 和 8 在第 3 次出现(重复当前 -2 或第 4 次 - 两次)。 (发生只是时间点。观察可能是人们被观察到做某事 - 次数无关紧要,它只是一个真或假的结果)

观察第 4 次、第 6 次和第 9 次(重复当前 -3)或第 1 次两次(不好意思,我只指定了 1 次,这可能会造成混淆)。

我希望公式在找到下一个最近的事件后停止搜索先前出现的事件,例如,一旦在事件 2 中找到重复,事件 3 中的 Obs 14 应该停止搜索。

您可以使用中间计算单元格,如果您愿意,可以稍后隐藏。

在观察和重复之间插入 15 列(每次观察 1 列)。

在第一个插入的单元格中为单个重复观察创建一个公式:

=AND(ISNUMBER(B3),B3=B4)

即要算作重复,观察值必须是一个数字,并且与其正下方的单元格相同。

水平复制此公式,以便计算所有 15 个观测值。

然后在右边创建一个公式来计算匹配的观察值

=COUNTIF(R3:AF3,TRUE)

现在复制所有出现的公式。

对于 current-2,您可以引用正下方和左侧的单元格,并上下复制它。

为清楚起见,我省略了您最后的要求,即在找到匹配项后停止搜索。为此,您需要扩展中间公式以将其考虑在内。

为了扩展爱德华的回答,我使用了以下公式作为中间公式:

=IF(AND(ISNUMBER(C7);C7=C8;C8=C9;C9=C10);"-3";IF(AND(ISNUMBER(C7);C7=C8;C8=C9);"-2";IF(AND(ISNUMBER(C7);C7=C8);"-1";"")))

然后用Countif(R3:AF3;"-3")统计-3的个数。

通过从 -3 处开始 If 约束并返回,公式会在找到最后一个匹配项时自动停止。