Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Problème avec la fonction somme.si.ens (résolu)

Cougar

XLDnaute Impliqué
Bonsoir le groupe,

Voici mon problème. De la feuil2, je veux additionner des valeurs se trouvant dans le feuil1 du fichier test. En utilisant la fonction somme.si.ens cela ne fonctionne pas. Mes critères étant dans les colonnes F ensuite E pour additionner les valeurs se trouvant dans la C (j'ai plusieurs plages pour les 2 critères). Mon 2e critères étant <0.41667 (10h en nombre) mais ça ne fonctionne pas (présentement entre guillemets pour que le fonction soit affichée).

Comment corriger cette fonction (voir fichier joint) ?

Merci
 

Pièces jointes

  • test.xlsx
    13.6 KB · Affichages: 12

njhub

XLDnaute Occasionnel
Bonjour Cougar,

En consultant le site accessible par le lien ci-dessous
somme-si-ens-fonction
vous trouverez des explications quant à la mise en œuvre de la fonction SOMME.SI.ENS().

Dans votre formule il n'y a que les deux derniers critères qui soient valides :

Plage​
Condition​
Plage de somme​
$Feuil1.E5:E13;​
Plage1​
$Feuil1.F5:F13​
$Feuil1.N5:N13​
Plage2​
$Feuil1.G5:G13​
$Feuil1.O5:O13​
Plage3​
$Feuil1.M5:M13​
$Feuil1.U5:U13​
Plage4​
$Feuil1.V5:V13​
$Feuil1.AD5:AD13​
Plage5​
$Feuil1.W5:W13​
$Feuil1.AE5:AE13​
Plage6​
$Feuil1.AC5:AC13​
$Feuil1.AK5:AK13​
Plage7​
$Feuil1.AL5:AL13​
$Feuil1.AT5:AT13​
Plage8​
$Feuil1.AM5:AM13​
$Feuil1.AU5:AU13​
Plage9​
$Feuil1.AS5:AS13​
$Feuil1.BA5:BA13​
Plage10​
$Feuil1.BB5:BB13​
<0,41667​
Plage11​
$Feuil1.BC5:BC13​
jeu​

 

Cougar

XLDnaute Impliqué
Bonjour vous deux, le groupe,

Allons au plus simple : =SOMME.SI.ENS(Feuil1!M1:M3;Feuil1!O1:O3;"JEU";Feuil1!N1:N3;">=10"). Est-ce que le problème pourrait être le format de la cellule d'origine ?

Merci
 

Cougar

XLDnaute Impliqué
Bonsoir njhub,

La formule me retourne 0. Était-il possible que cela ne fonctionne pas parce que les valeurs à additionner se trouvent à gauche ?

Peut-être qu'une rechercheh avec conditions ?

Merci encore
 

njhub

XLDnaute Occasionnel
Bonjour Cougar,

Effectivement si votre tableau est en format par défaut, l'alignement à gauche des nombres indique que ces nombres sont au format texte, donc inutilisables pour des calculs sans leur faire subir une conversion préalable.
Mais ces valeurs peuvent très bien être alignées à droite par la mise en page, l'examen visuel ne suffit pas.
La fonction TYPE() vous renseigne sur le type de contenu d'une cellule. Elle renvoie :
1 = nombre,
2 = texte,
4 = valeur logique,
8 = formule,
6 = valeur d'erreur,
ou 64 = matrice.
 

Cougar

XLDnaute Impliqué
Bonjour njhub,

Même en mettant la colonne L en nombre (# ##0), la colonne M en heure (hh:mm) et la colonne N en texte, rien ne fonctionne. Mais si je mets comme critère "16:00", cela fonctionne très bien (=SOMME.SI.ENS(Feuil1!L1:L3;Feuil1!M1:M3;"16:00";Feuil1!N1:N3;"JEU")), donc la problématique est comment écrire l'opérateur ">10" pour que le tout marche ?
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

A essayer pour la plage M1:O9
VB:
=SOMMEPROD((Feuil1!N1:N9="JEU")*(HEURE(O1:O9)<10);M1:M9*1)
ou
Code:
=SOMMEPROD((Feuil1!N1:N9="JEU")*(HEURE(O1:O9)>=10);M1:M9*1)

JHA
 

Pièces jointes

  • test (4).xlsx
    16 KB · Affichages: 6

Discussions similaires

Réponses
40
Affichages
1 K
Réponses
13
Affichages
447
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…