|
凑个热闹。- Sub tt()
- Set d = CreateObject("scripting.dictionary")
- With Sheet1
- r = .Cells(.Rows.Count, 1).End(3).Row
- arr = .Range("a1:d" & r)
- End With
- ReDim brr(1 To UBound(arr), 1 To 5)
- For i = 2 To r
- xyear = Year(arr(i, 1)): xmonth = Month(arr(i, 1))
- xkey = xyear & "-" & xmonth
- If Not d.exists(xkey) Then
- k = k + 1
- d(xkey) = k
- brr(k, 1) = xkey
- End If
- p = d(xkey)
- brr(p, 2) = brr(p, 2) + arr(i, 2)
- brr(p, 3) = brr(p, 2) + arr(i, 3)
- brr(p, 4) = brr(p, 4) + arr(i, 4)
- brr(p, 5) = brr(p, 5) + 1 '当月统计天数,用于算平均数
- Next
- For i = 1 To k
- If brr(i, 5) > 0 Then
- brr(i, 2) = brr(i, 2) / brr(i, 5)
- brr(i, 3) = brr(i, 3) / brr(i, 5)
- brr(i, 4) = brr(i, 4) / brr(i, 5)
- End If
- Next
- With Sheet2
- .[f:j].Clear
- .[f1].Resize(1, 5) = Array("Month", "Tmax(C)", "Tmin(C)", "Rainfall (cm)", "Days")
- .[f2].Resize(k, 5) = brr
- .Activate
- End With
- End Sub
复制代码 |
评分
-
查看全部评分
|