【发布时间】:2014-07-18 20:18:11
【问题描述】:
我有一个工作簿,其中包含 2 张工作表。 cmets 和摘要
在 cmets 表中,我有列 - 类别、类型和状态
- 类别采用字符串值,如 cmets、安全性、控制流等。
- type 取值为 P 或 C
- status 取值为 Y 或 N
在我的总结中,我有列 - 类别、P_type、C_Type、total_status
- 类别包含与 cmets 表中相同的字符串
- p_type - 对应类别的p-type编号
- C_type - 对应类别的c-type编号
- total_staus - P 和 C 类型对应类别的 Y 数
为此,我用公式填充了每个单元格
if (j == 3)
{
cellRange.Formula = "SUMPRODUCT((Comments!B:B=B" + i + ")*(Comments!D:D=\"P\"))";
}
if (j == 4)
{
cellRange.Formula = "SUMPRODUCT((Comments!B:B=B" + i + ")*(Comments!D:D=\"C\"))";
}
if (j == 5)
{
cellRange.Formula = "SUMPRODUCT((Comments!B:B=B" + i + ")*(Comments!G:G=\"Y\"))";
}
注意:cmets 表使用数据库填充,它可以有任意数量的行。 在摘要表中,B 列包含类别字符串 在 cmets 表中,D 列和 G 列分别包含类型和状态
每当我打开 Excel 工作表或更改列类型和状态中的任何单元格值时,都会花费大量时间。
类别编号为 14,因此 SUMPRODUCT 公式共有 42 个。
我已更改 excel 设置以使用所有处理器;在我的系统中有 8 个可用。
任何减少这些 sumproduct 计算的建议。
谢谢
【问题讨论】: