如何在Google Sheets中自动统计特定年份的表单提交数量?
解决Google Sheets自动统计Google Form年度提交量的方案
针对你遇到的日期带时间导致COUNTIF匹配失败的问题,这里有几个实用的自动统计方案,都能在新表单提交时同步更新:
方法1:用SUMPRODUCT+YEAR函数(最准确)
如果表单提交的日期列(假设为A列)是标准日期格式(即使显示带时间,本质是日期值),直接用这个公式统计指定年份的提交数:
=SUMPRODUCT(--(YEAR(A:A)=2023))
- 原理:
YEAR(A:A)提取每个日期的年份,--将布尔值(TRUE/FALSE)转为1/0,SUMPRODUCT对所有符合条件的1求和得到总数。 - 若日期列是纯文本格式(比如直接显示为"28-3-2023 13:59:11"的文本),先转成日期再提取年份:
=SUMPRODUCT(--(YEAR(TO_DATE(A:A))=2023))
方法2:用COUNTIF匹配年份文本(简单直接)
如果日期格式固定为“日-月-年 时间”,可以直接匹配年份文本片段:
=COUNTIF(A:A,"*2023*")
- 注意:该方法依赖文本格式的一致性,如果日期列出现其他包含"2023"的内容(比如备注里的数字)会误统计,适合日期列无额外干扰内容的场景。
方法3:用QUERY函数(支持动态切换年份)
如果需要让同事快速切换统计不同年份,推荐用QUERY函数搭配一个输入年份的单元格(比如B1):
=QUERY(A:A,"SELECT COUNT(A) WHERE YEAR(A)="&B1&" LABEL COUNT(A) ''")
- 操作:让同事在B1单元格输入要统计的年份(比如2024),公式会自动返回对应年份的提交数,无需修改公式本身。
- 若日期是纯文本格式,先转成日期:
=QUERY(ARRAYFORMULA(TO_DATE(A:A)),"SELECT COUNT(Col1) WHERE YEAR(Col1)="&B1&" LABEL COUNT(Col1) ''")
所有方案都会在新表单提交后自动更新统计结果,无需手动选取范围。
内容的提问来源于stack exchange,提问作者Lisanne Buckers
相关产品推荐
相关产品推荐

