Comment écrire différent sur excel
Résolu
s.elmortaji
Messages postés
50
Date d'inscription
Statut
Membre
Dernière intervention
-
s.elmortaji Messages postés 50 Date d'inscription Statut Membre Dernière intervention -
s.elmortaji Messages postés 50 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je travaille sur excel 2007, et j'ai une base de donnée (qui est une extraction PGI) à partir de laquelle je crée un tableau de suivi budgétaire.
Sur mon onglet suivi budgétaire, j'ai utilisé la formule suivante :
=SOMME.SI.ENS(HF;Cde;"<>"&"45*";Domaines;"O4")
C'est à dire que je souhaite avoir la somme de toutes les commandes du domaine O4, hormis celles (les commandes) commençant par 45 (par exemple commande : 4220025285, 4320072290 etc.).
HF correspond à ma plage somme.
Domaine correspond à la plage de mes domaines (O4, O5, etc.).
Cde correspond à la plage mes commandes (41...., 42....,43...., 45.... etc.)
Avec cette formule je retrouve bien un résultat mais qui est faussé. En fait Excel ne prend pas en considération mon critère de commande différente de 45*, et il me donne la somme du domaine O4.
J'ai pensé qu'il fallait convertir ma colonne de commande parce qu'excel la considère peut-etre comme un texte au lieu de nombre (je ne sais pas si ca risque effectivement d'impacter le résultat ou pas), donc voilà je l'ai converti mais rien ne change.
Vous pensez que ca peut venir de quoi?
PS: pour la formule j'ai essayé : "<>"&"45*" et "<>""&45*" ou encore "<>45*"
(des fois ca peut venir des petites choses, mais à chaque fois rien ne changeait).
Merci d'avance pour votre temps et vos réponses.
Bien à vous,
Je travaille sur excel 2007, et j'ai une base de donnée (qui est une extraction PGI) à partir de laquelle je crée un tableau de suivi budgétaire.
Sur mon onglet suivi budgétaire, j'ai utilisé la formule suivante :
=SOMME.SI.ENS(HF;Cde;"<>"&"45*";Domaines;"O4")
C'est à dire que je souhaite avoir la somme de toutes les commandes du domaine O4, hormis celles (les commandes) commençant par 45 (par exemple commande : 4220025285, 4320072290 etc.).
HF correspond à ma plage somme.
Domaine correspond à la plage de mes domaines (O4, O5, etc.).
Cde correspond à la plage mes commandes (41...., 42....,43...., 45.... etc.)
Avec cette formule je retrouve bien un résultat mais qui est faussé. En fait Excel ne prend pas en considération mon critère de commande différente de 45*, et il me donne la somme du domaine O4.
J'ai pensé qu'il fallait convertir ma colonne de commande parce qu'excel la considère peut-etre comme un texte au lieu de nombre (je ne sais pas si ca risque effectivement d'impacter le résultat ou pas), donc voilà je l'ai converti mais rien ne change.
Vous pensez que ca peut venir de quoi?
PS: pour la formule j'ai essayé : "<>"&"45*" et "<>""&45*" ou encore "<>45*"
(des fois ca peut venir des petites choses, mais à chaque fois rien ne changeait).
Merci d'avance pour votre temps et vos réponses.
Bien à vous,
A voir également:
- Signe différent excel
- Excel signe différent - Meilleures réponses
- Symbole différent excel - Meilleures réponses
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel différent de 0 - Forum Excel
2 réponses
Bonjour
pour ce qui est de 45 écrivez simplement
=.....;"<>45*";....
Mais ne fonctionne pas si le N° de commande est une valeur numérique.
Il vaut mieux écrire pour tout couvrir:
=SOMMEPROD((SI(Cde<>"";GAUCHE(Cde;2)*1)<>45)*(Domaine="O4")*(HF))
qui est une formule matricielle à entrer avec la touche enter en maintenant les touches ctrl et shift enfoncées
Elle se retrouve automatiquement entre accolade dans la barre de formule
crdlmnt
crdlmnt
La qualité de la réponse dépend surtout de la clarté de la question, merci!
pour ce qui est de 45 écrivez simplement
=.....;"<>45*";....
Mais ne fonctionne pas si le N° de commande est une valeur numérique.
Il vaut mieux écrire pour tout couvrir:
=SOMMEPROD((SI(Cde<>"";GAUCHE(Cde;2)*1)<>45)*(Domaine="O4")*(HF))
qui est une formule matricielle à entrer avec la touche enter en maintenant les touches ctrl et shift enfoncées
Elle se retrouve automatiquement entre accolade dans la barre de formule
crdlmnt
crdlmnt
La qualité de la réponse dépend surtout de la clarté de la question, merci!
Je vous remercie pour votre réponse.
En fait je ne sais jamais travailler avec SOMMEPROD, et ma formule et un peu plus compliqué, j'ai essayé de faire simple pour ne pas vous embêter avec trop d'info donc publié qu'une partie de ma formule mais réellement ma formule est la suivante :
=SOMME.SI.ENS(HF;Domaines;STXT($A15;1;2);R_E;"R";CM;"hors B";Cde;"<>45*")
- A15 correspond à mon domaine "O4 - Autres..." or que dans ma base en domaine j'ai que "O4" d'où l'utilisation de la fonction STXT.
- R_E correspond à ma colonne "Réalisé ou engagé"
- CM correpond à une colonne où j'ai des "B" et "Hors B", donc je souhaite prendre que les "hors B".
- Et puis la commande.
Comme je ne comprends pas la formule SOMMEPROD je ne saurai pas l'appliquer dans ce cas.
Je vous remercie encore pour votre réponse.
En fait je ne sais jamais travailler avec SOMMEPROD, et ma formule et un peu plus compliqué, j'ai essayé de faire simple pour ne pas vous embêter avec trop d'info donc publié qu'une partie de ma formule mais réellement ma formule est la suivante :
=SOMME.SI.ENS(HF;Domaines;STXT($A15;1;2);R_E;"R";CM;"hors B";Cde;"<>45*")
- A15 correspond à mon domaine "O4 - Autres..." or que dans ma base en domaine j'ai que "O4" d'où l'utilisation de la fonction STXT.
- R_E correspond à ma colonne "Réalisé ou engagé"
- CM correpond à une colonne où j'ai des "B" et "Hors B", donc je souhaite prendre que les "hors B".
- Et puis la commande.
Comme je ne comprends pas la formule SOMMEPROD je ne saurai pas l'appliquer dans ce cas.
Je vous remercie encore pour votre réponse.
La formule somme prod:
dans chaque item qui contient une égalité, la formule compte 1 pour la condition réalisée, 0 si elle ne l'est pas
donc sdi les items (autant que vous voulez) qui sont multipliés par le signe *;, la formule va multiplier les items ressortir 1 si les conditions sont toutes réalisées sinon 0 et sommer le total
donc donner le nombre de ligne respectant toutes les conditions
si un item ne contient pas une égalité mais uniquement des limites de champ, la formule va multiplier pour chaque ligne la valeur de la cellule par le résultat des conditions et(sommer le total, donc donner la somme du champ quand les conditions sont réalisées
J'ai employé une condition SI pour éviter que la formule cherche 45 dans des cellules vides, sinon elle renvoie #VALEUR
c'est cette condition qui impose que l'entrée soit matricielle, sinon SOMMEPROD ne le nécessite pas
Tout dépend donc si vous êtes sur d'avoir des N° dans chaque cellule de Cde
vous pouvez donc écrire, si tout votre champ Cde contient des N° sans cellule vide
=SOMMEPROD((Domaines=STXT($A15;1;2)*(R_E="R")*(GAUCHE(Cde;2)*1=45)*(HF))
avec une entrée normale
ou en matrticielle si Cde contient des vides:
=SOMMEPROD((Domaines=STXT($A15;1;2)*(R_E="R")*(SI(Cde<>"";GAUCHE(Cde;2)*1)=45)*(HF))
crdlmnt
dans chaque item qui contient une égalité, la formule compte 1 pour la condition réalisée, 0 si elle ne l'est pas
donc sdi les items (autant que vous voulez) qui sont multipliés par le signe *;, la formule va multiplier les items ressortir 1 si les conditions sont toutes réalisées sinon 0 et sommer le total
donc donner le nombre de ligne respectant toutes les conditions
si un item ne contient pas une égalité mais uniquement des limites de champ, la formule va multiplier pour chaque ligne la valeur de la cellule par le résultat des conditions et(sommer le total, donc donner la somme du champ quand les conditions sont réalisées
J'ai employé une condition SI pour éviter que la formule cherche 45 dans des cellules vides, sinon elle renvoie #VALEUR
c'est cette condition qui impose que l'entrée soit matricielle, sinon SOMMEPROD ne le nécessite pas
Tout dépend donc si vous êtes sur d'avoir des N° dans chaque cellule de Cde
vous pouvez donc écrire, si tout votre champ Cde contient des N° sans cellule vide
=SOMMEPROD((Domaines=STXT($A15;1;2)*(R_E="R")*(GAUCHE(Cde;2)*1=45)*(HF))
avec une entrée normale
ou en matrticielle si Cde contient des vides:
=SOMMEPROD((Domaines=STXT($A15;1;2)*(R_E="R")*(SI(Cde<>"";GAUCHE(Cde;2)*1)=45)*(HF))
crdlmnt
Je vous remercie d'avoir prendre le temps de m'expliquer tout ca, c'est vraiment gentil. Merci.
En effet, j'ai des cellules vides dans ma colonne de Commande, donc j'ai utilisé la fonction SOMMEPROD avec SI.
Toute fois, ca n'a pas marché, pourtant j'ai repris la formule telle qu'elle est.
Pour votre information (au cas où ca peut avoir un impact) mes colonnes ont bien toutes le même nombre de ligne et j'utilise une fonction decaler pour nommer mes plages par exemple pour le HF : =DECALER(Extraction_PGI!$Y$4;;;NBVAL(Extraction_PGI!$Y:$Y);1).
Merci
En effet, j'ai des cellules vides dans ma colonne de Commande, donc j'ai utilisé la fonction SOMMEPROD avec SI.
Toute fois, ca n'a pas marché, pourtant j'ai repris la formule telle qu'elle est.
Pour votre information (au cas où ca peut avoir un impact) mes colonnes ont bien toutes le même nombre de ligne et j'utilise une fonction decaler pour nommer mes plages par exemple pour le HF : =DECALER(Extraction_PGI!$Y$4;;;NBVAL(Extraction_PGI!$Y:$Y);1).
Merci
sans le modèle ça va être difficile d'en dire plus:
_qu'est ce qui ne fonctionne pas?
_que renvoie la formule?
_l'avez vous copier coller?.
_n'y a t'il pas risque incompatibilité" entre format texte et num?
_ s'il y a des cellules vides dans Cde, y en a t'il aussi dans HF (auquel cas, le décalage n'est pas correct pour la hauteur de champ)
_le code DECALER utilise t il pour tous les champs la référence à la colonne Y (de façon à assurer la même hauteur partout)
ect...ect...
à vous lire
crdlmnt
_qu'est ce qui ne fonctionne pas?
_que renvoie la formule?
_l'avez vous copier coller?.
_n'y a t'il pas risque incompatibilité" entre format texte et num?
_ s'il y a des cellules vides dans Cde, y en a t'il aussi dans HF (auquel cas, le décalage n'est pas correct pour la hauteur de champ)
_le code DECALER utilise t il pour tous les champs la référence à la colonne Y (de façon à assurer la même hauteur partout)
ect...ect...
à vous lire
crdlmnt
Bonjour,
Je pense que l'erreur est due au format de ma colonne, parce que j'ai essayé la même formule ( la SOMMEPROD et la SOMME SI ENS) sur d'autres colonnes "texte" de la même base est ca marche à merveille.
Je ne sais pas pourquoi sur cette colonne en particulier, ca ne marche pas.
J'ai enregistrer le même fichier sous un nom et avec moins d'informations pour vous le joindre afin que vous puissiez voir mieux d'où peut venir le problème mais bizarrement sur ce fichier Test, la fonction a bien marché sans le moindre souci, en sachant que c'est la même base mais avec moins de ligne et des montants différents.
Je pense que l'erreur est due au format de ma colonne, parce que j'ai essayé la même formule ( la SOMMEPROD et la SOMME SI ENS) sur d'autres colonnes "texte" de la même base est ca marche à merveille.
Je ne sais pas pourquoi sur cette colonne en particulier, ca ne marche pas.
J'ai enregistrer le même fichier sous un nom et avec moins d'informations pour vous le joindre afin que vous puissiez voir mieux d'où peut venir le problème mais bizarrement sur ce fichier Test, la fonction a bien marché sans le moindre souci, en sachant que c'est la même base mais avec moins de ligne et des montants différents.
alors contrôlez que cette colonne ne contienne pas de "'blanc" parasites dans les codes ou de caractère insécable, ce qui arrive parfois lors de transfert depuis un autre type de données
voyez par exemple dans une colonne hors champ, en ligne avec vos codes, cette formule à tirer sur la hauteur:
=NBCAR(adresse cellule) et vérifiez que le résultat corresponde aux nombres de caractères visibles.
sinon, copier votre liste de code sur un fichier vierge, ou déposez votre fichier si pas de confidentialité sur:
https://www.cjoint.com/
créer le lien sur le site, copier le et revene le coller ici
à vous lire
crdlmnt
voyez par exemple dans une colonne hors champ, en ligne avec vos codes, cette formule à tirer sur la hauteur:
=NBCAR(adresse cellule) et vérifiez que le résultat corresponde aux nombres de caractères visibles.
sinon, copier votre liste de code sur un fichier vierge, ou déposez votre fichier si pas de confidentialité sur:
https://www.cjoint.com/
créer le lien sur le site, copier le et revene le coller ici
à vous lire
crdlmnt