当另外两列匹配时,从列添加值

时间:2013-10-09 14:06:22

标签: excel vba excel-vba pivot-table

我有一个生态数据表,大约有12,000行。共有三列:sitespeciesvalue。我需要为每组匹配的站点和物种添加值 - 例如,“站点A”的所有“红枫”值。我的数据按sitespecies排序,所以我可以手动完成,但速度很慢。 site / species匹配的数量会有所不同,因此我不能将这些值以三个或更多的值组合。

类似的问题已经讨论了数据透视表,但没有一个需要匹配两列并添加第三列,我无法弄清楚如何推断我的情况。

我编码很合适,并希望做一些看起来像这个伪代码的东西,但我不清楚VBA中的语法:

For each row
if a(x) = a(x+1) and b(x) = b(x+1) then
sum = sum + c(x)
else
d(x) = sum
sum = 0
next

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

在数据透视表中,将site放入行标签,将species放入列标签(反之亦然),将value的总和放入Σ值:

SO19274376 example