Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

calculs sur une partie du nombre

10 réponses
Avatar
Greg
Bonjour à tous,

Dans un nombre comportant une série de chiffres, je souhaite effectuer des
calculs uniquement sur les deux derniers.

ex: moyenne de 500015001550010500145001251014 et de 51016, soit 15 (moyenne
de 14 et 16)

Merci pour vos lumières

Greg

10 réponses

Avatar
Jacky
Bonjour,

Les nombres en a1 et b1
=MOYENNE(DROITE(A1;2);DROITE(B1;2))

--
Salutations
JJ


"Greg" a écrit dans le message de news:

Bonjour à tous,

Dans un nombre comportant une série de chiffres, je souhaite effectuer des
calculs uniquement sur les deux derniers.

ex: moyenne de 500015001550010500145001251014 et de 51016, soit 15
(moyenne de 14 et 16)

Merci pour vos lumières

Greg



Avatar
Greg
Bonjour et merci Jacky,

Toujours aussi efficace!

"Jacky" a écrit dans le message de
news:%
Bonjour,

Les nombres en a1 et b1
=MOYENNE(DROITE(A1;2);DROITE(B1;2))

--
Salutations
JJ


"Greg" a écrit dans le message de news:

Bonjour à tous,

Dans un nombre comportant une série de chiffres, je souhaite effectuer
des calculs uniquement sur les deux derniers.

ex: moyenne de 500015001550010500145001251014 et de 51016, soit 15
(moyenne de 14 et 16)

Merci pour vos lumières

Greg







Avatar
Greg
Petit hic:

D'abord, pour aller plus vite, comment faire pour qu'il prenne en compte une
cellule sur 4 à partir de C3 sur la ligne? En effet, la formule risque
d'être longue et fastidieuse pour aller de E3 à EK3...
Voilà le début =MOYENNE(DROITE(E3;2);DROITE(I3;2).........)
Donc dans l'ordre, toujours ligne 3 : E, I, M, Q, U, Y, AC, AG, AK
etc......jusqu'à EK3.

Ensuite, certaines des cellules seront vides.... Or, avec cette formule, il
me renvoie un message d'erreur si la cellule est vide.

Pour info, entre ces cellules, il y a des dates au format 15/12/09...

Merci à vous

Greg


"Jacky" a écrit dans le message de
news:%
Bonjour,

Les nombres en a1 et b1
=MOYENNE(DROITE(A1;2);DROITE(B1;2))

--
Salutations
JJ


"Greg" a écrit dans le message de news:

Bonjour à tous,

Dans un nombre comportant une série de chiffres, je souhaite effectuer
des calculs uniquement sur les deux derniers.

ex: moyenne de 500015001550010500145001251014 et de 51016, soit 15
(moyenne de 14 et 16)

Merci pour vos lumières

Greg







Avatar
michdenis
Bonjour,

Tu peux créer une fonction personnalisé pour faire ce que tu désires :

Dans le cas d'une moyenne :

Dans la cellule de la feuille, tu inscris : =MaMoyenne(E3:EK3)

dans un module standard, tu inscris ceci :
'--------------------------------
Function MaMoyenne(Rg As Range)
Dim Nb As Long, Som As Long
For a = 1 To Rg.Columns.Count Step 4
If IsNumeric(Rg(, a)) And Len(Rg(, a)) >= 2 Then
Nb = Nb + 1
Som = Som + CLng(Right(Rg(, a), 2))
End If
Next
If Nb <> 0 And Som <> 0 Then
MaMoyenne = Som / Nb
Else
Moyenne = "N/A"
End If
End Function
'--------------------------------



"Greg" a écrit dans le message de groupe de discussion :

Bonjour à tous,

Dans un nombre comportant une série de chiffres, je souhaite effectuer des
calculs uniquement sur les deux derniers.

ex: moyenne de 500015001550010500145001251014 et de 51016, soit 15 (moyenne
de 14 et 16)

Merci pour vos lumières

Greg
Avatar
Greg
Merci Mich Denis!

C'est impec!!

à bientôt

Greg

"michdenis" a écrit dans le message de
news:
Bonjour,

Tu peux créer une fonction personnalisé pour faire ce que tu désires :

Dans le cas d'une moyenne :

Dans la cellule de la feuille, tu inscris : =MaMoyenne(E3:EK3)

dans un module standard, tu inscris ceci :
'--------------------------------
Function MaMoyenne(Rg As Range)
Dim Nb As Long, Som As Long
For a = 1 To Rg.Columns.Count Step 4
If IsNumeric(Rg(, a)) And Len(Rg(, a)) >= 2 Then
Nb = Nb + 1
Som = Som + CLng(Right(Rg(, a), 2))
End If
Next
If Nb <> 0 And Som <> 0 Then
MaMoyenne = Som / Nb
Else
Moyenne = "N/A"
End If
End Function
'--------------------------------



"Greg" a écrit dans le message de groupe de discussion
:

Bonjour à tous,

