Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1474 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  formule excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

formule excel

n°2023074
nashoba
Posté le 15-09-2010 à 14:23:35  profilanswer
 

Bonjour à tous
 
je suis à la recherche de quelqu'un qui pourait m'aidé à rediger cette formule car je bloque, merci d'avance.
 
RECHERCHE si dans une colonne de nom il se trouve une refférence X, si la référence X apparée devant un ou plusieur jour du mois de JANVIER de la colonne DATE, additionnez toutes les célule d'une troisieme colonne corréspondant aux critére demandé.
 
Bonne journée.        
       
       

mood
Publicité
Posté le 15-09-2010 à 14:23:35  profilanswer
 

n°2023107
gocho
Posté le 15-09-2010 à 16:27:11  profilanswer
 

si on doit t'aider, quelle est ta proposition ? tu en es ou ?

 

Si j'ai bien compris, tu as un truc du style :

Code :
  1. nom   |   date     |    val
  2. --------------------------------
  3. test  |  JANVIER   |  120
  4. toto  |  JANVIER   |   80
  5. titi  |   FEVRIER  |   10
  6. tata  |   JANVIER  |   20
  7. toto  |   FEVRIER  |   200
  8. toto  |   JANVIER  |   140
  9. toto  |   MARS     |   10
 

Si tout est clair, ici, par exemple, ta reference est la colonne Nom, la date est date et tu cherches à additionner les valeurs de la colonne val.
C'est bien ca ?

 

Donc, encore par exemple, avec la formule pour la reference toto au mois de janvier, tu dois obtenir : 220.
tjs ca hein ?

 


concrètement, un somme.si combiné à une formule matricielle et ca roule :)


Message édité par gocho le 15-09-2010 à 16:37:27
n°2023294
nashoba
Posté le 16-09-2010 à 13:55:46  profilanswer
 

Bonjour gocho
Dans la colonne date se sont des dates et non des mois pour l'annnée j'ais trouvé mais chaques nom est representé plusieur fois dans chaques mois c'est se qui me bloque car j'ais troix ligne de valeur à mêtre en correspondance.
 
Merci

n°2023297
nashoba
Posté le 16-09-2010 à 14:00:33  profilanswer
 

gocho
 
un somme.si OK une feuille matricielle?

n°2023318
nashoba
Posté le 16-09-2010 à 15:21:11  profilanswer
 

Voila en gros se que je cherche et qui ne marche pas!
 
SOMME.SI(SI (A:A;NOM);$B$1:$B$64732;DATE;$E$1:$E$64732)
               colonne NOM      colonne date          colonne de resultats
                                                 

n°2023334
gocho
Posté le 16-09-2010 à 16:02:48  profilanswer
 

Oui, formule matricielle.
C'est un type de formule à valider par Ctrl+shift+entrée.

 

Concrètement, pour récupérer la bonne valeur au dessus, voici la formule que j'ai utilisé. Tu devrais aisément pouvoir l'adapter à ton cas (notamment pour les mois)

 
Code :
  1. {=SOMME(SI((nom="toto" )*(date="JANVIER" );val;0))}
 

ps : les accolades ne sont pas à écrire dans la formule, elles se mettent automatiquement lorsque tu valide avec ctrl+shift+entrée.

 

ps2 : J'avais nommé les différentes plages, ce sont les noms "nom", "date" et "val". Si tu n'as pas nommé de plages, tu peux utiliser les plages habituelles "A1:A8", etc.

 

ps3 : pour ce qui est du mois, ca devrait être un truc de type

Code :
  1. (MOIS(date)="04" )
 

la fonction MOIS() te récupérant uniquement le numéro du mois de la cellule indiquée.


Message édité par gocho le 16-09-2010 à 16:06:37
n°2023391
nashoba
Posté le 16-09-2010 à 21:09:54  profilanswer
 

cette formule fonctionne mais elle me renvoi un resultat qui est fossé par le format de la date et j'ais tenté toute les formes que je connaissé :(
 
