我有一组以下列格式的数据,虽然非常简化:比较两个数据集 - 慢速
- 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