Comptage d'une donné d'un tableau grace aux données d'un autre
Bonjour à tous, voila un bien beau forum qui me sera utile j'espère!
Ce sera plus simple si vous avez l'excel ouvert a coté de vous :
Je cherche a pouvoir compter dans le tableau 2 le nombre d'airplane total en fonction du nombre de thèmes et de packages du tableau 1.
Chaque thème a un certain nombre d'airplane 1, un certain nombre d'airplane 2...
Et je voudrais savoir combien d'airplane 1,2... total je dois commander.
Merci et bonne journée à tous !
Ugo
Bonjour,
Désolé j'ai pas compris... Vous pouvez donner l'exemple du résultat que vous voulez trouver pour A1 et A2 par exemple?
Cindy
Bonjour,
Je ne savais pas si il fallait prendre le nombre de packs ou le nombre de rôles, j'ai pris le nombre de packs du coup, mais l'intention est là!
Voici le fichier avec une fonction SOMMEPROD qui fait bien le travail
Alors Merci au secours je pense que c'est bien ça par contre je comprends pas comment tu réussi a faire cela, pourrais-tu prendre le temps de me dire comment tu as fait ?
Merci !
Cindy : pour A1 : 15 (vu que cet airplane est présent dans le package 1 seulement) et pour A2 32 (vu que cet airplane est présent dans tous les packages)
Rebonjour,
Pas de soucis je vais tenter de t'expliquer, en fait SOMMEPROD permet de faire des produits matriciels, cette formule est super pour faire ça!
si on prend la formule de la cellule C27 :
=SOMMEPROD($D$7:$D$18*($C$7:$C$18=$N$6:$P$6)*$N7:$P7)
Il y a trois matrices que je multiplie entre elles (si tu ne sais pas ce qu'est une matrice tu peux rapidement regarder sur internet, c'est très utilisé en mathématiques, c'est un tableau de valeur si tu préfères.)
En premier je mets D7:D18, donc tu as ton nombre de packages, jusqu'ici rien de bien étrange, tu avais besoin de ces données, tu as aussi * n7:p7, pareil, tu as besoin de ces données pour savoir combien d'airplane sont nécessaires pour chaque thème. Là où SOMMEPROD devient géniale, c'est que je mutliplie ces tableau de valeur par un test, et c'est ça qui est beau, c'est que ce test va renvoyer un tableau qui a autant de lignes que pour d7:d18, et autant de colonnes que pour n7:p7.
En clair ce qui va se passer si on prend juste les données du projet 1 :
{1 {T1 = T1 / T1 = T2 / T1 = T3
2 * T2 = T1 / T2 = T2 / T2 = T3 * {1 / 0 / 0}
3} T3 = T1 / T3 = T2 / T3 = T3}
première étape :
{1 {VRAI / FAUX / FAUX
2 * FAUX / VRAI / FAUX * {1 / 0 / 0}
3} FAUX / FAUX / VRAI}
deuxième étape :
{1 / 0 / 0
0 / 2 / 0 * {1 / 0 / 0}
0 / 0 / 3}
troisième étape :
{1
0
0}
dernière étape :
1
On remarque ceci :
le calcul de la deuxième étape fait un filtre, toutes les cases de ton tableau au milieu qui avaient faux on retrourné 0, les autres ont retourné la valeur de la ligne du premier tableau, on vient de faire le premier produit de matrice
à la troisième étape on fait un autre produit de matrice qui filtre encore nos valeurs, on remarque seules les valeurs de la première colonne du tableau de gauche ont été retenues, car celui de droite avec un 1 seulement sur sa première colonne.
Enfin, la 4ème étape fait la somme des valeurs sur les lignes qu'il reste, d'où le nom de la fonction, SOMMEPROD, elle fait la somme des produits obtenus
J'espère que tu comprendras mieux avec cet exemple
Au final on fait une synthèse des données en prenant des infos dans différents tableaux, et pour faire la liaison entre le tableau de gauche qui contient le nombre de thème par projet, et l'autre qui contient le nombre d'airplane par thème, on a un tableau qui sert d'intermédiaire.
Tu peux tester ça avec 5 lignes par exemple, tu verras ceci en deuxième étape :
{1 / 0 / 0
0 / 2 / 0
0 / 0 / 3 * {1 / 0 / 0}
2 / 0 / 0
2 / 0 / 0 }
Il place les valeurs 2 dans la colonne qui correspond au T1, et ensuite la quantité 1 de cette colonne vient se multiplier au 2
Salut à toi,
sa formule est plutot simple, pour la cellule C27 par exemple :
=SOMMEPROD($D$7:$D$18*($C$7:$C$18=$N$6:$P$6)*$N7:$P7)
- 1ere étape : on prend toutes les valeurs de D7 à D18 sous forme de liste grâce à
$D$7:$D$18on obtient donc :{1;2;3;2;2;3;4;1;5;3;2;4} - 2eme étape : On vérifie la condition
($C$7:$C$18=$N$6:$P$6)encore une fois on obtient un résultat sous forme de liste avec pour chaque élément 3 booléens VRAI ou FAUX. Comme tu le sais peut être un booléens a la valeur de 1 pour VRAI et 0 pour faux :{1.0.0;0.1.0;0.0.1;1.0.0;1.0.0;1.0.0;1.0.0;0.1.0;0.1.0;1.0.0;0.0.1;0.0.1}(oui c'est pas très digeste) - 3eme étape on multiplie les deux listes donc l'élément n°1 se multiplie avec l'élément n° de l'autre liste, le n°2 avec l'autre n°2 etc. (ex : 3 x 0.0.1 = 0x3.0x3.1x3 = 0.0.3) :
{1.0.0;0.2.0;0.0.3;2.0.0;2.0.0;3.0.0;4.0.0;0.1.0;0.5.0;3.0.0;0.0.2;0.0.4} - 4eme étape : On multiplie par
$N7:$P7donc par1.0.0:{1.0.0;0.0.0;0.0.0;2.0.0;2.0.0;3.0.0;4.0.0;0.0.0;0.0.0;3.0.0;0.0.0;0.0.0} - 5eme étape : Le
SOMMEPROD(), on additionne tous les nombres :1+0+0+0+0+0+0+0+0+2+0+0+2+0+0+3+0+0+4+0+0+0+0+0+0+0+3+0+0+0+0+0+0+0+0 = 15
Pour résumer :
- 1ere étape : prendre tous les nombres de packages
- 2eme étape : Vérifier le nom de thème (T1 = 1.0.0 ; T2 = 0.1.0 ; T3 = 0.0.1)
- 3eme étape : Associer le nombre de packages et le thème
- 4eme étape : Ne conserver que les valeur avec les noms de thème associés à l'airplane (ici les valeux du type x.0.0)
- 5eme étape : Faire la somme des packages restant
Merci pour ces explications j'ai tout compris ! Vraiment merci, ce forum est super !
Bonne journée à tous !
Je vais mettre le sujet en résolu
De rien!
Merci d'avoir passé le sujet en résolu
Bonne continuation