Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Formule matricielle pour ganger du temps au recalcul du classeur?

3 réponses
Avatar
Jean bidule
Bonjour au Forum,

Aurait-il moyen, dans ce cas précis, de transformer les formules du tableau
en formules matricielles ?

J'ai un tableau comme suit : (simplifié pour les besoins d'explication)

en ligne 1, j'ai les références clients (lots)
en colonne A, j'ai des dates (par 7 jours)

le tableau dois calculer les sommes (à partir d'un autre tableau d'encodage
se trouvant sur une autre feuille) des quantités par client (ligne 1) et par
date (colonne A).
Pour le moment j'ai la formule suivante dans l'entièreté du tableau : en
cellule B3 (=début de tableau)
=SOMMEPROD((encod.date>=$A3)*(encod.date<$A4)*(encod.lot=B$1);encod.quantite)

J'ai recopié cette formule à travers tout le tableau. Dans ma feuille
réelle, je me trouve donc en face de 480 formules!!
Cette formule fonctionne parfaitement bien, mais je me pose une question
quant à la lenteur du recalcul

Y-aurait-il moyen de changer cette formule en une seule formule matricielle
de sorte qu'excel (enfin je croix) ne devrait recalculer que cette formule
matricielle-là (1 formule au lieu de 480) et donc gagner beaucoup de temps ?
A moins qu'une formule matricielle ne fasse pas gagner du temps du tout ?

Je suppose qu'excel va devoir calculer chacune de ces 480 formules chaque
fois qu'il recalculer automatique le classeur, et donc passer en revue mon
tableau d'encodage de 430 lignes sur 22 colonnes.

Dans mon exemple ici, je n'ai que 480 formules, mais j'ai un tableau du même
genre qui devrait en comporter près de 40.000!!!)

Si une solution pour gagner du temps de recalcul existe, je serais fortement
intéressé.

Merci à vous le forum pour votre attention
Jean

3 réponses

Avatar
AV
=SOMMEPROD((encod.date>=$A3)*(encod.date<$A4)*(encod.lot=B$1);encod.quantite)
Aurait-il moyen, dans ce cas précis, de transformer les formules du tableau
en formules matricielles ?


Un calcul avec la fonction SOMMEPROD bien que validé de façon "normale" non
matricielle) effectue un calcul maticiel !
Donc aucun gain de temps par rapport à une vraie matricielle du style
=SOMME(SI(......

Sous réserve de bonne interprétation de ton tableau (pas clair l'histoire de
ligne et colonne) il me semble qu'un Tableau Croisé Dynamique devrait faire
l'affaire

AV

Avatar
Jean bidule
Merci AV!

dommage pour le gain de temps.

Merci encore pour ton attention.
Jean

"AV" a écrit dans le message de news:
%
=SOMMEPROD((encod.date>=$A3)*(encod.date<$A4)*(encod.lot=B$1);encod.quantite)
Aurait-il moyen, dans ce cas précis, de transformer les formules du
tableau
en formules matricielles ?


Un calcul avec la fonction SOMMEPROD bien que validé de façon "normale"
non
matricielle) effectue un calcul maticiel !
Donc aucun gain de temps par rapport à une vraie matricielle du style
=SOMME(SI(......

Sous réserve de bonne interprétation de ton tableau (pas clair l'histoire
de
ligne et colonne) il me semble qu'un Tableau Croisé Dynamique devrait
faire
l'affaire

AV





Avatar
AV
dommage pour le gain de temps.


Avec un TCD (comme dit précédemment) tu vas en gagner !

AV