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

时间:2019-02-25 08:21:46

标签: arrays excel match repeat

我有15个项目,我希望计算一下它在一系列时间内重复的次数。在该时间段内以1突出显示。根据所附图片,蓝色区域是数据,黄色区域是我希望获得的结果。

例如在第5次出现时,这会重复当前记录-1次3次,当前记录-2次2次,依此类推。我也不想根据观察项14对当前wekks项进行两次计数。黄色的结果是手动计算的,唯一的选择是根据我的知识来做单个IF语句...

示例

enter image description here

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

更新以进行澄清::在当前发生5中-Obs 1、6和15出现在发生4中(重复了当前-1或出现4-3次),Obs 5和8出现了发生3(重复当前-2或发生4-两次)。 (发生只是时间点。观察可能是观察到某人在做某事-次数无关紧要,这只是对还是错的结果)

查看发生4,Obs 6和9(重复当前-3)或出现1两次(我的错,我只指定了1次,这可能引起混乱)。

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

2 个答案:

答案 0 :(得分:0)

您可以使用中间计算出的单元格,以后可以根据需要隐藏它们。

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

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

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

即要计为重复,观察值必须是一个数字并且与它下面的单元格相同。

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

然后在右侧创建一个公式以计算匹配的观测值

=COUNTIF(R3:AF3,TRUE)

现在将所有出现的公式向下复制一次。

对于current-2,您可以直接在下方和左侧引用该单元格,并在上下方向重复该单元格。

为清楚起见,我遗漏了您的最后一个需求网,一旦找到匹配项,便停止搜索。为此,您需要扩展中间公式以考虑到这一点。

Example calculation

答案 1 :(得分:0)

为扩展Edward的答案,我使用以下公式作为中间公式:

=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约束并返回原位,当找到最后一个匹配项时,公式自动停止。

相关问题