Tarot - calculer une somme et en faire une réduction si > 22 entre 1 et 22

Bonjour,

J'aimerais faire un calcul de 2 nombres qui sont dans 2 cellules.

Mettre ce résultat dans une autre cellule et si la somme est supérieure à 22, faire la réduction pour avoir un résultat entre 1 et 22 !

J'ai essayé avec cette formule:

=LET(
x;SOMME(B25:F25);
y;SI(x>22;SOMMEPROD(STXT(x;SEQUENCE(NBCAR(x));1)*1);x);
SI(y>22;SOMMEPROD(STXT(y;SEQUENCE(NBCAR(y));1)*1);y)

Que j'avais trouvé mais ça ne marche pas !

bonjour

je te propose ça, en C2 =SI(OU(A2="";B2="");"";SI(ET(A2+B2>=23;A2+B2<=44);CNUM(GAUCHE(A2+B2;1))+CNUM(DROITE(A2+B2;1));A2+B2))

Bonjour,

On peut passer par une petite fonction LAMBDA récursive pour gérer tous les cas (nombres >100, 1000 etc) :

Dans le gestionnaire de noms, définir le nom λREC_TAROT, avec la définition :

=LAMBDA(n;
   SI(n<=22;
      n;
      λREC_TAROT(SOMME(--STXT(n;SEQUENCE(NBCAR(n));1)))
   )
)

Puis l'appeler dans le classeur via

=λREC_TAROT(SOMME(B25:F25))
image

Voici un exemple de résultat obtenu :

396441209031932764536804414480394833224397171462811105037
22713142217131521105920315

Dans la même idée, pour faire une réduction avec un nombre à 4 chiffre comme par exemple une date de naissance et réduire le résultat entre 1 et 22

EX: 1987

Le calcul serait 1 + 9 + 8 + 7 = 25 = 2 + 5 = 7

On aurait 7 en résultat

J'avais utilisé la formule : =SI(OU(B25="";F25="");"";SI(ET(B25+F25>=23;A2+B2<=44);CNUM(GAUCHE(B25+F25;1))+CNUM(DROITE(B25+F25;1));B25+F25))

Mais là je ne trouve pas de solution !

Bonjour

Avez-vous essayé la proposition de saboh12617 ?

Sinon avec REDUCE :

=REDUCE(
    0;
    STXT(A1;SEQUENCE(NBCAR(A1));1);
    LAMBDA(i;j;SI(i+j>22;GAUCHE(i+j)+DROITE(i+j);i+j)))
image

On commence à 0

on prend tous les chiffres un par un en additionnant ce chiffre avec la valeur précédente

0+1 = 1

1+9 = 10

10+8=18

18+7=25

ici la somme dépasse 22 on additionne les dizaines et les unités (le GAUCHE(i+j)+DROITE(i+j) du LAMBDA)

donc 2+5 = 7

Stéphane

Non je n'ai pas réussi à mettre en place la formule LAMBDA REC_TAROT

Bonjour à tous,
Ci-joint un fichier contenant la fonction "prête à l'usage". @raccourcix tu as appliqué ma première interprétation de la demande, mais en me renseignant un peu les calculs de tarot se font normalement en sommant tous les chiffres d'un nombre, d'un coup, puis appliquer la règle de réduction ou non, et ainsi de suite, soit jusqu'à tomber sur un entier dans [0, 9], soit en s'arrêtant avant à une limite comme "22". Dans ce dernier cas il n'existe pas de méthode "dépliée", c'est à dire sans récursion, pour atteindre le résultat pour un nombre de longueur variable car on risque de "sauter" la limite.
Après bon, tout dépend de l'interprétation, mais grosso modo pour réduire le nombre entier n tel que :

image image

faire la lecture progressive des a_i de k à 1, et réduire au fur et à mesure, ne conduit pas toujours au même résultat. En d'autres termes :

image
7book-1-copie.xlsx (10.49 Ko)

Bonjour

Avez-vous essayé la proposition de saboh12617 ?

Sinon avec REDUCE :

=REDUCE(
    0;
    STXT(A1;SEQUENCE(NBCAR(A1));1);
    LAMBDA(i;j;SI(i+j>22;GAUCHE(i+j)+DROITE(i+j);i+j)))
image

On commence à 0

on prend tous les chiffres un par un en additionnant ce chiffre avec la valeur précédente

0+1 = 1

1+9 = 10

10+8=18

18+7=25

ici la somme dépasse 22 on additionne les dizaines et les unités (le GAUCHE(i+j)+DROITE(i+j) du LAMBDA)

donc 2+5 = 7

Stéphane

Merci @saboh12617 pour ces précisions

De toute façon ma formule avec REDUCE était erronée pour tous les nombres entre 10 et 22.

Stéphane

Rechercher des sujets similaires à "tarot calculer somme reduction entre"