Existe-t-il une fonction qui réduit une série de 1111 en 1 ou 2

Fermé
Obione - 21 janv. 2013 à 05:31
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 - 21 janv. 2013 à 10:54
Bonjour,

J'ai besoin pour une étude spéciale, de vérifier si une série de chiffres 1 par regroupement deux par deux se termine par un chiffre 1 (Si le chiffre final est 1) ou se termine par un chiffre 2 (Si le dernier regroupement est composé de 2 chiffres 1)

1/ par exemple 11111111111 c'est identique à 11 - 11 - 11 - 11 - 11 - 1 et donne 1
car par regroupement deux par deux, il reste le chiffre 1 Seul donc la ligne est impaire=1

2/ par exemple 111111111111 c'est identique à 11 - 11 - 11 - 11 - 11 - 11 et donne 11
car par regroupement deux par deux, il reste deux chiffres 1 soit 11 donc la ligne est paire=11 (ou 2)



A voir également:

4 réponses

JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
21 janv. 2013 à 05:59
Bonjour,

plusieurs possibilités :

1) si les 1 sont dans une cellule au format numérique, =EST.PAIR(ENT(LOG(macellule))+1)+1 ou =EST.PAIR(NBCAR(CTXT(macellule,0,VRAI)))+1

2) si les 1 forment une chaîne de caractères, =EST.PAIR(NBCAR(macellule))+1

3) si les 1 sont chacun dans des cellules contigues, il suffit de les compter et d'appliquer la vérification de parité.

Cordialement
0
piopicolo Messages postés 1395 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 31 juillet 2023 193
21 janv. 2013 à 06:53
Salut,
Tu transformes ton chiffre en texte =BAHTTEXT()
et ensuite tu calcules le nombre de caractères du texte avec NBCAR(txt)
Si c'est pair c'est un multiple de 11 et sinon c'est 1 (impair)
=MOD(NBCAR(BAHTTEXT(A1))) = 0 ou 1
A+
0
piopicolo Messages postés 1395 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 31 juillet 2023 193
Modifié par piopicolo le 21/01/2013 à 08:41
Petite erreur de fonction texte, la dernière étape est le Modulo 2 pour pair ou impair.
=MOD(NBCAR(CTXT(A1,0,VRAI)),2)
0
piopicolo Messages postés 1395 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 31 juillet 2023 193
21 janv. 2013 à 08:46
Attention: dans excel on ne peut pas écrire de nombre de plus de 15 chiffres.
si c'est le cas, il faudra faire des découpes préliminaires de 15 caractères maxi.
Attention, les blanc sont comptés.
0
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 306
21 janv. 2013 à 08:55
Bonjour,

on peut écrire un nombre de plus de 15 chiffres. Le soucis est l'affichage qui passera en puissance, et donc cela provoquera un arrondi.
Exemple :
11111111111111111111 => 1,11111E+19 à l'affichage dans la cellule, 11111111111111100000 dans la barre de fonction.

Cela n'empêcherait donc pas de compter le nombre de caractères.

Cordialement.
0
piopicolo Messages postés 1395 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 31 juillet 2023 193
21 janv. 2013 à 09:08
Ok, j'ai bien vu ça mais est-ce que le chiffre est 11111111111111100000 ou 11111111111111111111.0 ? Les chiffres après le 15ème sont-ils considérés comme significatifs dans un calcul ?
0
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 306
21 janv. 2013 à 09:11
Pas faux.
Sinon, pour plus de 15 caractères, il suffit de rentrer un ' au préalable dans la cellule pour notifier qu'il s'agit d'une chaîne de caractère. Et là tous les 1 sont correctement affichés.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
21 janv. 2013 à 10:03
Bonjour,

Si j'ai bien compris l'énoncé, je pense que la formule suivante donne le résultat :

=SI(MOD(NBCAR(A1);2);"pair";"impair")
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
Modifié par Mike-31 le 21/01/2013 à 11:08
Salut,

Sauf erreur de ma part, je pense qu'il conviendrait d'inverser la condition vrai et faux

=SI(MOD(NBCAR(A1);2);"impair";"pair")

ou remplacer 2 par 3

=SI(MOD(NBCAR(A1);3);"pair";"impair")

ou encore écrire

=SI(MOD(NBCAR(A1);2)=0;"pair";"impair")

pour afficher des valeurs dont le nombre de caractères supérieur à 11 cette formule

=A1/100000 et formater la cellule Nombre 0 décimale

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0