加速和积计算

加速和积计算

我有一个 Excel 文件,其中包含来自 GIS 的数据,该数据有不到 215k 行。

这些数据中有三列我感兴趣:

  • GRID_ID(大约 18k 个唯一值)
  • 作物类型(15 个唯一值)
  • 区域(所有唯一值)

现在我知道我可以通过单元格 C2 中的此公式获得此(Grid_ID 和 Croptype 的每个组合的面积)的汇总表。A 列包含唯一的 GRID_ID(按升序排列),第 1 行包含从 C 列开始的 Croptype。

=Sumproduct((GRID_ID=$A2)*(Croptype=C$1)*AREA)

公式中的列名被替换为数据的实际范围。

现在,这对于较小的数据集来说效果很好,但对于我的数据集来说,它的速度很慢。有没有更有效的方法来计算这个问题?

答案1

使用 SUMIFS()

=SUMIFS(AREA,GRID_ID,$A2,Croptype,C$1)

这应该会更快。但是,即使数量太多也会减慢计算速度。您可能希望 vba 使用变体数组一次性完成所有操作。

相关内容