Microsoft Lab
全部软件
Excel日期与时间(Date and Time)约 3 分钟

Year Occurrences 统计某年份出现次数

重点内容


适用版本

桌面版通用(Excel 365 / 2021 / 2019 等)。


完整代码

Dim yearCount As Integer, yearAsk As Integer, i As Integer

yearCount = 0
yearAsk = Range("C4").Value

For i = 1 To 16

If Year(Cells(i, 1).Value) = yearAsk Then
    yearCount = yearCount + 1
End If

Next i

MsgBox yearCount & " occurrences in year " & yearAsk

逻辑说明

  • yearAsk 从 C4 读取使用者想查询的年份
  • 循环走过第 1 到 16 行的日期数据
  • Year(Cells(i, 1).Value) 取出这格日期的年份,跟 yearAsk 相等就把计数 yearCount 加 1
  • 因为 yearAsk 是变量,使用者换个年份填进 C4、重新执行一次宏,就能查另一个年份出现几次,不用改代码

学完你会

常见错误

  • 循环范围写死成 1 To 16,日期清单笔数变动后忘记同步调整
  • C4 填的不是纯数字年份(比如打了文字),yearAsk 读到不合理的值,判断永远不成立
  • 把 Year(...) 忘记加上,直接拿整个日期去跟年份数字比较,永远不会相等

Sources

Blog / Website:

  1. Year Occurrences
只记在你的浏览器里,换设备不会同步。