Excel VBA: 使用 SUMIFS 函数按周计算访客数据

本代码使用 VBA 的 SUMIFS 函数,按照每周计算访客数据,并输出到 Excel 工作表。代码示例包含循环遍历日期、设置条件和计算总和。

代码示例:

Dim sum1 As Double, sum2 As Double, sum3 As Double, sum4 As Double
Dim ws As Worksheet
Dim startDate As Date, endDate As Date
Dim criteria1 As String, criteria2 As String, criteria3 As String, criteria4 As String
Dim i As Integer

Set ws = ThisWorkbook.Worksheets("访客数据")

For i = 3 To 10000
    startDate = ws.Range("B" & i).Value + i * 28
    endDate = startDate + 27 ' Assuming the range is 28 days

    criteria1 = ">="
    criteria2 = ">="
    criteria3 = ">="
    criteria4 = ">="
    
    sum1 = Application.WorksheetFunction.SumIfs(ws.Range("M:M"), ws.Range("A:A"), criteria1, ws.Range("B:B"), ws.Range("D" & i))
    sum2 = Application.WorksheetFunction.SumIfs(ws.Range("M:M"), ws.Range("A:A"), criteria2, ws.Range("B:B"), ws.Range("D" & i))
    sum3 = Application.WorksheetFunction.SumIfs(ws.Range("M:M"), ws.Range("A:A"), criteria3, ws.Range("B:B"), ws.Range("D" & i))
    sum4 = Application.WorksheetFunction.SumIfs(ws.Range("M:M"), ws.Range("A:A"), criteria4, ws.Range("B:B"), ws.Range("D" & i))

    ws.Range("K" & i).Value = "第" & i - 2 & "周:" & vbCrLf & sum1 & vbCrLf & sum2 & vbCrLf & sum3 & vbCrLf & sum4
Next i

代码功能:

  • 代码首先定义了必要的变量,包括 sum1 到 sum4 用于存储计算结果,ws 表示工作表,startDate 和 endDate 表示日期范围,criteria1 到 criteria4 表示条件,i 表示循环变量。
  • 代码通过循环变量 i 从 3 到 10000 遍历每个日期,并将日期范围设置为 28 天,即每周计算一次。
  • 使用 SUMIFS 函数计算每周的总和,条件包括日期范围和特定条件。
  • 将计算结果写入到工作表 K3:K10000 中,并以 “第X周:” 的格式输出。

使用说明:

  • 将代码复制到 Excel 工作簿的 VBA 编辑器中。
  • 修改代码中的工作表名称、日期范围、条件和输出单元格,以适应您的实际情况。
  • 运行代码即可获得每周访客数据的统计结果。

注意:

  • 此代码假定日期范围为 28 天,您可以根据实际情况进行修改。
  • 代码中的条件可以根据需要进行修改。
  • 确保工作表中包含所需的数据,并设置正确的单元格引用。

原文地址: http://www.cveoy.top/t/topic/fXX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录