[XL 2010-WIN] Somme d'une colonne si date contient mois an

Bonjour,

j'ai un petit souci. J'ai trouvé plusieurs exemples pour du texte ou des années ou des mois ... mais rien pour mon cas (pour l'instant)

Voilà mon souci.

J'ai des données comme suit:

Colonne A (Format date)

02/02/2017 (qui s'affiche 02 février 2017)

09/02/2017 (qui ...)

17/02/2016 (qui ...)

28/03/2017 (qui ...)

Colonne B (format Générale qui est le résultat d'une fonction)

1

10

5

4

==> j'aimerai dans une cellule additionner les valeurs dans la colonne B si dans la colonne A on a *02/2017.

Le résultat devrait être 11

Pouvez-vous m'aider?

Merci d'avance

Bonjour,

Comme on le mentionne souvent, un fichier exemple permettrait d'être plus précis et de vérifier s'il n'y a pas de situations particulières qui demanderaient un ajustement ... À vue de nez, quelque chose comme

=SOMMEPROD((MOIS(A1:A10)=2)*(ANNEE(A1:A10)=2017)*(B1:B10))

pourrait fonctionner (dans des conditions "standards")

Bonjour U.milité

Oui je pense que voua avez raison mais chez moi ça ne fonctionne pas car je dois faire quelque chose pas comme il faut

J'ai mis le fichier en pièce jointe.

D’où vient mon souci? avez-vous une idée?

Merci d'avance.

Amicalement,

P.

10test.xlsx (152.43 Ko)

Re-bonjour,

Il faut savoir que

  • les plages de cellules doivent être de tailles identiques (tu as appliqué les fonctions MOIS et ANNEE sur les colonnes entières, mais tu n'as renseigné que la plage H1:H10, pour les valeurs à additionner
  • SOMMEPROD est une fonction matricielle (donc gourmande en ressources!) ... il faut donc tâcher de ne travailler que sur des plages dont l'étendue sera la plus limitée possible (en d'autres termes, pas sur plusieurs milliers de lignes, si on peut l'éviter!)
    les fonctions MOIS et ANNEE renverront un message d'erreur si, dans la sélection de plage, tu inclus des cellules qui contiennent autre chose que des dates. Ceci semble donner un résultat plus encourageant:
    =SOMMEPROD((MOIS(A4:A10)=2)*(ANNEE(A4:A10)=2017)*(H4:H10))

D'accord.

Le souci c'est que je pourrais avoir plusieurs milliers de lignes et la formule ne fonctionne pas quand même.

est-ce que le VBA pourrait simplifier cela?

Comment faire?

Merci.

9test-1.xlsx (152.44 Ko)
HAKA a écrit :

la formule ne fonctionne pas quand même

C'est tout l'intérêt de fournir -dès le départ- un fichier qui soit réellement représentatif de la situation

Dans ton dernier fichier, tu utilises la colonne I ; celle-ci contient des formules qui renvoient du texte, dans certains cas (tes guillemets vides). Il faut donc remplacer les derniers '*' dans la formule par un ';'.

Ça donnerait donc:

=SOMMEPROD((MOIS(A4:A10)=2)*(ANNEE(A4:A10)=2017);(I4:I10))

Une macro serait certes envisageable ... Tu peux aussi mettre en place un système pour éviter d'utiliser des formules matricielles, en utilisant une colonne pour recopier les montants uniquement relatifs aux dates en février 2017.

Bonjour U. Milité et bonjour à tout le monde,

Merci beaucoup pour ta solution.

En effet, elle est grandement suffisante pour mon fichier excel.

Ma fille va pouvoir saisir tous ses kilomètres et exercices pour son permis directement dans le fichier Excel

Elle pourra même voir ce qu'elle a déjà fait en un clin d’œil

Merci encore pour tout

capture capture
Rechercher des sujets similaires à "2010 win somme colonne date contient mois"