A voir également:
- Excel repérer mêmes valeurs dans colonne
- Déplacer une colonne excel - Guide
- Formule somme excel colonne - Guide
- Trier colonne excel - Guide
- Liste déroulante excel - Guide
- Figer colonne excel - Guide
14 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 713
23 juil. 2008 à 08:56
23 juil. 2008 à 08:56
bonjour
Sans connaître mieux tes données, je te proposes ceci à adapter à ton cas :
formule à mettre sur la colonne où tu veux les totaux journaliers.
Sans connaître mieux tes données, je te proposes ceci à adapter à ton cas :
=SOMMEPROD((B$1:B10=B1)*(C$1:C10=C1)*(H$1:H10))
formule à mettre sur la colonne où tu veux les totaux journaliers.
Bonjour gbinforme,
Merci de me donner cette piste. Malheureusement je crois que ça ne fonctionnera pas.
Depuis hier j'ai un peu avancé et certaines choses ont changé.
Du coup ce n'est plus la somme qu'il me faut mais la moyenne par jour. Si je suis pas trop bête, je pense que ça donnerai ça:
=MOYENNEPROD((B$1:B10=B1)*(C$1:C10=C1)*(H$1:H10)) ?
Et si je veux que cette formule prenne en compte toutes les lignes de la colonne, ça donnerai ça:
=MOYENNEPROD((B$1:B$65536=B1)*(C$1:C1$65536=C1)*(H$1:H$65536)) ?
A tout cela j'ajoute une nouvelle difficulté; je vais chercher les données sur une autre feuille ("valeur journalière").
du coup ma formule qui ne fonctionne toujours pas est:
=MOYENNEPROD(('valeur journalière'!)(B$1:B$65536=B1)*(C$1:C1$65536=C1)*(H$1:H$65536))
Où est l'erreur?
Si tu as besoin de plus de précision dis-le moi et je te renseigne au plus vite.
Merci de m'aider
Merci de me donner cette piste. Malheureusement je crois que ça ne fonctionnera pas.
Depuis hier j'ai un peu avancé et certaines choses ont changé.
Du coup ce n'est plus la somme qu'il me faut mais la moyenne par jour. Si je suis pas trop bête, je pense que ça donnerai ça:
=MOYENNEPROD((B$1:B10=B1)*(C$1:C10=C1)*(H$1:H10)) ?
Et si je veux que cette formule prenne en compte toutes les lignes de la colonne, ça donnerai ça:
=MOYENNEPROD((B$1:B$65536=B1)*(C$1:C1$65536=C1)*(H$1:H$65536)) ?
A tout cela j'ajoute une nouvelle difficulté; je vais chercher les données sur une autre feuille ("valeur journalière").
du coup ma formule qui ne fonctionne toujours pas est:
=MOYENNEPROD(('valeur journalière'!)(B$1:B$65536=B1)*(C$1:C1$65536=C1)*(H$1:H$65536))
Où est l'erreur?
Si tu as besoin de plus de précision dis-le moi et je te renseigne au plus vite.
Merci de m'aider
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 713
23 juil. 2008 à 18:03
23 juil. 2008 à 18:03
bonjour
Pour utiliser une autre feuille la syntaxe est celle-ci
Par contre la moyenne n'existe pas et donc il faut la coder
Pour utiliser une autre feuille la syntaxe est celle-ci
=SOMMEPROD(('valeur journalière'!B$1:B10='valeur journalière'!B1)* ('valeur journalière'!C$1:C10='valeur journalière'!C1)*('valeur journalière'!H$1:H10))
Par contre la moyenne n'existe pas et donc il faut la coder
=SOMMEPROD(('valeur journalière'!B$1:B10='valeur journalière'!B1)* ('valeur journalière'!C$1:C10='valeur journalière'!C1)*('valeur journalière'!H$1:H10)) /SOMMEPROD(('valeur journalière'!B$1:B10='valeur journalière'!B1)* ('valeur journalière'!C$1:C10='valeur journalière'!C1)*1)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai un ptit problème:
Je ne trouve pas la même moyenne avec ta formule (=10,50) et avec la formule toute simple MOYENNE(x:x) (=10,60).
...?
Petite question,
dans ta formule:
=SOMMEPROD(('valeur journalière'!B$2:B10='valeur journalière'!B2)*
('valeur journalière'!C$2:C10='valeur journalière'!C2)*('valeur journalière'!H$2:H10))
/SOMMEPROD(('valeur journalière'!B$2:B10='valeur journalière'!B2)*
('valeur journalière'!C$2:C10='valeur journalière'!C2)*1)
Que représente le dernier "1"?
Je ne trouve pas la même moyenne avec ta formule (=10,50) et avec la formule toute simple MOYENNE(x:x) (=10,60).
...?
Petite question,
dans ta formule:
=SOMMEPROD(('valeur journalière'!B$2:B10='valeur journalière'!B2)*
('valeur journalière'!C$2:C10='valeur journalière'!C2)*('valeur journalière'!H$2:H10))
/SOMMEPROD(('valeur journalière'!B$2:B10='valeur journalière'!B2)*
('valeur journalière'!C$2:C10='valeur journalière'!C2)*1)
Que représente le dernier "1"?
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 713
24 juil. 2008 à 10:39
24 juil. 2008 à 10:39
bonjour
Je ne trouve pas la même moyenne avec ta formule (=10,50) et avec la formule toute simple MOYENNE(x:x) (=10,60)
La formule de la moyenne est pourtant la même mais ta formule sur la colonne doit trouver d'autres valeurs.
Que représente le dernier "1"?
Il compte le nombre de cellules concernées par l'égalité sur colonne B et C.
Quand tu mets B10, H10 etc, cela veut-il dire que ma moyenne prend en compte que 10 lignes?
Absolument, si tu as 10000 lignes tu remplaces par 10000.
Il faut que dans ta feuille résultats tu ais le même nombre de lignes ou bien que tu te crées un tableau avec les valeurs B et C à comptabiliser puis tu changes ainsi ta formule :
Cependant, pour faire tes cumuls, cela serait plus simple de créer un tableau croisé dynamique.
Je ne trouve pas la même moyenne avec ta formule (=10,50) et avec la formule toute simple MOYENNE(x:x) (=10,60)
La formule de la moyenne est pourtant la même mais ta formule sur la colonne doit trouver d'autres valeurs.
Que représente le dernier "1"?
Il compte le nombre de cellules concernées par l'égalité sur colonne B et C.
Quand tu mets B10, H10 etc, cela veut-il dire que ma moyenne prend en compte que 10 lignes?
Absolument, si tu as 10000 lignes tu remplaces par 10000.
Il faut que dans ta feuille résultats tu ais le même nombre de lignes ou bien que tu te crées un tableau avec les valeurs B et C à comptabiliser puis tu changes ainsi ta formule :
=SOMMEPROD(('valeur journalière'!B$1:B10=B1)*('valeur journalière'!C$1:C10=C1)*('valeur journalière'!H$1:H10))/SOMMEPROD(('valeur journalière'!B$1:B10=B1)*('valeur journalière'!C$1:C10=C1)*1)
Cependant, pour faire tes cumuls, cela serait plus simple de créer un tableau croisé dynamique.
Justement ce tableau est la source de mon tableau croisé dynamique.
Le nombre de lignes va varier au fil du temps.
Du coup j'ai essayé de remplacer le 10 par le maximum (65536), mais là j'obtiens le joli message : #N/A
Le nombre de lignes va varier au fil du temps.
Du coup j'ai essayé de remplacer le 10 par le maximum (65536), mais là j'obtiens le joli message : #N/A
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 713
24 juil. 2008 à 12:23
24 juil. 2008 à 12:23
bonjour
Pourquoi créer un tableau pour être la source de ton TCD ?
Ton tableau croisé est tout à fait capable de te fournir la somme, la moyenne à partir des données brutes.
Pour que ton tableau suive l'évolution de ta base, il te suffit de le créer en ayant nommé une plage comme ceci par exemple dans "insertion" / "noms" / "définir" :
Ainsi quand tu actualises ton TCD les modification sont prise en compte en appliquant "tablo" à la plage du TCD.
Pourquoi créer un tableau pour être la source de ton TCD ?
Ton tableau croisé est tout à fait capable de te fournir la somme, la moyenne à partir des données brutes.
Pour que ton tableau suive l'évolution de ta base, il te suffit de le créer en ayant nommé une plage comme ceci par exemple dans "insertion" / "noms" / "définir" :
tablo =DECALER('valeur journalière'!$B$1;;;NBVAL('valeur journalière'!$B:$B);7)
Ainsi quand tu actualises ton TCD les modification sont prise en compte en appliquant "tablo" à la plage du TCD.
Oui je connais les calculs que le TCD peut faire. Cependant je lui demanderai par la suite de me faire la moyenne de mes moyennes journalières.
Bonjour gbinforme,
Je galère..!
J'ai adapté ta formule avec mes critères et je fais ça:
=SOMMEPROD(('valeur journalière'!B$3:B$65536='valeur journalière'!B3)*
('valeur journalière'!C$3:C$65536='valeur journalière'!C3)*('valeur journalière'!H$3:H$65536))
/SOMMEPROD(('valeur journalière'!B$3:B$65536='valeur journalière'!B3)*
('valeur journalière'!C$3:C$65536='valeur journalière'!C3)*)
Et là, dans la cellule j'obtiens #VALEUR!
Qu'est-ce que j'ai mal fais??
Je galère..!
J'ai adapté ta formule avec mes critères et je fais ça:
=SOMMEPROD(('valeur journalière'!B$3:B$65536='valeur journalière'!B3)*
('valeur journalière'!C$3:C$65536='valeur journalière'!C3)*('valeur journalière'!H$3:H$65536))
/SOMMEPROD(('valeur journalière'!B$3:B$65536='valeur journalière'!B3)*
('valeur journalière'!C$3:C$65536='valeur journalière'!C3)*)
Et là, dans la cellule j'obtiens #VALEUR!
Qu'est-ce que j'ai mal fais??
Formule actuelle:
=SOMMEPROD(('valeur journalière'!B$3:B$65536='valeur journalière'!B3)*
('valeur journalière'!C$3:C$65536='valeur journalière'!C3)*('valeur journalière'!H$3:H$65536))
/SOMMEPROD(('valeur journalière'!B$3:B$65536='valeur journalière'!B3)*
('valeur journalière'!C$3:C$65536='valeur journalière'!C3)*96)
=SOMMEPROD(('valeur journalière'!B$3:B$65536='valeur journalière'!B3)*
('valeur journalière'!C$3:C$65536='valeur journalière'!C3)*('valeur journalière'!H$3:H$65536))
/SOMMEPROD(('valeur journalière'!B$3:B$65536='valeur journalière'!B3)*
('valeur journalière'!C$3:C$65536='valeur journalière'!C3)*96)
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 713
25 juil. 2008 à 10:02
25 juil. 2008 à 10:02
bonjour
Ta formule est très lourde et longue en temps de calcul.
Pour obtenir un résultat plus efficace tu devrais nommer tes zones par exemple
en remplaçant 2 par le nombre de cellules documentées dans le titre
Ensuite la formule est plus rapide et plus facile
Ta formule est très lourde et longue en temps de calcul.
Pour obtenir un résultat plus efficace tu devrais nommer tes zones par exemple
jours =DECALER('valeur journalière'!$B$3;;;NBVAL('valeur journalière'!$B:$B)-2;1)
en remplaçant 2 par le nombre de cellules documentées dans le titre
Ensuite la formule est plus rapide et plus facile
=SOMMEPROD((jours='valeur journalière'!B3)*(mois='valeur journalière'!C3)*(nombre)) /SOMMEPROD((jours='valeur journalière'!B3)*(mois='valeur journalière'!C3)*96)
Bonjour bonjour
Pour le moment j'ai réussi à m'en sortir avec une longue formule (année/mois/jour/mode/gaz):
=SOMME(SI(((('valeurs semi-horaire'!B3:B20000)='Moyenne relevés'!B4)*(('valeurs semi-horaire'!C3:C20000)='Moyenne relevés'!C4)*(('valeurs semi-horaire'!E3:E20000)='Moyenne relevés'!E4)*('valeurs semi-horaire'!H3:H20000='Moyenne relevés'!D4));('valeurs semi-horaire'!G3:G20000);0))/(SOMME(SI(((('valeurs semi-horaire'!B3:B20000)='Moyenne relevés'!B4)*(('valeurs semi-horaire'!C3:C20000)='Moyenne relevés'!C4)*(('valeurs semi-horaire'!E3:E20000)='Moyenne relevés'!E4)*('valeurs semi-horaire'!H3:H20000='Moyenne relevés'!D4));1;0)))
Mais comme prévu ça alourdi mon fichier et Excel met un temps fou à démarrer...
Du coup je vais réessayer en nommant mes zones..
Par contre je ne connais pas le nombre de lignes car il sera modifié sans cesse. C'est pour cela que pour le moment, dans ma formule j'ai mit "20 000" arbitrairement..
à la place du 2 je met 20 000, ou il existe une autre appelation plus vague pour prendre en compte toute les lignes de mes colonnes?
Pour le moment j'ai réussi à m'en sortir avec une longue formule (année/mois/jour/mode/gaz):
=SOMME(SI(((('valeurs semi-horaire'!B3:B20000)='Moyenne relevés'!B4)*(('valeurs semi-horaire'!C3:C20000)='Moyenne relevés'!C4)*(('valeurs semi-horaire'!E3:E20000)='Moyenne relevés'!E4)*('valeurs semi-horaire'!H3:H20000='Moyenne relevés'!D4));('valeurs semi-horaire'!G3:G20000);0))/(SOMME(SI(((('valeurs semi-horaire'!B3:B20000)='Moyenne relevés'!B4)*(('valeurs semi-horaire'!C3:C20000)='Moyenne relevés'!C4)*(('valeurs semi-horaire'!E3:E20000)='Moyenne relevés'!E4)*('valeurs semi-horaire'!H3:H20000='Moyenne relevés'!D4));1;0)))
Mais comme prévu ça alourdi mon fichier et Excel met un temps fou à démarrer...
Du coup je vais réessayer en nommant mes zones..
Par contre je ne connais pas le nombre de lignes car il sera modifié sans cesse. C'est pour cela que pour le moment, dans ma formule j'ai mit "20 000" arbitrairement..
à la place du 2 je met 20 000, ou il existe une autre appelation plus vague pour prendre en compte toute les lignes de mes colonnes?