J'effectue des calculs de matrice qui prennent beaucoup de temps à se terminer. J'aimerais optimiser encore mes formules. Toutes les formules sont de même nature: elles remplissent une fonction de haut niveau (Moyenne, Pente, Min, Max) à travers une colonne de valeurs. Cependant, toutes les cellules d'une colonne ne sont pas incluses dans le tableau. J'utilise plusieurs critères IF pour choisir les cellules à inclure. Toutes les comparaisons sont effectuées sur la ligne actuelle. Voici un exemple des données:Optimisation d'IF à critères multiples
A B C D E
1 Company Generation Date Value ToCalculate
2 Abc 1 1/1/2010 5.6
3 ... ... ... ... ...
E ressemblerait à quelque chose comme ça
{=Average(If(A2=A2:A1000, If(B2=B2:B1000, If(C2 > C2:C1000, D2:D1000))))}
Donc, une fois E2 est calculé alors je dois remplir automatiquement vers le bas la colonne E. Colonne F, G, H, .. Utilise la même approche, soit sélectionne différentes valeurs à utiliser ou une fonction différente à effectuer. Mon ensemble de données est assez volumineux, et avec seulement quelques-uns d'entre eux, la feuille de calcul prend une heure de plus pour calculer. De temps en temps, j'ajoute un quatrième critère, tous les autres critères étant les mêmes.
Existe-t-il une efficacité? Quelques réflexions:
- Puis-je utiliser un seul tableau par colonne au lieu de milliers par colonne? Est-ce que je peux condenser les trois premiers critères de manière à ce que les résultats soient des numéros de ligne? Peut-être alors les formules suivantes n'auront pas à chercher de multiples critères mais peuvent simplement exécuter la fonction?
- ou en quelque sorte construire le crtieria jusqu'à? Ainsi, une nouvelle colonne renvoie toutes les lignes où la société est la même. une autre colonne renvoie toutes les lignes de la première colonne où la production est la même ... et ainsi de suite ...
Vous pouvez appliquer la formule matricielle à la zone entière (Colonne E) à la fois en sélectionnant d'abord la zone, puis en entrant la matrice-formule. –