Sommeprod si case vide ou contient une chaine de caractère
filblade
-
tontong Messages postés 2586 Date d'inscription Statut Membre Dernière intervention -
tontong Messages postés 2586 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'utilise actuellement une formule sommeprod.
Je teste sur une case pour savoir si elle est vide ou si elle contient "en cours"
A2:A1000={""} me renvoit bien les cases vides.
A2:A1000={"en cours"} me renvoit bien les cases avec "en cours"
A2:A1000={""."en cours"} par contre, ceci me renvoit #N/A
Pourquoi ?
Merci d'avance.
J'utilise actuellement une formule sommeprod.
Je teste sur une case pour savoir si elle est vide ou si elle contient "en cours"
A2:A1000={""} me renvoit bien les cases vides.
A2:A1000={"en cours"} me renvoit bien les cases avec "en cours"
A2:A1000={""."en cours"} par contre, ceci me renvoit #N/A
Pourquoi ?
Merci d'avance.
A voir également:
- Sommeprod si case vide ou contient une chaine de caractère
- Caractere vide - Guide
- Caractère spéciaux - Guide
- Comment supprimer une page vide sur word - Guide
- Caractere speciaux - Guide
- Caractère ascii - Guide
4 réponses
effectivement, je l'avais remarqué. le soucis, c'est que je n'ai pas mis la totalité de ma formule.
Voici ma formule avec cette façon de faire :
=SOMMEPROD(('S32 ingenierie'!F2:F1000={"CREATION"."MUTATION"."ROUTAGE"})*('S32 ingenierie'!A2:A1000={""})*('S32 ingenierie'!E2:E1000))+SOMMEPROD(('S32 ingenierie'!F2:F1000={"CREATION"."MUTATION"."ROUTAGE"})*('S32 ingenierie'!A2:A1000={"en cours"})*('S32 ingenierie'!E2:E1000))
Je voulais simplifier un peu.
=SOMMEPROD(('S32 ingenierie'!F2:F1000={"CREATION"."MUTATION"."ROUTAGE"})*('S32 ingenierie'!A2:A1000={""."en cours"})*('S32 ingenierie'!E2:E1000))
Mais ça ne marche pas comme ça, et je ne vois pas pourquoi.
Voici ma formule avec cette façon de faire :
=SOMMEPROD(('S32 ingenierie'!F2:F1000={"CREATION"."MUTATION"."ROUTAGE"})*('S32 ingenierie'!A2:A1000={""})*('S32 ingenierie'!E2:E1000))+SOMMEPROD(('S32 ingenierie'!F2:F1000={"CREATION"."MUTATION"."ROUTAGE"})*('S32 ingenierie'!A2:A1000={"en cours"})*('S32 ingenierie'!E2:E1000))
Je voulais simplifier un peu.
=SOMMEPROD(('S32 ingenierie'!F2:F1000={"CREATION"."MUTATION"."ROUTAGE"})*('S32 ingenierie'!A2:A1000={""."en cours"})*('S32 ingenierie'!E2:E1000))
Mais ça ne marche pas comme ça, et je ne vois pas pourquoi.
Bonjour,
Avec Sommeprod comme avec une matricielle classique on utilise l'opérateur + pour faire un OU.
Ça donnerait (à vérifier):
=SOMMEPROD((('S32 ingenierie'!F2:F1000="CREATION")+('S32 ingenierie'!F2:F1000="MUTATION")+('S32 ingenierie'!F2:F1000="ROUTAGE"))*(('S32 ingenierie'!A2:A1000="")+('S32 ingenierie'!A2:A1000="en cours"))*('S32 ingenierie'!E2:E1000))
L'utilisation d'une constante matricielle ( {"CREATION"."MUTATION"."ROUTAGE"} )sur un champ donne l'impression de fonctionner mais je ne suis sûr de rien!
=SOMMEPROD(('S32 ingenierie'!F2:F1000={"CREATION"."MUTATION"."ROUTAGE"})*(('S32 ingenierie'!A2:A1000="")+('S32 ingenierie'!A2:A1000="en cours"))*('S32 ingenierie'!E2:E1000))
Avec Sommeprod comme avec une matricielle classique on utilise l'opérateur + pour faire un OU.
Ça donnerait (à vérifier):
=SOMMEPROD((('S32 ingenierie'!F2:F1000="CREATION")+('S32 ingenierie'!F2:F1000="MUTATION")+('S32 ingenierie'!F2:F1000="ROUTAGE"))*(('S32 ingenierie'!A2:A1000="")+('S32 ingenierie'!A2:A1000="en cours"))*('S32 ingenierie'!E2:E1000))
L'utilisation d'une constante matricielle ( {"CREATION"."MUTATION"."ROUTAGE"} )sur un champ donne l'impression de fonctionner mais je ne suis sûr de rien!
=SOMMEPROD(('S32 ingenierie'!F2:F1000={"CREATION"."MUTATION"."ROUTAGE"})*(('S32 ingenierie'!A2:A1000="")+('S32 ingenierie'!A2:A1000="en cours"))*('S32 ingenierie'!E2:E1000))
Dans ma formule, la partie ('S32 ingenierie'!F2:F1000={"CREATION"."MUTATION"."ROUTAGE"}) fonctionne parfaitement.
Cette formule fonctionne : =SOMMEPROD(('S32 ingenierie'!F2:F1000={"CREATION"."MUTATION"."ROUTAGE"})*('S32 ingenierie'!A2:A1000={""})*('S32 ingenierie'!E2:E1000))+SOMMEPROD(('S32 ingenierie'!F2:F1000={"CREATION"."MUTATION"."ROUTAGE"})*('S32 ingenierie'!A2:A1000={"en cours"})*('S32 ingenierie'!E2:E1000))
Mais pas celle la : =SOMMEPROD(('S32 ingenierie'!F2:F1000={"CREATION"."MUTATION"."ROUTAGE"})*('S32 ingenierie'!A2:A1000={""."en cours"})*('S32 ingenierie'!E2:E1000))
Et je n'arrive pas a comprendre pourquoi.
Cette formule fonctionne : =SOMMEPROD(('S32 ingenierie'!F2:F1000={"CREATION"."MUTATION"."ROUTAGE"})*('S32 ingenierie'!A2:A1000={""})*('S32 ingenierie'!E2:E1000))+SOMMEPROD(('S32 ingenierie'!F2:F1000={"CREATION"."MUTATION"."ROUTAGE"})*('S32 ingenierie'!A2:A1000={"en cours"})*('S32 ingenierie'!E2:E1000))
Mais pas celle la : =SOMMEPROD(('S32 ingenierie'!F2:F1000={"CREATION"."MUTATION"."ROUTAGE"})*('S32 ingenierie'!A2:A1000={""."en cours"})*('S32 ingenierie'!E2:E1000))
Et je n'arrive pas a comprendre pourquoi.
Bonjour,
Je ne vous dirai pas pourquoi parce que j'ai atteint là mon seuil d'incompétence.
Sur un fichier test j'ai vérifier que Sommeprod semble n'admettre qu'un seul champ avec une constante matricielle comme critère. L'erreur survient avec le deuxième champ.
On peut supposer qu'une des opérations sur les matrices élémentaires n'est pas correcte?
Si vous trouvez une explication n'hésitez pas à nous en faire part.
Je ne vous dirai pas pourquoi parce que j'ai atteint là mon seuil d'incompétence.
Sur un fichier test j'ai vérifier que Sommeprod semble n'admettre qu'un seul champ avec une constante matricielle comme critère. L'erreur survient avec le deuxième champ.
On peut supposer qu'une des opérations sur les matrices élémentaires n'est pas correcte?
Si vous trouvez une explication n'hésitez pas à nous en faire part.