標題:
判斷日期之後的資料並計算數量
[打印本頁]
作者:
chiang0320
時間:
2017-5-21 23:23
標題:
判斷日期之後的資料並計算數量
請問如何使用VBA,判斷日期之後的資料並計算數量,謝謝!
[attach]27207[/attach]
依照所KEY IN的日期(工作表2-E欄) 判斷日期 之後的資料(工作表1 -G欄) 並計算區域(工作表1 -G欄)的數量
[attach]27208[/attach]
[attach]27209[/attach]
[attach]27210[/attach]
作者:
naruto018
時間:
2017-5-23 08:21
可以使用COUNTIFS 函數可將準則套用至跨多個範圍的儲存格,並計算所有準則均符合的個數。
=COUNTIFS(
日期範圍
,">"&
判斷基準的日期
,
號碼1範圍
,
判斷基準的號碼1
,
區域範圍
,
判斷基準的區域
)
日期NA的部分
=if(
判斷基準的日期
="NA",去掉日期準則的COUNTIFS,含日期準則的COUNTIFS)
作者:
prin.huang
時間:
2017-5-23 10:27
計算結果與你提供的不同, 但應該是你要的
Option Explicit
Sub Cal_N()
Dim I%, J%, DD$, S1 As Worksheet, S2 As Worksheet
Set S1 = ActiveWorkbook.Sheets("工作表1")
Set S2 = ActiveWorkbook.Sheets("工作表2")
For I = 3 To 7
For J = 6 To 16
DD = S2.Cells(I, 5)
If DD = "NA" Then
S2.Cells(I, J) = Application.WorksheetFunction.CountIfs(S1.Columns(5), _
S2.Cells(I, 3), S1.Columns(7), S2.Cells(2, J))
Else
S2.Cells(I, J) = Application.WorksheetFunction.CountIfs(S1.Columns(5), _
S2.Cells(I, 3), S1.Columns(7), S2.Cells(2, J), S1.Columns(6), ">" & S2.Cells(I, 5))
End If
Next J
Next I
End Sub
複製代碼
作者:
chiang0320
時間:
2017-5-31 23:50
回復
3#
prin.huang
請問prin.huang
假如有一兩萬列的資料,使用countifs來跑,時跑的時間過久,請問程式怎麼修才可以改善速度
作者:
prin.huang
時間:
2017-6-1 09:19
參考站內or谷歌資料,改寫成陣列試試
應該會快很多
作者:
prin.huang
時間:
2017-6-1 19:42
參考站內or谷歌資料,改寫成陣列試試
應該會快很多
prin.huang 發表於 2017-6-1 09:19
剛才試作了一下,excel函數sumifs無法接受陣列,只能接受range,試運算1萬多筆速度還是慢,
看來只能把"資料讀成陣列+自己寫判斷句"才能加快速度了
作者:
chiang0320
時間:
2017-6-1 20:10
回復
6#
prin.huang
prin.huang
謝謝,我再試試看
作者:
Kubi
時間:
2017-6-2 21:17
回復
4#
chiang0320
改用陣列並模擬2萬5千筆,大約1.3秒完成,請測試。
[attach]27262[/attach]
作者:
chiang0320
時間:
2017-6-3 17:35
回復
8#
Kubi
[attach]27272[/attach]
請問Kubi
如果變更原始檔案的關鍵欄位,程式碼又會修改成怎麼樣子?
可以讓我對照一下之前與之後,謝謝幫忙!
作者:
Kubi
時間:
2017-6-4 21:00
回復
9#
chiang0320
請參考
[attach]27277[/attach]
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)