如何在Google Sheets中统计指定年份频次最高的日期
问题说明
我在处理记录个人多年wiki编辑成果的Google Sheets电子表格时,需要统计特定年份内出现次数最多的编辑日期。目前按所属wiki站点维度统计最常编辑日期的功能已经正常实现,但切换为按年份维度统计时始终无法得到正确结果。
正常运行的站点维度统计公式
统计特定wiki站点最常编辑日期的公式如下,可正常输出结果:
=IFERROR(INDEX('In one timezone (UTC)'!E:E,MODE(IF('In one timezone (UTC)'!A:A="Nookipedia", MATCH('In one timezone (UTC)'!E:E,'In one timezone (UTC)'!E:E,0)))),"None")
失效的年份维度统计公式
我尝试编写的2012年最常编辑日期统计公式如下,无法输出预期结果:
=IFERROR(INDEX('In one timezone (UTC)'!E:E,MODE(IF(YEAR('In one timezone (UTC)'!E:E)="2012", MATCH('In one timezone (UTC)'!E:E,'In one timezone (UTC)'!E:E,0)))),"None")
错误原因与修正方法
公式存在两处问题:
- 类型匹配错误:
YEAR()函数返回值为数值格式,公式中将其与字符串格式的"2012"做相等判断,条件永远无法成立,导致筛选失效。需将判断条件改为与数值2012比较。 - 匹配范围错误:
MATCH()函数的查找范围为整列E列,非2012年的重复日期也会返回相同位置值,导致MODE统计时混入非目标年份的数据,结果失真。需要给MATCH的查找区域也增加年份筛选,仅在目标年份的日期范围内做匹配。
修正后公式如下(新版Google Sheets直接输入即可生效,旧版需按Ctrl+Shift+Enter作为数组公式确认):
=IFERROR(INDEX('In one timezone (UTC)'!E:E,MODE(IF(YEAR('In one timezone (UTC)'!E:E)=2012, MATCH('In one timezone (UTC)'!E:E,IF(YEAR('In one timezone (UTC)'!E:E)=2012,'In one timezone (UTC)'!E:E),0)))),"None")
内容的提问来源于stack exchange,提问作者PanchamBro
相关产品推荐
相关产品推荐

