Somme.si.ens vertical et horizontal

Bonjour à tous,

Je souhaite faire un calcul somme.si, un calcul conditionnel donc. Jusque là j'utilisais des tables de données verticales, ce qui ne posait aucun problème.

Aujourd'hui je possède des tables de données avec des conditions a vérifier sur des valeurs verticales ET des valeurs horizontales. Mon soucis c'est que dès que je place une condition de validation de valeurs horizontal le calcul renvoi une erreur, l'exemple type de calcul est le suivant :

somme.si.ens(G3:M300;G2:M2;"critère3";A1:A300;"critère1";B1;B300;"critère2".........)

Il y a t-il une fonction a rajouter qui permettrais de renvoyer une valeur juste ?

En vous remerciant pour votre aide.

Bonjour,

Pourrais-tu joindre un fichier exemple avec quelques données afin de pouvoir faire des essais et voir exactement ce que tu recherches à faire ?

Cordialement,

voici un exemple du calcul type que je souhaite effectuer en pièce jointe.

Voilà, tu recopie les formules ligne 2 et tu les tires vers le bas (enfin en adaptant les colonnes et les noms de feuilles si besoin pour ton fichier réél)

Cordialement,

Edit: Prendre le fichier V3, dans la V2, j'avais oublié de remultiplier par ton chiffre en colonne A...

Merci pour ces éléments, je vais récupérer le fichier et analyser la formule en détail afin de m'en imprégner pour les prochaines fois !

Eventuellement pourrais-tu m'expliciter les actions des fonctions utilisées dans la formule proposée ? (SIerreur, ligne, index etc....)

Alors :

SOMMEPROD(LIGNE(Feuil2!$A$3:$A$722)*(Feuil2!$A$3:$A$722=Feuil1!$C2)*(Feuil2!$B$3:$B$722=Feuil1!$H2)*(Feuil2!$C$3:$C$722=Feuil1!$D2)*(Feuil2!$D$3:$D$722=$I2)*(Feuil2!$E$3:$E$722=Feuil1!$B2))-2

Me sert de somme.si.ens et me permet de trouver si un élément correspond à tous les critères de la même ligne dans ton tableau, en y ajoutant la fonction LIGNE(), plutôt que de m'indiquer le nombre d'élément correspond à la recherche, cela m'indique le numéro de la ligne du résultat. J'y ai ajouté le '-2' à la fin car ton tableau ne commence pas ligne 1 mais ligne 3 mais la ligne 3 est bien la premiere ligne du tableau dans lequel chercher => 3-1 = 2.

SOMMEPROD((Feuil2!$F$2:$L$2=Feuil1!M$1)*(COLONNE(Feuil2!$F$2:$L$2)))-5

Idem mais pour la colonne, je rajoute '-5' à la fin car ton tableau ne commence pas colonne 1 mais colonne 6 (F) mais la colonne F correspond bien à la 1ere colonne du tableau de recherche donc 6 - 1 = 5

on obtient donc le numéro de ligne et de colonne du résultat que l'on utilise dans la fonction INDEX() qui affiche le résultat de l'intersection d'une ligne et d'une colonne. INDEX(3;2) t'affichera le contenu de la cellule B3 par exemple.

La fonction SIERREUR() permet juste d'éviter d'avoir des #VALEUR, des #REF ou autres et d'afficher quelque chose de moins "agréssif" pour les utilisateurs, ici j'ai mis d'afficher un tiret "-" , mais on aurait pu mettre 0 ou "résultat inéxistant" ou n'importe quoi d'autre.

Cordialement,

Merci, cependant je viens de revérifier ton fichier, tu as rajouté des colonnes d'énergies sur la feuille 1 en horizontal, en fait l'objet du fichier est le suivant :

_définir par forme d'énergie la consommation d'Eau chaude Sanitaire, selon l'énergie de chauffage.

énergie de chauffage (7) : electricité,gaz,fioul,charbon,gpl,bois,urbain

énergie eau chaude Sanitaire (5) : gaz,electricité,gpl,fioul,urbain

Les données sont issues d'un croisement qui permet de déterminer la part de consommation d'ECS selon l'énergie de chauffage du logement.

Je pense que tu as donc du inverser certains éléments dans la formule.

Non je ne pense pas, tu avais tes 7 types d'énergies dans ta feuille 2 mais tu n'en remontais que 5 en feuille 1, j'ai juste ajoutés les deux colonnes en plus pour que ca remonte bien les 7 résultats par ligne, mais si tu n'en as pas besoin, tu peux supprimer les deux colonnes , cela ne change rien à la formule.

J'ai basé mon SOMMEPROD sur ta formule de base que tu avais faites pour les colonnes de tests donc si elle était juste, le SOMMEPROD aussi normalement.

C'est simple à voir, fais le calcul pour une ligne manuellement et compare le aux resultats remontés dans les colonnes M à Q du fichier, si ça correspond c'est que la formule est bonne, et je te dis, si tu n'en as pas besoin, tu peux supprimer les colonnes R et S de la feuille 1.

Cordialement,

Ok, merci du coup de main !

Rechercher des sujets similaires à "somme ens vertical horizontal"