匹配时间范围内的重复项

问题描述 投票:0回答:1

尝试计算

Columns A & B
中每隔 2 分钟出现的重复值。我可以通过
=COUNTIFS(E:E,">="&A2,E:E,"<="&A3)
获取出现次数的计数,但如果这些值重复,则会出现匹配问题。原始数据在
Columns D & E

时间2m间隔 匹配数 数据输入 时间
8:30:00 上午 2 苹果123 8:30:00 上午
8:32:00 上午 2 苹果456 8:30:00 上午
8:34:00 上午 5 苹果789 8:30:00 上午
8:36:00 上午 2 苹果123 8:31:00 上午
8:38:00 上午 2 橙123 8:32:00 上午
8:40:00 上午 不适用 苹果789 8:33:00 上午
苹果789 8:34:00 上午
橙色456 8:34:00 上午
橙色456 8:35:00 上午
橙色456 8:35:00 上午
橙123 8:36:00 上午
橙123 8:36:00 上午
苹果789 8:37:00 上午
苹果123 8:38:00 上午
苹果123 8:39:00 上午
橙789 8:40:00 上午

arrays excel indexing match formula
1个回答
0
投票

如果我理解正确,那么可以使用以下公式,并且假设根据发布的标签没有 Excel 约束。


=LET(x, FILTER(D:D,(E:E>=A2)*(E:E<=TIME(,2,)+A2)), ROWS(x)-ROWS(UNIQUE(x,,1)))

或者,使用

MAP()
BYROW()

的一个动态数组公式
=MAP(A2:A7,LAMBDA(y, LET(x, FILTER(D:D,(E:E>=y)*(E:E<=TIME(,2,)+y)), ROWS(x)-ROWS(UNIQUE(x,,1)))))

此外,强烈建议并推荐在 Excel 中使用

Structured References
又名
Tables
对于源数据,因为动态数组公式不适用于表格,但提到的功能在与源数据一起使用时有助于公式),这使得它更容易阅读和理解公式,并且在从表中添加或删除时自动调整行或列。因此,使用
Tables
参考公式将是,


=LET(x, FILTER(Timetbl[Data In],(Timetbl[Time In]>=A2)*(Timetbl[Time In]<=TIME(,2,)+A2)), ROWS(x)-ROWS(UNIQUE(x,,1)))

或者,

=BYROW(A2:A7,LAMBDA(y, LET(x, 
 FILTER(Timetbl[Data In],(Timetbl[Time In]>=y)*
 (Timetbl[Time In]<=TIME(,2,)+y)), ROWS(x)-ROWS(UNIQUE(x,,1)))))

© www.soinside.com 2019 - 2024. All rights reserved.