我正在执行需要很长时间才能完成的数组计算。我想进一步优化我的公式。所有的公式都具有相同的性质——它们对一列值执行一些高级函数(平均值、斜率、最小值、最大值)。但是,并非列中的所有单元格都包含在数组中。我使用多个 IF 标准来选择包含哪些单元格。所有比较都与当前行进行。以下是数据示例:
A B C D E
1 Company Generation Date Value ToCalculate
2 Abc 1 1/1/2010 5.6
3 ... ... ... ... ...
E 看起来像这样
{=Average(If(A2=A2:A1000, If(B2=B2:B1000, If(C2 > C2:C1000, D2:D1000))))}
因此,一旦计算出 E2,我就必须自动填充 E 列。F、G、H 列……使用相同的方法,要么选择不同的值进行操作,要么选择不同的函数来执行。我的数据集非常大,只有其中的几个,电子表格需要一个多小时的时间来计算。每隔一段时间,我会添加第四个标准,所有其他标准都相同。
有效率吗?一些想法:
- 我可以每列使用一个数组而不是每列数千个吗?
- 我可以压缩前三个条件以便输出是行号吗?也许随后的公式不必搜索多个条件而只需执行该功能?
- 或者以某种方式建立标准?因此,新列将返回公司相同的所有行。另一列返回第一列中生成相同的所有行……依此类推……