【问题标题】:Calculate number of rows with current month & year in Google Sheets or Excel在 Google 表格或 Excel 中计算当前月份和年份的行数
【发布时间】:2015-05-12 10:53:57
【问题描述】:

我有一行以 MM/dd/yyyy 格式填充日期(带有标题行),例如:

DATES
5/12/2015
4/12/2012
5/7/2015
5/7/2014

我想计算与当前月份和年份匹配的行数。在上面的示例中,结果显然是 2(2015 年 5 月)。

是否可以使用函数来实现此结果?最好使用 Google 电子表格,但 Excel 也可以。

【问题讨论】:

  • 是的,这是可能的,但我更喜欢宏。

标签: excel google-sheets excel-formula


【解决方案1】:

A1A20

中的数据
=SUMPRODUCT((MONTH(A1:A20)=MONTH(TODAY()))*(YEAR(A1:A20)=YEAR(TODAY())))

【讨论】:

  • 谢谢,非常聪明!我忘了添加标题行,但这不是您的答案的问题。
  • 理想情况下,这可以缩短为=SUMPRODUCT(--(EOMONTH(A1:A4)=EOMONTH(TODAY())))。但是,EOMONTH 不支持像 MONTH 这样的范围。您是否知道显示哪些 Excel 函数支持SUMPRODUCT 中的范围的在线参考资料?如果没有,我可能会将其作为问题发布。
  • @RickHitchcock 在 Excel 2007 和更高版本中,EOMONTHWEEKNUMNETWORKDAYS 等函数(前 ATP 函数)支持 数组,但不支持范围,但您可以使用“co-ercer”将范围转换为数组,这样可以:=SUMPRODUCT(--(EOMONTH(A1:A4+0,0)=EOMONTH(TODAY(),0))) - 其中 +0 是要转换为数组的“co-ercer”
  • @barryhoudini,太完美了。我正在准备这个问题作为一个新帖子,我认为你的回答对很多人都有用。如果我发布问题,您会回答它以便我接受吗?
  • 没问题 - 注意这里限制的不是 SUMPRODUCT,只是函数本身
【解决方案2】:

你可以像这样使用COUNTIFS

=COUNTIFS(A:A,">="&EOMONTH(TODAY(),-1)+1,A:A,"<"&EOMONTH(TODAY(),0)+1)

这在 Excel 或 google 表格中同样适用,适用于整个列,并且会忽略标题行

【讨论】:

    【解决方案3】:

    您可以在 Google 表格中使用

    =COUNT(FILTER(A:A,MONTH(A:A) = MONTH(TODAY()),YEAR(A:A)=YEAR(TODAY())))
    

    A:A 是包含您的日期的列

    【讨论】:

    • 谢谢!我忘记了标题行,有没有办法说“A列中除标题行之外的所有其他行”而不使用固定行号?
    • 你也可以使用标题行,这个功能仍然可以正常工作。
    猜你喜欢
    • 2015-07-24
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    • 2019-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多