我有大约15个项目,我想数一数,它在一系列时间内重复了多少次。在这段时间内,1点突出显示了这一点。如附图所示,蓝色区域是数据,黄色是我希望得到的结果。
例如,在事件5中,这重复当前记录--1次3次,当前记录2次-2次等等。我也不想按照观察项目14计算当前的wekks项目两次。黄色的结果是手动计算的,唯一的选择是根据我的知识做个别的如果声明.
示例
有自动完成此操作的公式吗?我尝试过使用数组和匹配项来检查重复,但无法计算出来。
更新澄清:当前发生5- Obs 1、6和15的出现在事件4(重复当前-1或发生4-3次),Obs 5和8出现在事件3(重复当前-2或发生4-2次)。(事件只是时间点。观察可能是被观察到做某事的人--次数是不相关的,这只是一个真实或错误的结果)
看看事件4,Obs 6和9(重复当前-3)或出现1次2次(我的错误我只指定了1次,可能会引起混淆)。
我希望公式停止搜索先前的事件,一旦发现了下一个最近的事件,例如在事件3中的Obs 14,应该停止寻找一旦它在事件2中发现一个重复。
发布于 2019-02-26 17:02:09
您可以使用中间计算单元格,如果您愿意,可以稍后隐藏这些单元格。
在观察和重复之间插入15列(每次观察1列)。
在第一个插入的单元格中,为个人重复观察创建一个公式:
=AND(ISNUMBER(B3),B3=B4)
也就是说,要计算为重复,观察必须是一个数字,并与其下面的细胞相同。
水平复制这个公式,这样它就能计算出所有15个观测结果。
然后在右边创建一个公式来计算匹配的观测值。
=COUNTIF(R3:AF3,TRUE)
现在,将所有事件的公式复制下来。
对于当前-2,您可以直接引用单元格的下方和左边,并复制这个跨和向下。
为了清晰起见,我忽略了您的最后一个要求,即一旦找到匹配,就停止搜索。要做到这一点,您需要扩展中间公式以考虑到这一点。
发布于 2019-02-27 14:10:01
为了扩展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约束并返回工作方式,在找到最后一次匹配时,公式会自动停止。
https://stackoverflow.com/questions/54862063
复制相似问题