我正在尝试报告"经过的秒数"在这些休息时间:小于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分钟的记录数并将其放入某个单元格---那么---如果Col H = PRODz则计算如何许多记录不到15分钟,并将结果放在不同的单元格中。
有人知道写这个的方法吗?
答案 0 :(得分: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
对所有需要的时间/ PROD范围重复此操作
答案 1 :(得分: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公式更清晰,资源更少。