Additionner les 2 chiffres d'un nombre
Résolu/Fermé
killox
-
28 sept. 2011 à 11:11
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 29 sept. 2011 à 08:26
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 29 sept. 2011 à 08:26
A voir également:
- Additionner les 2 chiffres d'un nombre
- Formule excel pour additionner plusieurs cellules - Guide
- 2 ecran pc - Guide
- Nombre facile - Télécharger - Outils professionnels
- Nombre de combinaison possible avec 4 chiffres - Forum Jeux vidéo
- Comment activer les chiffres du clavier - Guide
12 réponses
ccm81
Messages postés
10904
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 décembre 2024
2 428
28 sept. 2011 à 11:15
28 sept. 2011 à 11:15
bonjour
si le nb est en D5
=ENT(D5/10)+MOD(D5;10)
bonne suite
si le nb est en D5
=ENT(D5/10)+MOD(D5;10)
bonne suite
antipolis a
Messages postés
15609
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
12 novembre 2014
2 859
28 sept. 2011 à 11:25
28 sept. 2011 à 11:25
Le nombre entier entre 0 et 99 est entré en "A1".
=SI(ENT(A1/10)+MOD(A1;10)>10;ENT(A1/10)+MOD(A1;10);"")
=SI(ENT(A1/10)+MOD(A1;10)>10;ENT(A1/10)+MOD(A1;10);"")
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
28 sept. 2011 à 12:52
28 sept. 2011 à 12:52
Bonjour,
Ou alors :
=SI(NBCAR(A1)=2;CNUM(GAUCHE(A1;1))+CNUM(DROITE(A1;1));"Valeur erronnée en A1")
Ou alors :
=SI(NBCAR(A1)=2;CNUM(GAUCHE(A1;1))+CNUM(DROITE(A1;1));"Valeur erronnée en A1")
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
28 sept. 2011 à 14:20
28 sept. 2011 à 14:20
bonjour à la foule,
Et un autre début de piste somme des chiffres d'une cellule sans condition
matricielle
=SOMME(1*STXT(A2;LIGNE(INDIRECT("1:"&ENT(LOG(A2))+1));1))
ce n'est pas de moi (pas encore bien compris d'ailleurs)
:o)
et pour le seuil de 9 ou autre
=MIN(9;SOMME(1*STXT(A2;LIGNE(INDIRECT("1:"&ENT(LOG(A2))+1));1))
Et un autre début de piste somme des chiffres d'une cellule sans condition
matricielle
=SOMME(1*STXT(A2;LIGNE(INDIRECT("1:"&ENT(LOG(A2))+1));1))
ce n'est pas de moi (pas encore bien compris d'ailleurs)
:o)
et pour le seuil de 9 ou autre
=MIN(9;SOMME(1*STXT(A2;LIGNE(INDIRECT("1:"&ENT(LOG(A2))+1));1))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mike-31
Messages postés
18352
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 décembre 2024
5 110
Modifié par Mike-31 le 28/09/2011 à 14:22
Modifié par Mike-31 le 28/09/2011 à 14:22
Salut le fil,
pour faire la somme des chiffre d'une cellule quel que soit le nombre je propose cette formule
=SOMME(1*STXT(A2;LIGNE(INDIRECT("1:"&ENT(LOG(A2))+1));1))
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
pour faire la somme des chiffre d'une cellule quel que soit le nombre je propose cette formule
=SOMME(1*STXT(A2;LIGNE(INDIRECT("1:"&ENT(LOG(A2))+1));1))
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
28 sept. 2011 à 15:32
28 sept. 2011 à 15:32
ccm81
Messages postés
10904
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 décembre 2024
2 428
28 sept. 2011 à 14:34
28 sept. 2011 à 14:34
salut michel_n
ce n'est pas un début de piste mais carrément la solution finale !!!
quant à la logique de la bête, je vais la garder pour les longues soirées d'hiver ...
bonne journée
ce n'est pas un début de piste mais carrément la solution finale !!!
quant à la logique de la bête, je vais la garder pour les longues soirées d'hiver ...
bonne journée
antipolis a
Messages postés
15609
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
12 novembre 2014
2 859
28 sept. 2011 à 14:54
28 sept. 2011 à 14:54
Oh moi, je ne dis plus rien.
Vous êtes tous trop forts.
Vous êtes tous trop forts.
antipolis a
Messages postés
15609
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
12 novembre 2014
2 859
28 sept. 2011 à 15:14
28 sept. 2011 à 15:14
Ça ne fonctionne pas.
Ce n'est pas LIGNE(), mais LIGNES() qu'il faut utiliser.
Alors, je retire ce que j'ai écrit à 14:54.
Ce n'est pas LIGNE(), mais LIGNES() qu'il faut utiliser.
Alors, je retire ce que j'ai écrit à 14:54.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
28 sept. 2011 à 15:35
28 sept. 2011 à 15:35
Non c'est LIGNE comme indiqué.
Michel_m a précisé matricielle.
Donc au lieu de valider par un simple "Entrée", tu dois la valider par CTRL+MAJ (Shift) + Entrée.
Donc retape ta formule, tape F2 et CTRL+SHIFT+ENTREE
Michel_m a précisé matricielle.
Donc au lieu de valider par un simple "Entrée", tu dois la valider par CTRL+MAJ (Shift) + Entrée.
Donc retape ta formule, tape F2 et CTRL+SHIFT+ENTREE
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
Modifié par pijaku le 5/10/2011 à 08:48
Modifié par pijaku le 5/10/2011 à 08:48
Salut tout le monde,
Me suis penché sur la formule proposée par Michel_m et Mike31.
C'est très bien vu...
Je tente ici une petite explication, non pas pour les deux protagonistes sus-cités, mais si jamais quelqu'un venait à passer par ici (et par hasard) et se poserait la même question : KessKeC'est KeCetteFormule???
Décortiquons la, par l'exemple, en A2 saisir 1664 (qui constitue un assez beau nombre...) :
En A3 saisir la formule magique :
=SOMME(1*STXT(A2;LIGNE(INDIRECT("1:"&ENT(LOG(A2))+1));1))
1- LOG(A2) ou comment faire de l'esbrouffe dans les formules Excel...
Une propriété de LOG nous dit que :
Puisque 1664 = 1,664x10^3 alors :
LOG(1664) = LOG(1,664) + LOG(10^3) = LOG(1,664) + 3
Or LOG(1,664) < 1 (toujours!!!! Sisi j'vous assure! La preuve : on sait que LOG(1,664) < LOG(10) et LOG(10) = 1 CQFD... S'il reste des sceptiques, révisez vos Maths...)
Donc ENT(LOG(1664)) = 3
Si on lui ajoute 1 comme dans la formule (ENT(LOG(A2))+1) on obtient systématiquement le nombre de caractères contenus dans la cellule A2. D'ou l'esbrouffe de la-dite formule....
On peux effectivement simplifier en remplaçant : ENT(LOG(A2))+1 par : NBCAR(A2).
Bon on en est donc, dans l'exemple 1664, à ENT(LOG(A2))+1 = 4
2- LIGNE(INDIRECT("1:4")) simule un tableau de chiffres consécutifs de 1 à 4, soit ici la matrice {1,2,3,4}
Ce tableau, puisque l'on valide la formule en "Matricielle" va donc être utilisé valeur après valeur : 1 puis 2 puis 3 puis 4 selon la matrice obtenue.
3- STXT(texte;N° du caractère dans le texte;nombre de caractères)
Dans l'exemple 1664, STXT(1664;1;1) = 1, STXT(1664;2;1) = 6, STXT(1664;3;1) = 6, STXT(1664;4;1) = 4.
C'est ce que fait (et à quoi sert LIGNE(INDIRECT)) :
STXT(A2;LIGNE(INDIRECT("1:"&ENT(LOG(A2))+1));1)
4- le 1* dans : 1*STXT
Si je ne m'abuse sert à convertir les données de STXT en nombre pour pouvoir les utiliser dans la fonction SOMME
Le *1 dans les formules matricielles est utilisé pour pour convertir les Vrai/Faux en 1/0 ou --
5- SOMME Est ce utile de développer...
C'est tout bon?
Interrogation écrite la semaine prochaine...
Bonne journée à toutes et tous!
EDIT : Ajout dans l'explication du 1* (4)
Cordialement,
Franck P
Me suis penché sur la formule proposée par Michel_m et Mike31.
C'est très bien vu...
Je tente ici une petite explication, non pas pour les deux protagonistes sus-cités, mais si jamais quelqu'un venait à passer par ici (et par hasard) et se poserait la même question : KessKeC'est KeCetteFormule???
Décortiquons la, par l'exemple, en A2 saisir 1664 (qui constitue un assez beau nombre...) :
En A3 saisir la formule magique :
=SOMME(1*STXT(A2;LIGNE(INDIRECT("1:"&ENT(LOG(A2))+1));1))
1- LOG(A2) ou comment faire de l'esbrouffe dans les formules Excel...
Une propriété de LOG nous dit que :
Puisque 1664 = 1,664x10^3 alors :
LOG(1664) = LOG(1,664) + LOG(10^3) = LOG(1,664) + 3
Or LOG(1,664) < 1 (toujours!!!! Sisi j'vous assure! La preuve : on sait que LOG(1,664) < LOG(10) et LOG(10) = 1 CQFD... S'il reste des sceptiques, révisez vos Maths...)
Donc ENT(LOG(1664)) = 3
Si on lui ajoute 1 comme dans la formule (ENT(LOG(A2))+1) on obtient systématiquement le nombre de caractères contenus dans la cellule A2. D'ou l'esbrouffe de la-dite formule....
On peux effectivement simplifier en remplaçant : ENT(LOG(A2))+1 par : NBCAR(A2).
Bon on en est donc, dans l'exemple 1664, à ENT(LOG(A2))+1 = 4
2- LIGNE(INDIRECT("1:4")) simule un tableau de chiffres consécutifs de 1 à 4, soit ici la matrice {1,2,3,4}
Ce tableau, puisque l'on valide la formule en "Matricielle" va donc être utilisé valeur après valeur : 1 puis 2 puis 3 puis 4 selon la matrice obtenue.
3- STXT(texte;N° du caractère dans le texte;nombre de caractères)
Dans l'exemple 1664, STXT(1664;1;1) = 1, STXT(1664;2;1) = 6, STXT(1664;3;1) = 6, STXT(1664;4;1) = 4.
C'est ce que fait (et à quoi sert LIGNE(INDIRECT)) :
STXT(A2;LIGNE(INDIRECT("1:"&ENT(LOG(A2))+1));1)
4- le 1* dans : 1*STXT
Si je ne m'abuse sert à convertir les données de STXT en nombre pour pouvoir les utiliser dans la fonction SOMME
Le *1 dans les formules matricielles est utilisé pour pour convertir les Vrai/Faux en 1/0 ou --
5- SOMME Est ce utile de développer...
C'est tout bon?
Interrogation écrite la semaine prochaine...
Bonne journée à toutes et tous!
EDIT : Ajout dans l'explication du 1* (4)
Cordialement,
Franck P
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
28 sept. 2011 à 17:21
28 sept. 2011 à 17:21
Salut Pijaku,
As tu de l'aspirine à me passer, log(xx) c'est terrible pour ma t^te ?
:-)
As tu de l'aspirine à me passer, log(xx) c'est terrible pour ma t^te ?
:-)
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
29 sept. 2011 à 08:26
29 sept. 2011 à 08:26
Salut Michel,
Désolé, pas d'aspirine... Dans la fonction publique l'armoire à pharmacie ne doit pas contenir ce genre de produits... On a juste droit au sparadrap!!!
Par contre, l'apéro si tu repasses à 12h00...
Bonne journée.
Ps : te tracasse pas trop avec LOG, remplace le par NBCAR...
Désolé, pas d'aspirine... Dans la fonction publique l'armoire à pharmacie ne doit pas contenir ce genre de produits... On a juste droit au sparadrap!!!
Par contre, l'apéro si tu repasses à 12h00...
Bonne journée.
Ps : te tracasse pas trop avec LOG, remplace le par NBCAR...
antipolis a
Messages postés
15609
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
12 novembre 2014
2 859
28 sept. 2011 à 16:08
28 sept. 2011 à 16:08
Ça fonctionne bien de 1 à 9 en entrée, ensuite j'ai toujours 1 comme résultat. Malgré le respect de la séquence de touches.
Peut-être que Excel 2002 ne sait pas faire ?
j'ai tenté de décomposer la formule, mais ça me donne vraiment des résultats bizarroïdes.
Peut-être que Excel 2002 ne sait pas faire ?
j'ai tenté de décomposer la formule, mais ça me donne vraiment des résultats bizarroïdes.
chossette9
Messages postés
4239
Date d'inscription
lundi 20 avril 2009
Statut
Contributeur
Dernière intervention
12 septembre 2014
1 308
28 sept. 2011 à 16:11
28 sept. 2011 à 16:11
J'ai testé sous Excel 2007, aucun problème.
Peut être qu'effectivement ta version est trop ancienne.
Peut être qu'effectivement ta version est trop ancienne.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
28 sept. 2011 à 16:18
28 sept. 2011 à 16:18
ensuite j'ai toujours 1 comme résultat Boudiou!!! As tu validé ta formule par CTRL+SHIFT+Entréé???
Non.
Donc suis la démarche ici présentée
Non.
Donc suis la démarche ici présentée
antipolis a
Messages postés
15609
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
12 novembre 2014
2 859
28 sept. 2011 à 17:23
28 sept. 2011 à 17:23
Si, si.
ccm81
Messages postés
10904
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 décembre 2024
2 428
28 sept. 2011 à 17:31
28 sept. 2011 à 17:31
il faut bien que ça marche ...
https://www.cjoint.com/?0ICrDYl2Lq7
https://www.cjoint.com/?0ICrDYl2Lq7
antipolis a
Messages postés
15609
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
12 novembre 2014
2 859
28 sept. 2011 à 16:28
28 sept. 2011 à 16:28
Et pourtant les fonctions utilisées sont bien dans Excel 2002.
Mais ...
J'ai déjà installé l'Office 2007, mais je n'aime pas du tout la nouvelle ergonomie.
Et malheureusement, je n'ai pas pu mettre les deux versions en parallèle, le temps de m'y mettre, car il y avait des conflits.
Je suis donc resté avec l'Office 2002.
Mais je pense qu'un de ces jours, je vais devoir passer à la version 2007 tout de même.
Je viens de voir que "pijaku" avait posé une longue explication sur le fonctionnement de la formule.
Je vais lire cela avec attention.
Cordialement.
Mais ...
J'ai déjà installé l'Office 2007, mais je n'aime pas du tout la nouvelle ergonomie.
Et malheureusement, je n'ai pas pu mettre les deux versions en parallèle, le temps de m'y mettre, car il y avait des conflits.
Je suis donc resté avec l'Office 2002.
Mais je pense qu'un de ces jours, je vais devoir passer à la version 2007 tout de même.
Je viens de voir que "pijaku" avait posé une longue explication sur le fonctionnement de la formule.
Je vais lire cela avec attention.
Cordialement.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
Modifié par pijaku le 28/09/2011 à 16:30
Modifié par pijaku le 28/09/2011 à 16:30
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
28 sept. 2011 à 16:35
28 sept. 2011 à 16:35
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
Modifié par pijaku le 28/09/2011 à 16:39
Modifié par pijaku le 28/09/2011 à 16:39
Donc, pour la 4ème fois sur ce sujet...... A LIRE
Eh les gars!!! Mike31 et Michel_m!! vous êtes ou?
Encore à l'apéro ces deux là........
Non je suis calme et détendu.....
Eh les gars!!! Mike31 et Michel_m!! vous êtes ou?
Encore à l'apéro ces deux là........
Non je suis calme et détendu.....
Mike-31
Messages postés
18352
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 décembre 2024
5 110
28 sept. 2011 à 21:00
28 sept. 2011 à 21:00
Bonsoir le fil,
Eh ben! Quel déploiement sur cette discussion, Pour ma part je n'étais plus à l'apéro ni à la sieste. Mais en cours, et oui en dehors du forum il y a de la demande. Je crois que tout à été dit, il est vrai dans mes explications rapides j'ai omis de préciser qu'il s'agissait d'une formule matricielle
Eh ben! Quel déploiement sur cette discussion, Pour ma part je n'étais plus à l'apéro ni à la sieste. Mais en cours, et oui en dehors du forum il y a de la demande. Je crois que tout à été dit, il est vrai dans mes explications rapides j'ai omis de préciser qu'il s'agissait d'une formule matricielle
28 sept. 2011 à 11:44
et si jamais il fallait faire la somme de tous les chiffres d'un nombre, quel que soit le nombre de caractères, jusqu'à ce que cette somme soit comprise entre 1 et 9, il faudrait absolument passer par une macro non ?
28 sept. 2011 à 12:08
Faut pas nous torturer comme cela.
On ne vous a rien fait.
;=)
28 sept. 2011 à 14:08
je pense, et avec quelque chose comme ça
bonne journée