我有一組以下列格式的數據,雖然非常簡化:比較兩個數據集 - 慢速
- DealerName,AccountCode,價值
- Dealer1,A-1,5
- Dealer2,A -1,10
- Dealer1,A-2,20
- Dealer2,A-2,15
- Dealer3,A-3,5
我想實現一個最終的結果,讓我通過AccountCode總結的數據,因此,在上述數據的情況下執行以下操作:
- AccountCode,價值
- A-1,15
- A-2,35
- A-3,5
我已經通過創建的命名OutputData
不同帳戶代碼的陣列,然後通過比較所述數據去完成這個帳戶代碼相同的場中SelectedDealerData
並將其添加到現有的值:
For i = 0 To UBound(SelectedDealerData)
For j = 0 To UBound(OutputData)
If SelectedDealerData(i).AccountNumber = OutputData(j).AccountNumber And SelectedDealerData(i).Year = OutputData(j).Year Then
OutputData(j).Units = OutputData(j).Units + SelectedDealerData(i).Units
Exit For
End If
Next j
Next i
周圍有10,00經銷商和每個600-1000帳戶代碼,所以這意味着很多不必要的循環的。
有人能指出我的方向更有效的解決方案嗎?我在想某種字典比較,但我不確定如何實現它。
這是在Excel/Access中嗎?如果它在Excel中,爲什麼不使用像'= SUMIFS'這樣的工作表函數 – Gareth