计算日期范围(月)内的负值

计算日期范围(月)内的负值

我在这样的表中有值

Date    Values
01/01    5:35
02/01   -7:08
02/01    3:45
15/01   -4:05
02/02    3:25
13/02    4:25
19/02    6:20

我想按月计算有多少个“值”是负数(即包含“-”字符)。我尝试了几种方法,但都没有成功。假设“日期”列中的值是真实日期,这样我就可以使用 month() 之类的函数。“值”列中的值是文本(即以 ' 开头),因为我无法让 Excel 正确处理负数时间。

=SUMPRODUCT(--(A2:A9999<>""),--(MONTH(A2:A9999)=1),IF("-*",B2:B9999))

我希望这样如何对特定时间和日期范围内的值求和?会有所帮助,但我无法使其适应我的情况。

谢谢您的建议。

答案1

与 = 进行比较时不能使用通配符,因此您需要在 SUMPRODUCT 公式中使用 LEFT 函数,如下所示

=SUMPRODUCT(--(A2:A9999<>""),--(MONTH(A2:A9999)=1),--(LEFT(B2:B9999)="-"))

这将计算任何一年的一月日期

在 Excel 2007 中,使用 COUNTIFS 可能会更容易,假设您在 D2 中计算月份的开始日期(例如 1/1/2012),然后仅对 2012 年 1 月使用此公式

=COUNTIFS(A:A,">="&D2,A:A,"<="&EOMONTH(D2,0),B:B,"-*")

答案2

计算负值您可以使用=COUNTIF(A1,"-*")

算作具体月份 =IF(MONTH(B1)=1,COUNTIF(A1,"-*"),0)month=1这将为(一月)的任何负值添加 1。您可以更改month = value月份,当您将其向下拖动时,您将获得一列 1 和 0 column C(辅助列)

在帮助列的末尾,你=sum(C:C)可以计算给定月份的负值数量

如果你想计算负值的总和=SUMIF(C:C,"=1",A:A)

基本上,我们的做法是使用辅助列。如果您不想看到,column C您可以隐藏此列并在 中的某个位置=sumif执行操作=ifColumn D辅助列以显示。

编辑

将其更改countif为计数,如果它包含减号,则为 <0 不适用于非数字 - 应该可以

相关内容