完了するのに長い時間がかかる配列計算を実行しています。数式をもう少し最適化したいと思います。すべての数式は同じ性質のものです。値の列全体で高レベルの関数(平均、勾配、最小、最大)を実行します。ただし、列内のすべてのセルが配列に含まれているわけではありません。複数の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、...同じアプローチを使用して、操作する別の値または実行する別の関数を選択します。私のデータセットは非常に大きく、これらのいくつかだけで、スプレッドシートの計算に1時間以上かかります。時々、4番目の基準を追加します。他のすべての基準は同じです。
効率はありますか?いくつかの考え:
- 列ごとに数千ではなく、列ごとに単一の配列を使用できますか?
- 最初の3つの基準を要約して、出力が行番号になるようにすることはできますか?おそらく、後続の数式は複数の基準を検索する必要はありませんが、関数を実行するだけで済みますか?
- またはどういうわけかcrtieriaを構築しますか?したがって、新しい列は、会社が同じであるすべての行を返します。別の列は、世代が同じである最初の列からのすべての行を返します...など...