你的公式是这样说的:
=AVERAGEIFS(E1:E4,A1:A4,"=today()-1",B1:B4,">16:00",C1:C4,"=today()",D1:D4,"<16:00")
取 E1:E4 的平均值,如果...
- A1:A4 等价于字符串“=today()-1”
- B1:B4 等价于字符串 ">16:00"
- C1:C4 等价于字符串“=today()”
- D1:D4 等价于字符串 ">16:00"
你想要它说的是:
取 E1:E4 的平均值,如果...
- A1:A4 等价于公式的结果
=today()-1
- B1:B4 少于 16 小时
- C1:C4 等价于公式的结果
=today()
- D1:D4 少于 16 小时
让我们先解决 2 和 4。
在 Excel 中,1 天(24 小时)= 1。时间以十进制值存储为一天的百分比:
1 天 = 1 1 天 = 24 小时 1 小时 = 1 / 24 16 小时 = 16/24 = 2/3
因此,B1:B4,">16:00"
您应该将公式重写为:
B1:B4,">"&2/3
&
连接大于号,2/3 将给出相当于 16:00 的十进制值。最后你会得到一个等于“>.6666666666”的字符串
B1:B4,">.6666666666666"
(如果你愿意,你也可以使用)
对于第 1 项和第 3 项,您根本不需要使用引号。A1:A4,"=today()-1"
因此,您可以使用以下命令代替:
A1:A4,today()-1
C1:C4,today()
将所有这些放在一起,以下公式应该有效:
=AVERAGEIFS(E1:E4,A1:A4,today()-1,B1:B4,">"&2/3,C1:C4,today(),D1:D4,"<"&2/3)