Sommeprod si case vide ou contient une chaine de caractère
Fermé
filblade
-
6 août 2013 à 12:29
tontong Messages postés 2568 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 12 janvier 2025 - 7 août 2013 à 10:19
tontong Messages postés 2568 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 12 janvier 2025 - 7 août 2013 à 10:19
A voir également:
- Sommeprod si case vide ou contient une chaine de caractère
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Comment supprimer une page vide sur word - Guide
- Caractere vide - Guide
4 réponses
g
Messages postés
1262
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
15 mai 2017
575
6 août 2013 à 12:59
6 août 2013 à 12:59
Bonjour,
A2:A1000={""}+A2:A1000={"en cours"}
Cordialement.
A2:A1000={""}+A2:A1000={"en cours"}
Cordialement.
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.
tontong
Messages postés
2568
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
12 janvier 2025
1 059
6 août 2013 à 17:45
6 août 2013 à 17:45
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.
tontong
Messages postés
2568
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
12 janvier 2025
1 059
7 août 2013 à 10:19
7 août 2013 à 10:19
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.