0

我试图在这些休息时间报告“经过的秒数”:少于 15 分钟、15 到 19 分钟、20 到 24 分钟、25 到 29 分钟、30 到 45 分钟、45 到 60 分钟以及 60 分钟或更多.

我有一个显示经过的秒数的字段,我可以使用以下公式获得我想要的休息时间 - 总计 -

=SUMPRODUCT((ABS(TestTable!$AF$2:$AF$50)>=0)*(ABS(TestTable!$AF$2:$AF$)<=899))

(其中“TestTable”是数据所在的工作表,Col AF 是存储经过的秒数的地方)。问题?

我需要通过另一个字段来减少每个细分。'TestTable' 中还有一个包含 PRODx 或 PRODz 的字段(它是 Col H)。

所以我需要说“如果 Col H = PRODx,那么计算有多少条记录小于 15 分钟并将其放在某个单元格中 ---THEN--- 如果 Col H = PRODz 然后计算有多少条记录小于 15 min 并将结果放在不同的单元格中”。

有谁知道写这个的方法吗?

4

2 回答 2

1

如果你有 excel 2007 或更高版本,COUNTIFS应该适合你。
=COUNIFS(H:H,AF:AF,"<900",H:H,"PRODx")少于 15 分钟,PRODx
=COUNIFS(H:H,AF:AF,"<900",H:H,"PRODz")少于 15 分钟,然后 PRODz
为您扩展选择范围
=COUNIFS(H:H,AF:AF,">=900",AF:AF,"<1200",H:H,"PRODx")为 15-19 分钟,PRODx
=COUNIFS(H:H,AF:AF,">=900",AF:AF,"<1200",H:H,"PRODz")为 15-19 分钟,以及 PRODz

在您需要的所有时间/产品范围内重复此操作

于 2012-06-19T15:58:43.180 回答
0

在单元格 A1 中,键入:

=COUNT(IF(H:H="PRODx",IF(AF:AF="Less Than 15 Seconds",M1:M5)))
M is just another random column

在单元格 A2 中,键入相同内容,但将 PRODx 更改为 PRODz。

确保将所有公式作为数组公式输入,键入后按 CTRL + SHIFT + ENTER,而不是直接输入。

有关更多信息,请参阅此链接:Count If With Multiple Criteria

编辑

如果您必须有 VBA 解决方案,请告诉我。否则,您不需要 VBA。此外,如果您运行的是 Excel 2007 或更高版本,则可以使用 CountIfs 函数,它比上面的 Array 公式更简洁且资源消耗更少。

于 2012-06-19T14:42:25.293 回答