Dans un nombre comportant une série de chiffres, je souhaite effectuer des
calculs uniquement sur les deux derniers.

ex: moyenne de 500015001550010500145001251014 et de 51016, soit 15
(moyenne
de 14 et 16)

Merci pour vos lumières

Greg



Avatar
Caetera
"Greg" a écrit dans le message de news:


D'abord, pour aller plus vite, comment faire pour qu'il prenne en compte une
cellule sur 4 à partir de C3 sur la ligne? En effet, la formule risque
etc......jusqu'à EK3.
Ensuite, certaines des cellules seront vides.... Or, avec cette formule, il



****************

Matricielle :
=MOYENNE(SI((MOD(COLONNE(B3:EK3);4)=1)*(B3:EK3<>"");1*DROITE(B3:EK3;2);""))

Etc
Avatar
michdenis
Bonjour,

J'apporterais cette modification (pour le plaisir)
;-)

Toujours en matricielle :
=MOYENNE(SI((MOD(COLONNE(B4:EK4);4)=1)*ESTNUM(B4:EK4)*NBCAR(B4:EK4)>=2;1*DROITE(B4:EK4;2);""))

Et si tous les colonnes sont vides, pour éviter l'erreur :
=SI(ESTERREUR(MOYENNE(SI((MOD(COLONNE(B4:EK4);4)=1)*ESTNUM(B4:EK4)*NBCAR(B4:EK4)>=2;1*DROITE(B4:EK4;2))));"";MOYENNE(SI((MOD(COLONNE(B4:EK4);4)=1)*ESTNUM(B4:EK4)*NBCAR(B4:EK4)>=2;1*DROITE(B4:EK4;2))))



"Caetera" <EtiennePloufCahé@wanadoo.fr> a écrit dans le message de groupe de discussion :

"Greg" a écrit dans le message de news:


D'abord, pour aller plus vite, comment faire pour qu'il prenne en compte une
cellule sur 4 à partir de C3 sur la ligne? En effet, la formule risque
etc......jusqu'à EK3.
Ensuite, certaines des cellules seront vides.... Or, avec cette formule, il



****************

Matricielle :
=MOYENNE(SI((MOD(COLONNE(B3:EK3);4)=1)*(B3:EK3<>"");1*DROITE(B3:EK3;2);""))

Etc
Avatar
Caetera
"michdenis" a écrit dans le message de news:

Et si tous les colonnes sont vides, pour éviter l'erreur :



=SI(ESTERREUR(MOYENNE(SI((MOD(COLONNE(B4:EK4);4)=1)*ESTNUM(B4:EK4)*NBCAR(B4:EK4)>=2;1*DROITE(B4:EK4;2))));"";MOYENNE(SI((MOD(COLONNE(B4:EK4);4)=1)*ESTNUM(B4:EK4)*NBCAR(B4:EK4)>=2;1*DROITE(B4:EK4;2))))



******************
Si tous les colonnes sont vides, pas nécessaire de reprendre l'ensemble du
calcul )pour tester
=si(nbval(plage)=0;"";...........................) suffira

Etc
Avatar
Greg
Ca c'est de la formule!

Merci à tous!

Greg

"michdenis" a écrit dans le message de
news:
Bonjour,

J'apporterais cette modification (pour le plaisir)
;-)

Toujours en matricielle :
=MOYENNE(SI((MOD(COLONNE(B4:EK4);4)=1)*ESTNUM(B4:EK4)*NBCAR(B4:EK4)>=2;1*DROITE(B4:EK4;2);""))

Et si tous les colonnes sont vides, pour éviter l'erreur :
=SI(ESTERREUR(MOYENNE(SI((MOD(COLONNE(B4:EK4);4)=1)*ESTNUM(B4:EK4)*NBCAR(B4:EK4)>=2;1*DROITE(B4:EK4;2))));"";MOYENNE(SI((MOD(COLONNE(B4:EK4);4)=1)*ESTNUM(B4:EK4)*NBCAR(B4:EK4)>=2;1*DROITE(B4:EK4;2))))



"Caetera" <EtiennePloufCahé@wanadoo.fr> a écrit dans le message de groupe
de discussion :

"Greg" a écrit dans le message de news:


D'abord, pour aller plus vite, comment faire pour qu'il prenne en compte
une
cellule sur 4 à partir de C3 sur la ligne? En effet, la formule risque
etc......jusqu'à EK3.
Ensuite, certaines des cellules seront vides.... Or, avec cette formule,
il



****************

Matricielle :
=MOYENNE(SI((MOD(COLONNE(B3:EK3);4)=1)*(B3:EK3<>"");1*DROITE(B3:EK3;2);""))

Etc



Avatar
michdenis
| Si tous les colonnes sont vides, pas nécessaire de
| reprendre l'ensemble du calcul )pour tester
| =si(nbval(plage)=0;"";...........................) suffira

C'est pas grave même si je ne suis pas d'accord !
Le tester, c'est l'évidence même !

;-)