返回列表 上一主題 發帖

判斷日期之後的資料並計算數量

計算結果與你提供的不同, 但應該是你要的
  1. Option Explicit
  2. Sub Cal_N()
  3.     Dim I%, J%, DD$, S1 As Worksheet, S2 As Worksheet
  4.    
  5.     Set S1 = ActiveWorkbook.Sheets("工作表1")
  6.     Set S2 = ActiveWorkbook.Sheets("工作表2")
  7.    
  8.     For I = 3 To 7
  9.         For J = 6 To 16
  10.             DD = S2.Cells(I, 5)
  11.             If DD = "NA" Then
  12.                 S2.Cells(I, J) = Application.WorksheetFunction.CountIfs(S1.Columns(5), _
  13.                 S2.Cells(I, 3), S1.Columns(7), S2.Cells(2, J))
  14.             Else
  15.                 S2.Cells(I, J) = Application.WorksheetFunction.CountIfs(S1.Columns(5), _
  16.                 S2.Cells(I, 3), S1.Columns(7), S2.Cells(2, J), S1.Columns(6), ">" & S2.Cells(I, 5))
  17.             End If
  18.         Next J
  19.     Next I
  20. End Sub
複製代碼

TOP

參考站內or谷歌資料,改寫成陣列試試
應該會快很多

TOP

參考站內or谷歌資料,改寫成陣列試試
應該會快很多
prin.huang 發表於 2017-6-1 09:19


剛才試作了一下,excel函數sumifs無法接受陣列,只能接受range,試運算1萬多筆速度還是慢,
看來只能把"資料讀成陣列+自己寫判斷句"才能加快速度了

TOP

        靜思自在 : 人生最大的成就是從失敗中站起來。
返回列表 上一主題