【发布时间】:2020-02-22 04:25:51
【问题描述】:
这是一个解决方案工作的示例表:
https://docs.google.com/spreadsheets/d/1Twc9i7D5rDvT_Q88thrwjV8E58Ja7c-ifdlCZDwu6Ok/edit?usp=sharing
我有一个 Google 表格,其中有来自 Google 表单的注册表,用于某种帮助台注册表。我正在尝试创建一个常规报告选项卡,用于统计当前月份的总数。
例如,我在计算有多少条目被归类为“开放”和“结束”
对于我拥有的全球“开放”注册表:
=COUNTA(QUERY(INDIRECT("Responses!$N2:$N"), "where not N contains 'Ended'", 0))
对于已关闭/已结束的注册表,我有:
=COUNTIF(INDIRECT("Responses!$N2:$N"),"Ended")
效果很好。 “B”列是一个时间戳,“N”列只是将状态列为“已结束”或其他内容。但是当我尝试按月计算时,它失败了。我正在尝试使用:
=COUNTA(QUERY(INDIRECT("Responses!$N2:$N"),
"where not N contains Finalizado'",
INDIRECT("Responses!$B2:$B"),
">"&EOMONTH(TODAY(),-1),INDIRECT("Responses!$B2:$B"),"
<="&EOMONTH(TODAY(),0))")")
谁能指出公式中的错误?
我也检查了这些,但仍然不知道错误的确切位置:(Google Sheets, increment cell by month) (Sum by month in Google Sheet) (Google Sheets =MONTH works but MONTH in QUERY does not) (Calculate number of rows with current month & year in Google Sheets or Excel)
【问题讨论】:
-
只是为了补充这一点,并基于@player0 的回答。要仅根据当前月份计算列中的非空白答案,代码为:
=COUNTIFS(INDIRECT("Responses!$B2:$B"),"<>",INDIRECT("Responses!$B2:$B"),">"&eomonth(Today(),-1),INDIRECT("Responses!$B2:$B"),"<="&eomonth(Today(),0)) -
另一个补充。对于排除(也就是计算所有不是东西的东西,比如当你想要“其他人”时),它不是空白的,到当前月份,你可以使用:
=COUNTIFS(INDIRECT("Responses!$G2:G"), "<>Doc", INDIRECT("Responses!$G2:G"), "<>Scaneres", INDIRECT("Responses!$G2:G"), "<>Software", INDIRECT("Responses!F2:F"),"<>" ,INDIRECT("Responses!$B2:$B"),">"&EOMONTH(TODAY(),-1),INDIRECT("Responses!$B2:$B"),"<="&EOMONTH(TODAY(),0))
标签: google-sheets google-sheets-formula counting countif google-sheets-query