Lorsque vous devez faire des calculs un peu complexes, très rapidement, vous allez être confronté à l'une de ces solutions:
- Un tableau croisé dynamique (TCD)
- L'utilisation de SOMME.SI.ENS, SOMMEPROD ou SOMME (avec CTRL+MAJ+Entrée).
Ces 4 outils sont un peu les couteaux suisses d'excel, car ils permettent de calculer n'importe quoi ou presque, et sont très flexibles.
La question est bien sur : que choisir ?
Si vous êtes en train d'analyser des données, un TCD est généralement la meilleure solution. Il est flexible, dynamique et une fois actualisé, très rapide.
Si vous êtes en train de créer un outil de reporting, l'une de ces 3 formules est très utile. Elles sont très puissantes, ne demandent pas à être actualisées (au contraire du TCD) et peuvent facilement s'intégrer dans un reporting complexe mais relativement peu dynamique.
Laquelle de ces trois formules utiliser?
Basé sur un peu d'expérience, voici mon ordre de préférence :
- SOMME.SI.ENS (approx. 4x plus rapide que SOMMEPROD et SOMME)
- SOMMEPROD (moins dangereux et aussi rapide que SOMME)
- SOMME (avec CTRL+MAJ+Entrée)
Quelques explications
En effet, basé sur quelques tests de vitesse, SOMME.SI.ENS apparait être 4 fois plus rapide. Sur un tableau de 20 000 lignes, avec un critère, on a ces résultats : approx. 1 500 ms pour somme.si.ens contre approx. 6 000 ms pour les deux autres formules. Ce sont bien sur des ordres de grandeur qui dépendent de nombreux facteurs (puissance de l'ordi, autres applications ouvertes, etc.).
Ma préférence pour SOMMPROD vient du danger à oublier de valider avec CTRL+MAJ+Entrée la formule matricielle SOMME. Que ce soit lorsqu'un utilisateur moins averti vient mettre son nez dans votre fichier et oublie de valider correctement car il n'a pas vu les crochets, ou bien une faute d'innatention de votre part.
Ceci dit, il existe des cas particuliers où l'une des formules ne peut pas être utilisée, et il est alors extrêmement pratique de pouvoir utiliser les autres formules !
Si vous avez d'autres critères de choix de couteau suissse, n'hésitez-pas !