Formule
Résolu
Vodkito
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
Vodkito Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
Vodkito Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je ne trouve pas de solution à mon problème peut être quelqu'un pourra m'aider !
Voila j'ai un tableau avec une ligne SAC et une ligne QUANTITÉ
SAC QUANTITE
SAC 1 2
SAC 2 1
Suivant le numéro du sac je voudrais que le nombre de jouet à mettre à l'intérieur s'affiche et s'additionne.
Par exemple je sais qu'a l'intérieur de tout les SAC 1 se trouve jouet 1 et jouet 3, et que pour les SAC 2 il y a jouet 1, 2 et 3
Est ce qu'il est possible qu'avec une formule j'arrive à ce résultat
JOUET 1 2
JOUET 2 1
JOUET 3 2
Ce qui me permettrais de savoir le nombre et les référence des jouets à sortir.
Merci.
Je ne trouve pas de solution à mon problème peut être quelqu'un pourra m'aider !
Voila j'ai un tableau avec une ligne SAC et une ligne QUANTITÉ
SAC QUANTITE
SAC 1 2
SAC 2 1
Suivant le numéro du sac je voudrais que le nombre de jouet à mettre à l'intérieur s'affiche et s'additionne.
Par exemple je sais qu'a l'intérieur de tout les SAC 1 se trouve jouet 1 et jouet 3, et que pour les SAC 2 il y a jouet 1, 2 et 3
Est ce qu'il est possible qu'avec une formule j'arrive à ce résultat
JOUET 1 2
JOUET 2 1
JOUET 3 2
Ce qui me permettrais de savoir le nombre et les référence des jouets à sortir.
Merci.
A voir également:
- Formule
- Formule si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Formule somme excel colonne - Guide
- Excel mise en forme conditionnelle formule - Guide
10 réponses
Bonjour,
Ta demande est réalisable avec une formule.
Il faut d’abord que tu crées un tableau «sacs x jouets» dans lequel tu mets le nombre de jouets pour chaque sac.
Si tu as 10 sacs et 15 jouets, ton tableau aura 10 lignes et 15 colonnes.
Quand un jouet n’est pas dans la composition d’un sac, mettre zéro. Il faut que toutes les cellules contiennent un nombre.
Tu remplis la colonne «quantité de sacs» pour chacun des 10 sacs (10, c’est pour l’exemple), dans le même ordre que ton tableau précédent, même si certains sacs sont à zéro (tu saisis zéro).
Avec cette structure de données, le résultat s’obtient par un simple PRODUITMAT() entre le vecteur ligne composé de 1 et comprenant autant de colonnes qu’il y a de sacs et la matrice résultant du produit du vecteur «quantité de sacs» par la matrice «sacs x jouets».
Ce dernier produit est un produit simple, pas un produimat().
Il permet d’obtenir le total de jouets nécessaires pour chaque quantité de sacs.
Le produitmat() à gauche par le vecteur ligne composé de 1 ne sert qu’à faire la somme de chaque colonne.
Si tu sais le faire autrement, prend ta méthode.
Le résultat que tu obtiendras sera un vecteur ligne de nb_jouets colonnes.
Si tu veux un résultat en colonne, il faut ajouter un TRANSPOSE().
Cordialement
Ta demande est réalisable avec une formule.
Il faut d’abord que tu crées un tableau «sacs x jouets» dans lequel tu mets le nombre de jouets pour chaque sac.
Si tu as 10 sacs et 15 jouets, ton tableau aura 10 lignes et 15 colonnes.
Quand un jouet n’est pas dans la composition d’un sac, mettre zéro. Il faut que toutes les cellules contiennent un nombre.
Tu remplis la colonne «quantité de sacs» pour chacun des 10 sacs (10, c’est pour l’exemple), dans le même ordre que ton tableau précédent, même si certains sacs sont à zéro (tu saisis zéro).
Avec cette structure de données, le résultat s’obtient par un simple PRODUITMAT() entre le vecteur ligne composé de 1 et comprenant autant de colonnes qu’il y a de sacs et la matrice résultant du produit du vecteur «quantité de sacs» par la matrice «sacs x jouets».
Ce dernier produit est un produit simple, pas un produimat().
Il permet d’obtenir le total de jouets nécessaires pour chaque quantité de sacs.
Le produitmat() à gauche par le vecteur ligne composé de 1 ne sert qu’à faire la somme de chaque colonne.
Si tu sais le faire autrement, prend ta méthode.
Le résultat que tu obtiendras sera un vecteur ligne de nb_jouets colonnes.
Si tu veux un résultat en colonne, il faut ajouter un TRANSPOSE().
Cordialement
Bonsoir,
Sans fichier, ça n'est peut-être pas simple à se représenter.
https://www.cjoint.com/c/GKuajacAQ7d
Cordialement
Sans fichier, ça n'est peut-être pas simple à se représenter.
https://www.cjoint.com/c/GKuajacAQ7d
Cordialement
Bonjour, et bienvenue au nouveau membre.
Plutôt que d'essayer d'écrire le contenu de ton tableau (ce qui n'est pas très réussi), envoie-nous ton fichier Excel
doit être compris comme
"j'ai un tableau avec une colonne SAC et une colonne QUANTITÉ", non ?
Plutôt que d'essayer d'écrire le contenu de ton tableau (ce qui n'est pas très réussi), envoie-nous ton fichier Excel
1) Tu vas dans https://www.cjoint.com/"j'ai un tableau avec une ligne SAC et une ligne QUANTITÉ"
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier (15 Mo maxi)
3) Tu défiles vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; tu fais un clic-droit dessus et tu choisis "Copier le lien"
5) Tu reviens dans ta discussion sur CCM, et dans ton message tu fais "Coller".
=>Voir la fiche https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
doit être compris comme
"j'ai un tableau avec une colonne SAC et une colonne QUANTITÉ", non ?
Bonjour,
Dans l'état c'est pas tellement possible, ou alors il nous manque des données.
Comment Excel sait quel jouet est dans quel sac?
Dans l'état c'est pas tellement possible, ou alors il nous manque des données.
Comment Excel sait quel jouet est dans quel sac?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
D'autre part ton résultat est faux !
Pour le
Pour le
Pour les
Il n'y a jamais, nulle part,
2 JOUETS 1, 1 JOUET 2 et 2 JOUETS 3
C'est bien, la retraite ! Surtout aux Antilles ... :-)
Raymond (INSA, AFPA, CF/R)
Pour le
SAC 1il y a 2 JOUETS 1 et 2 JOUETS 3 ;
Pour le
SAC 2il y a 1 JOUET 1, 1 JOUET 2 et 1 JOUET 3 ;
Pour les
2 SACSil y a 3 JOUETS 1, 1 JOUET 2 et 3 JOUETS 3.
Il n'y a jamais, nulle part,
2 JOUETS 1, 1 JOUET 2 et 2 JOUETS 3
C'est bien, la retraite ! Surtout aux Antilles ... :-)
Raymond (INSA, AFPA, CF/R)
Oui exact ce sont des colonnes désolé.
Justement c'est mon problème je me demandais si il était possible avec une formule, que excel ce dise, si la quantité de SAC 1 est de 1 alors quantité jouet 1 =1 et quantité jouet 2 = 1.
Le problème ce complique ensuite avec SAC 3 car quantité jouet 1 = 2 (Si la quantité sac 3 = 1 alors jouet 1 = 2)
Je pense que c'est impossible, il faut que je trouve une autre solution.
Je vous enverrais mon tableau ce soir, sait on jamais....
Justement c'est mon problème je me demandais si il était possible avec une formule, que excel ce dise, si la quantité de SAC 1 est de 1 alors quantité jouet 1 =1 et quantité jouet 2 = 1.
Le problème ce complique ensuite avec SAC 3 car quantité jouet 1 = 2 (Si la quantité sac 3 = 1 alors jouet 1 = 2)
Je pense que c'est impossible, il faut que je trouve une autre solution.
Je vous enverrais mon tableau ce soir, sait on jamais....
Je suppose que tu t'es précipité à 17:13 pour répondre au message que diablo t'a envoyé à 16:16 sans prendre connaissance de mon message de 16:42 complété à 16:46 ?
Bonjour,
En effet la formule fonctionne pour les sac 1 et 2 et je vous remercie, mais pour ce qui est du sac 3 ça ne marche plus....
https://www.cjoint.com/c/GKqqmfgLHbt
En effet la formule fonctionne pour les sac 1 et 2 et je vous remercie, mais pour ce qui est du sac 3 ça ne marche plus....
https://www.cjoint.com/c/GKqqmfgLHbt
Vodkito, voyons !
Tu nous fais le même coup que Stéphanie "guerando" https://forums.commentcamarche.net/forum/affich-34996207-repeter-une-lettre-dans-un-nombre-de-cellule-defini#p35007412
Tu exposes un problème ; on te donne la solution ; tu rétorques que si tu changes les éléments du problème la solution ne convient plus ! Evidemment ! Si tu demandes un moyen de déplacement urbain pour 2 personnes et qu'on te donne une mobylette, il est évident qu'elle ne servira à rien pour 10 personnes !
Es-tu certain qu'il n'y aura pas plus de 8 sacs ni plus de 8 jouets ?
Et pour les 4 derniers sacs c'est à nous de deviner leur contenu ?
Tu nous fais le même coup que Stéphanie "guerando" https://forums.commentcamarche.net/forum/affich-34996207-repeter-une-lettre-dans-un-nombre-de-cellule-defini#p35007412
Tu exposes un problème ; on te donne la solution ; tu rétorques que si tu changes les éléments du problème la solution ne convient plus ! Evidemment ! Si tu demandes un moyen de déplacement urbain pour 2 personnes et qu'on te donne une mobylette, il est évident qu'elle ne servira à rien pour 10 personnes !
Es-tu certain qu'il n'y aura pas plus de 8 sacs ni plus de 8 jouets ?
Et pour les 4 derniers sacs c'est à nous de deviner leur contenu ?
Super ça marche merci beaucoup !
Je n'avais pas du tout penser à cette façon de faire !
Du coup une dernière question si j'ai plus de sorte de sac que de jouets par exemple 8 types de sac différents mais seulement 6 types de jouets différents, la matrice ne peux plus fonctionner ?
Encore merci :)
Je n'avais pas du tout penser à cette façon de faire !
Du coup une dernière question si j'ai plus de sorte de sac que de jouets par exemple 8 types de sac différents mais seulement 6 types de jouets différents, la matrice ne peux plus fonctionner ?
Encore merci :)
Je dois oublier de modifier une plage mais je ne vois pas laquelle car quand je sélectionne jusqu'au jouet 6 je ne peux pas supprimer les colonne 7 et 8 ce qui n'est pas très grave puisque je peux changer la mise en forme par contre pour les cellules F9 et F10, je n'arrive pas à enlever la formule.
https://www.cjoint.com/c/GKunAyskcvt
De plus pourrais tu m'expliquer brièvement cette partie de ta formule ("1:".
Merci.
https://www.cjoint.com/c/GKunAyskcvt
De plus pourrais tu m'expliquer brièvement cette partie de ta formule ("1:".
Merci.
Bonsoir,
L'explication pour le ("1:"... :
je cherche à créer une matrice ligne remplie de 1. Je pourrais utiliser {1.1.1.1.1.1.1.1} qui me donne le résultat pour une matrice 1 par 8.
Comme je ne savais pas combien de sacs tu allais avoir à traiter, j'ai rendu le dimensionnement en nombre de colonnes dépendant de ta zone "sacs" : $I$3:$I$10.
Dans la formule TRANSPOSE(--(LIGNE(INDIRECT("1:"&LIGNES($I$3:$I$10)))>0)), LIGNES($I$3:$I$10) fournit 8, soit le nombre de sacs (nbre de lignes de la zone I3:I10).
LIGNE(INDIRECT("1:"&LIGNES($I$3:$I$10))) donnera donc LIGNE(INDIRECT("1:8")) ou encore, la séquence verticale des chiffres 1 à 8.
LIGNE(INDIRECT("1:"&LIGNES($I$3:$I$10)))>0 va comparer chaque terme de la séquence de chiffres de 1 à 8 avec 0. J'obtiendrai donc une séquence verticale de 8 valeur booléennes VRAI.
Je transforme les VRAI en 1 grâce au -- (double moins). Certains utilisent le 1* plutôt que le --. Moi, j'aime bien le --.
J'ai donc une séquence verticale de 8 uns que la fonction TRANSPOSE() me transforme en séquence horizontale de 8 uns.
Si ton nombre de sacs est stable à 8, tu peux remplacer TRANSPOSE(--(LIGNE(INDIRECT("1:"&LIGNES($I$3:$I$10)))>0)) par {1.1.1.1.1.1.1.1}. C'est plus court.
Pourquoi la matrice ligne de 1 :
Parce que je ne sais pas faire autrement.....
Je veux obtenir les totaux marginaux de chaque colonne de la matrice B3:B10*J3:O10.
En calcul matriciel (je parle algèbre linéaire), dans un produit, la matrice de gauche agit sur les lignes de la matrice de droite et celle de droite agit sur les colonnes de celle de gauche.
On s'en rend compte en multipliant une matrice quelconque par une matrice de permutation à gauche puis à droite.
On s'en rend également compte quand on multiplie une matrice quelconque à gauche par un vecteur ligne de 1 ou à droite par un vecteur colonne de 1.
Le premier produit donne une matrice ligne des sommes de chaque colonne. Le second, une matrice colonne des sommes de chaque lignes.
Il faut que les dimensions de chaque composante du produit soient conformes : le nbre de colonnes du vecteur ligne = nbre de lignes de la matrice et nbre de lignes du vecteur colonne = nbre de colonnes de la matrice.
Comme le résultat d'une multiplication a le nbre de lignes de la matrice de gauche et le nbre de colonnes de celle de droite, dans tes formules tu obtiendras une matrice 1 ligne par nbre_de_jouets colonnes.
C'est plutôt cohérent.
Je ne pense pas m'être planté dans mes explications entre gauche/droite et lignes/colonnes.
Je te renvoies ton fichier modifié.
C'est vrai que les modif n'étaient si simple que ça.
Cordialement
https://www.cjoint.com/c/GKuroDZJlXQ
L'explication pour le ("1:"... :
je cherche à créer une matrice ligne remplie de 1. Je pourrais utiliser {1.1.1.1.1.1.1.1} qui me donne le résultat pour une matrice 1 par 8.
Comme je ne savais pas combien de sacs tu allais avoir à traiter, j'ai rendu le dimensionnement en nombre de colonnes dépendant de ta zone "sacs" : $I$3:$I$10.
Dans la formule TRANSPOSE(--(LIGNE(INDIRECT("1:"&LIGNES($I$3:$I$10)))>0)), LIGNES($I$3:$I$10) fournit 8, soit le nombre de sacs (nbre de lignes de la zone I3:I10).
LIGNE(INDIRECT("1:"&LIGNES($I$3:$I$10))) donnera donc LIGNE(INDIRECT("1:8")) ou encore, la séquence verticale des chiffres 1 à 8.
LIGNE(INDIRECT("1:"&LIGNES($I$3:$I$10)))>0 va comparer chaque terme de la séquence de chiffres de 1 à 8 avec 0. J'obtiendrai donc une séquence verticale de 8 valeur booléennes VRAI.
Je transforme les VRAI en 1 grâce au -- (double moins). Certains utilisent le 1* plutôt que le --. Moi, j'aime bien le --.
J'ai donc une séquence verticale de 8 uns que la fonction TRANSPOSE() me transforme en séquence horizontale de 8 uns.
Si ton nombre de sacs est stable à 8, tu peux remplacer TRANSPOSE(--(LIGNE(INDIRECT("1:"&LIGNES($I$3:$I$10)))>0)) par {1.1.1.1.1.1.1.1}. C'est plus court.
Pourquoi la matrice ligne de 1 :
Parce que je ne sais pas faire autrement.....
Je veux obtenir les totaux marginaux de chaque colonne de la matrice B3:B10*J3:O10.
En calcul matriciel (je parle algèbre linéaire), dans un produit, la matrice de gauche agit sur les lignes de la matrice de droite et celle de droite agit sur les colonnes de celle de gauche.
On s'en rend compte en multipliant une matrice quelconque par une matrice de permutation à gauche puis à droite.
On s'en rend également compte quand on multiplie une matrice quelconque à gauche par un vecteur ligne de 1 ou à droite par un vecteur colonne de 1.
Le premier produit donne une matrice ligne des sommes de chaque colonne. Le second, une matrice colonne des sommes de chaque lignes.
Il faut que les dimensions de chaque composante du produit soient conformes : le nbre de colonnes du vecteur ligne = nbre de lignes de la matrice et nbre de lignes du vecteur colonne = nbre de colonnes de la matrice.
Comme le résultat d'une multiplication a le nbre de lignes de la matrice de gauche et le nbre de colonnes de celle de droite, dans tes formules tu obtiendras une matrice 1 ligne par nbre_de_jouets colonnes.
C'est plutôt cohérent.
Je ne pense pas m'être planté dans mes explications entre gauche/droite et lignes/colonnes.
Je te renvoies ton fichier modifié.
C'est vrai que les modif n'étaient si simple que ça.
Cordialement
https://www.cjoint.com/c/GKuroDZJlXQ