Création de listes par date
Résolu/Fermé
Licorne rose
Messages postés
997
Date d'inscription
mardi 10 juillet 2007
Statut
Membre
Dernière intervention
18 janvier 2024
-
16 avril 2015 à 16:51
Licorne rose Messages postés 997 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 18 janvier 2024 - 14 mai 2015 à 15:15
Licorne rose Messages postés 997 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 18 janvier 2024 - 14 mai 2015 à 15:15
A voir également:
- Création de listes par date
- Creation compte gmail - Guide
- Création liste déroulante excel - Guide
- Création compte google - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Création groupe whatsapp - Guide
8 réponses
Licorne rose
Messages postés
997
Date d'inscription
mardi 10 juillet 2007
Statut
Membre
Dernière intervention
18 janvier 2024
227
16 avril 2015 à 18:09
16 avril 2015 à 18:09
En fait j'ai trouvé. Ca intéressera peut-être quelqu'un alors je dis ce que j'ai fait.
D'abord je nomme "plage" la plage A2:A20 de Feuil1.
Dans Feuil2 je crée les colonnes intermédiaires B et C qui seront masquées, le résultat apparaîtra dans la colonne D. Je pourrais m'en passer mais la formule finale est plutôt lourde...
Formules :
pour B2
=NB.SI(plage;A2)
pour C2
=EQUIV(A2;plage;0)
pour D2
=SI(ESTERREUR(C2);0;SOMME(DECALER(Feuil1!B$2;Feuil2!C2-1;0;Feuil2!B2;1)))
Dans Feuil3, idem avec MAX à la place de SOMME.
Ça marche mais c'est bien compliqué. Quelqu'un connaît-il plus simple ? Avec du calcul matriciel ?
Je laisse le fil ouvert pour le cas où quelqu'un aurait une idée plus simple.
D'abord je nomme "plage" la plage A2:A20 de Feuil1.
Dans Feuil2 je crée les colonnes intermédiaires B et C qui seront masquées, le résultat apparaîtra dans la colonne D. Je pourrais m'en passer mais la formule finale est plutôt lourde...
Formules :
pour B2
=NB.SI(plage;A2)
pour C2
=EQUIV(A2;plage;0)
pour D2
=SI(ESTERREUR(C2);0;SOMME(DECALER(Feuil1!B$2;Feuil2!C2-1;0;Feuil2!B2;1)))
Dans Feuil3, idem avec MAX à la place de SOMME.
Ça marche mais c'est bien compliqué. Quelqu'un connaît-il plus simple ? Avec du calcul matriciel ?
Je laisse le fil ouvert pour le cas où quelqu'un aurait une idée plus simple.
tontong
Messages postés
2567
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
20 novembre 2024
1 059
16 avril 2015 à 19:03
16 avril 2015 à 19:03
Bonjour,
Pour le total par jour en Feuil2!B2
=SOMMEPROD((Feuil1!$A$2:$A$20=A2)*(Feuil1!$B$2:$B$20))
À recopier
Pour le maxi par jour en Feuil3!B2 une matricielle à valider par Ctrl+Shift+Enter
=MAX(SI(Feuil1!$A$2:$A$20=A2;Feuil1!$B$2:$B$20;0))
À recopier.
Note personnelle:la bonne solution est celle que l'on maitrise bien;-)
Pour le total par jour en Feuil2!B2
=SOMMEPROD((Feuil1!$A$2:$A$20=A2)*(Feuil1!$B$2:$B$20))
À recopier
Pour le maxi par jour en Feuil3!B2 une matricielle à valider par Ctrl+Shift+Enter
=MAX(SI(Feuil1!$A$2:$A$20=A2;Feuil1!$B$2:$B$20;0))
À recopier.
Note personnelle:la bonne solution est celle que l'on maitrise bien;-)
Licorne rose
Messages postés
997
Date d'inscription
mardi 10 juillet 2007
Statut
Membre
Dernière intervention
18 janvier 2024
227
16 avril 2015 à 19:11
16 avril 2015 à 19:11
Super, Tontong, merci beaucoup, c'est mieux que ce que j'ai fait.
Bonne soirée.
Bonne soirée.
Licorne rose
Messages postés
997
Date d'inscription
mardi 10 juillet 2007
Statut
Membre
Dernière intervention
18 janvier 2024
227
16 avril 2015 à 20:47
16 avril 2015 à 20:47
Rebonjour Tontong,
Je ne connais pas ça :
(Feuil1!$A$2:$A$20=A2)
c'est une colonne comportant des VRAI et des FAUX ?
Je ne connais pas ça :
(Feuil1!$A$2:$A$20=A2)
c'est une colonne comportant des VRAI et des FAUX ?
tontong
Messages postés
2567
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
20 novembre 2024
1 059
17 avril 2015 à 11:57
17 avril 2015 à 11:57
Ce ne sera une colonne avec des Vrai et des Faux que lorsque cette condition sera effectuée dans une matricielle. Sommeprod est une matricielle cachée sous l'aspect d'une fonction ordinaire et validée comme telle avec Enter.
On peut écrire (Feuil1!$A$2:$A$20=Feuil2!A2) ou (maplage=Feuil2!A2) si Feuil1!$A$2:$A$20 a été nommé maplage.
On peut écrire (Feuil1!$A$2:$A$20=Feuil2!A2) ou (maplage=Feuil2!A2) si Feuil1!$A$2:$A$20 a été nommé maplage.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Licorne rose
Messages postés
997
Date d'inscription
mardi 10 juillet 2007
Statut
Membre
Dernière intervention
18 janvier 2024
227
16 avril 2015 à 20:54
16 avril 2015 à 20:54
Pourquoi n'écrit-on pas
=SOMMEPROD((Feuil1!$A$2:$A$20=A2);(Feuil1!$B$2:$B$20))
?
Dans l'outil de saisie de fonction on doit saisir successiement 2 plages...
=SOMMEPROD((Feuil1!$A$2:$A$20=A2);(Feuil1!$B$2:$B$20))
?
Dans l'outil de saisie de fonction on doit saisir successiement 2 plages...
tontong
Messages postés
2567
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
20 novembre 2024
1 059
17 avril 2015 à 12:09
17 avril 2015 à 12:09
Pourquoi n'écrit-on pas
=SOMMEPROD((Feuil1!$A$2:$A$20=A2);(Feuil1!$B$2:$B$20))
parce que ce n'est pas correct lorsque la fonction veut effectuer les produits avant d'en faire la somme.
Il faut transformer la première condition.
On pourrait écrire:
=SOMMEPROD(--(Feuil1!$A$2:$A$20=Feuil2!A2);Feuil1!$B$2:$B$20) ou
=SOMMEPROD(--(Feuil1!$A$2:$A$20=A2);Feuil1!$B$2:$B$20) ou
=SOMMEPROD((Feuil1!$A$2:$A$20=Feuil2!A2)*1;Feuil1!$B$2:$B$20) ou
=SOMMEPROD((Feuil1!$A$2:$A$20=A2)*Feuil1!$B$2:$B$20) ou
...On peut en trouver d'autres.
Nota l'opérateur --( ) est équivalent à ( )*1
=SOMMEPROD((Feuil1!$A$2:$A$20=A2);(Feuil1!$B$2:$B$20))
parce que ce n'est pas correct lorsque la fonction veut effectuer les produits avant d'en faire la somme.
Il faut transformer la première condition.
On pourrait écrire:
=SOMMEPROD(--(Feuil1!$A$2:$A$20=Feuil2!A2);Feuil1!$B$2:$B$20) ou
=SOMMEPROD(--(Feuil1!$A$2:$A$20=A2);Feuil1!$B$2:$B$20) ou
=SOMMEPROD((Feuil1!$A$2:$A$20=Feuil2!A2)*1;Feuil1!$B$2:$B$20) ou
=SOMMEPROD((Feuil1!$A$2:$A$20=A2)*Feuil1!$B$2:$B$20) ou
...On peut en trouver d'autres.
Nota l'opérateur --( ) est équivalent à ( )*1
Licorne rose
Messages postés
997
Date d'inscription
mardi 10 juillet 2007
Statut
Membre
Dernière intervention
18 janvier 2024
227
14 mai 2015 à 13:57
14 mai 2015 à 13:57
Bonjour Tontong,
J'ai été absent d'Internet pendant longtemps ! Alors excuse mon silence.
Je vais regarder ta réponse mais ça m'a l'air compliqué !!
LR
J'ai été absent d'Internet pendant longtemps ! Alors excuse mon silence.
Je vais regarder ta réponse mais ça m'a l'air compliqué !!
LR
tontong
Messages postés
2567
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
20 novembre 2024
1 059
14 mai 2015 à 15:08
14 mai 2015 à 15:08
Bonjour,
Ce n'est pas très compliqué, ce n'est qu'un problème de syntaxe avec une fonction qui fonctionne comme une matricielle. La syntaxe de base proposée par l'assistant de fonction: Sommeprod(champA;champB), va faire la somme des produits soit (A1*B1)+(A2*B2)+(A3*B3).
Pour exprimer une condition sur l'un des champs il faut adapter la syntaxe.
Essayez de faire un petit exemple:
A1 =10 A2=20 A3=30
B1=1 B2=2 B3=3
=SOMMEPROD(A1:A3;B1:B3) --> 140
=SOMMEPROD((A1:A3=A1)*1;B1:B3) -->1 (*1 effectue la condition)
=SOMMEPROD((A1:A3=A1);B1:B3) -->0
Vous pouvez essayer les syntaxes suggérée au #7, je ne les ai citées que parce qu'on peut les rencontrer, à chacun ses petites manies.
Ce n'est pas très compliqué, ce n'est qu'un problème de syntaxe avec une fonction qui fonctionne comme une matricielle. La syntaxe de base proposée par l'assistant de fonction: Sommeprod(champA;champB), va faire la somme des produits soit (A1*B1)+(A2*B2)+(A3*B3).
Pour exprimer une condition sur l'un des champs il faut adapter la syntaxe.
Essayez de faire un petit exemple:
A1 =10 A2=20 A3=30
B1=1 B2=2 B3=3
=SOMMEPROD(A1:A3;B1:B3) --> 140
=SOMMEPROD((A1:A3=A1)*1;B1:B3) -->1 (*1 effectue la condition)
=SOMMEPROD((A1:A3=A1);B1:B3) -->0
Vous pouvez essayer les syntaxes suggérée au #7, je ne les ai citées que parce qu'on peut les rencontrer, à chacun ses petites manies.
Licorne rose
Messages postés
997
Date d'inscription
mardi 10 juillet 2007
Statut
Membre
Dernière intervention
18 janvier 2024
227
14 mai 2015 à 15:15
14 mai 2015 à 15:15
Super, merci Tontong, mille mercis pour ta gentillesse.
Demain je ferai dans l'ordre tout ce que tu as dit, cette fonction est vraiment intéressante.
Demain je ferai dans l'ordre tout ce que tu as dit, cette fonction est vraiment intéressante.