{=SOMME(SI((colonne nom="nom" );(colonne date=date);colonne resulta))}

n°2023394
nashoba
Posté le 16-09-2010 à 21:29:31  profilanswer
 

SA MARCHE, mais que sur une date et pas sur un groupe de dates.
Si sur une année je ne sélectionne que quelques dates qui se suivent sa ne marche pas.
 
{=SOMME(SI((colonne nom="nom" )*(colonne date=date);colonne resultat))}

n°2023399
gocho
Posté le 16-09-2010 à 22:07:31  profilanswer
 

déjà, tu as supprimé le ";0" qu'il y avait à la fin de mon exemple.
Je sais plus s'il est fondamental, mais dans le doute, laisse le :o

 

Ensuite, comment ca, ca ne fonctionne pas sur un groupe de dates?
Donnes des exemples concrets, c'est plus parlant.


Message édité par gocho le 16-09-2010 à 22:11:24
n°2023404
nashoba
Posté le 16-09-2010 à 22:47:58  profilanswer
 

En fait si tu prend pex la date du jour (dates1) et uniquement celle-ci sa fonctionne, par contre si tu prend (dates1:3) sa ne marche pas!
  dates
1 16/09/2010
2 17/09/2010
3 18/09/2010
 
le ";0" n'est apparement pas fondamental sauf si les colonnes sont vides.
je viens de faire 3 feuilles de 12 mois et tous les résultats sont justes. :)

mood
Publicité
Posté le 16-09-2010 à 22:47:58  profilanswer
 

n°2023458
gocho
Posté le 17-09-2010 à 10:00:21  profilanswer
 

Ah, si tu souhaites prendre plusieurs dates, va falloir rajouter un critère

 

Par exemple :

Code :
  1. =SOMME(SI((nom="toto" )*(DATEVAL(date)<=DATEVAL("17/1/2010" ))*(DATEVAL(date)>DATEVAL("13/01/2010" ));val;0))
 

Avec cette formule, tu vas récupérer la somme de toutes les refs "toto" aux dates comprises entre le 14 et le 16/01/2010.

 

Attention quand même, pour que la fonction dateval() fonctionne sur tes dates, il faut qu'elles soient au format texte.


Message édité par gocho le 17-09-2010 à 10:03:27
n°2023593
galopin01
Posté le 18-09-2010 à 15:43:30  profilanswer
 

bonjour,
3 autres solutions (En fait c'est la même déclinée dans ses trois variantes).
 
Très souple. On pourrait sans problème ajouter une quatrième condition...
...Mais les deux premières variantes ne supportent aucun "trou" dans les colonnes.
 
la démo
A+

n°2023608
gocho
Posté le 18-09-2010 à 19:15:12  profilanswer
 

C'est pas faux.
J'ai furieusement tendance à oublier Sommeprod(), alors que je l'ai pas mal utilisé ^^

 

edit : a ce sujet, une fonction que je ne peux pas utiliser au travail (puisqu'étant sur excel 2000, la formule est apparue sur les versions suivantes) mais qui devrait fonctionner facilement aussi :

Code :
  1. somme.si.ens(plage_a_sommer;plage_criteres_1;critere1[;plage_critere2;critere2])
 

C'est l'équivalent de la solution que j'ai donné plus haut, mais standardisé. On se passe du côté "matriciel" (bien que ca doive être géré comme tel par excel derrière)


Message édité par gocho le 18-09-2010 à 19:20:06

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  formule excel

 

Sujets relatifs
[excel] Incrémenter une formule.[VBA Excel] Changer la couleur suite a une formule
[Excel] Formule de recherche multicritèreFormule excel
problème formule excel : valeur d'une cellule précise dans zone nommeePb Formule bateau Excel
[EXCEL] Formule de comparason de dateComment créer une formule Excel en VBS
Aide sur Excel pour formule compliquée![AIDE] Formule Excel avec nom de feuille variable
Plus de sujets relatifs à : formule excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR