Trouver le plus grand nombre d'une séquence au sein d'une cellule
5 réponses
seb74
Bonjour à tous,
Besoin d'un coup de main !
Voici le dilemme : j'ai des chaines dans des cellules et je voudrai dans leur cellule adjacente afficher le plus grand nombre de cette chaine...
Les chaines sont du type de celle-ci :
S2_Ech010a_2|S2_Ech012_1|S2_Ech011b_2|S2_Ech011_2|
Seuls les 3 chiffres qui suivent 'Ech' m'intéressent.
J'ai l'impression qu'au final il faut utiliser les fonctions 'grande.valeur' ou 'max', peut être avec du matriciel, mais il faut avant tout nettoyer la chaine de façon automatique...
Besoin d'un coup de main ! Voici le dilemme : j'ai des chaines dans des cellules et je voudrai dans leur cellule adjacente afficher le plus grand nombre de cette chaine...
Les chaines sont du type de celle-ci : S2_Ech010a_2|S2_Ech012_1|S2_Ech011b_2|S2_Ech011_2|
Seuls les 3 chiffres qui suivent 'Ech' m'intéressent. J'ai l'impression qu'au final il faut utiliser les fonctions 'grande.valeur' ou 'max', peut être avec du matriciel, mais il faut avant tout nettoyer la chaine de façon automatique...
"seb74" <nospam_ourtoo@yahoo.fr.invalid> a écrit dans le message de news:
CfmdnasJL4V6I23T4p2dnAA@giganews.com...
Bonjour à tous,
Besoin d'un coup de main !
Voici le dilemme : j'ai des chaines dans des cellules et je voudrai dans leur
cellule adjacente afficher le plus grand nombre de cette chaine...
Les chaines sont du type de celle-ci :
S2_Ech010a_2|S2_Ech012_1|S2_Ech011b_2|S2_Ech011_2|
Seuls les 3 chiffres qui suivent 'Ech' m'intéressent.
J'ai l'impression qu'au final il faut utiliser les fonctions 'grande.valeur' ou
'max', peut être avec du matriciel, mais il faut avant tout nettoyer la chaine
de façon automatique...
Besoin d'un coup de main ! Voici le dilemme : j'ai des chaines dans des cellules et je voudrai dans leur cellule adjacente afficher le plus grand nombre de cette chaine...
Les chaines sont du type de celle-ci : S2_Ech010a_2|S2_Ech012_1|S2_Ech011b_2|S2_Ech011_2|
Seuls les 3 chiffres qui suivent 'Ech' m'intéressent. J'ai l'impression qu'au final il faut utiliser les fonctions 'grande.valeur' ou 'max', peut être avec du matriciel, mais il faut avant tout nettoyer la chaine de façon automatique...
Et pour tout ça... je ne sais pas faire...
Help
MichD
Bonjour,
Peu importe la structure :
'Validation matricielle : Maj + ctrl + enter =MAX(SI(ESTNUM(STXT($A$1;LIGNE(INDIRECT("1:"&NBCAR($A$1)));3)*1);STXT($A$1;LIGNE(INDIRECT("1:"&NBCAR($A$1)));3)*1))
N.B. si le résultat est 012 comme le zéro n'est pas significatif, il n'apparaît pas. Cependant tu peux donner à ta cellule le format personnalisé 000 pour toujours afficher 3 chiffres !
MichD ------------------------------------------ "seb74" a écrit dans le message de groupe de discussion :
Bonjour à tous,
Besoin d'un coup de main ! Voici le dilemme : j'ai des chaines dans des cellules et je voudrai dans leur cellule adjacente afficher le plus grand nombre de cette chaine...
Les chaines sont du type de celle-ci : S2_Ech010a_2|S2_Ech012_1|S2_Ech011b_2|S2_Ech011_2|
Seuls les 3 chiffres qui suivent 'Ech' m'intéressent. J'ai l'impression qu'au final il faut utiliser les fonctions 'grande.valeur' ou 'max', peut être avec du matriciel, mais il faut avant tout nettoyer la chaine de façon automatique...
Et pour tout ça... je ne sais pas faire...
Help
Bonjour,
Peu importe la structure :
'Validation matricielle : Maj + ctrl + enter
=MAX(SI(ESTNUM(STXT($A$1;LIGNE(INDIRECT("1:"&NBCAR($A$1)));3)*1);STXT($A$1;LIGNE(INDIRECT("1:"&NBCAR($A$1)));3)*1))
N.B. si le résultat est 012 comme le zéro n'est pas significatif, il n'apparaît pas. Cependant tu peux donner à ta cellule
le format personnalisé 000 pour toujours afficher 3 chiffres !
MichD
------------------------------------------
"seb74" a écrit dans le message de groupe de discussion : CfmdnasJL4V6I23T4p2dnAA@giganews.com...
Bonjour à tous,
Besoin d'un coup de main !
Voici le dilemme : j'ai des chaines dans des cellules et je voudrai dans leur
cellule adjacente afficher le plus grand nombre de cette chaine...
Les chaines sont du type de celle-ci :
S2_Ech010a_2|S2_Ech012_1|S2_Ech011b_2|S2_Ech011_2|
Seuls les 3 chiffres qui suivent 'Ech' m'intéressent.
J'ai l'impression qu'au final il faut utiliser les fonctions 'grande.valeur' ou
'max', peut être avec du matriciel, mais il faut avant tout nettoyer la chaine
de façon automatique...
'Validation matricielle : Maj + ctrl + enter =MAX(SI(ESTNUM(STXT($A$1;LIGNE(INDIRECT("1:"&NBCAR($A$1)));3)*1);STXT($A$1;LIGNE(INDIRECT("1:"&NBCAR($A$1)));3)*1))
N.B. si le résultat est 012 comme le zéro n'est pas significatif, il n'apparaît pas. Cependant tu peux donner à ta cellule le format personnalisé 000 pour toujours afficher 3 chiffres !
MichD ------------------------------------------ "seb74" a écrit dans le message de groupe de discussion :
Bonjour à tous,
Besoin d'un coup de main ! Voici le dilemme : j'ai des chaines dans des cellules et je voudrai dans leur cellule adjacente afficher le plus grand nombre de cette chaine...
Les chaines sont du type de celle-ci : S2_Ech010a_2|S2_Ech012_1|S2_Ech011b_2|S2_Ech011_2|
Seuls les 3 chiffres qui suivent 'Ech' m'intéressent. J'ai l'impression qu'au final il faut utiliser les fonctions 'grande.valeur' ou 'max', peut être avec du matriciel, mais il faut avant tout nettoyer la chaine de façon automatique...
Et pour tout ça... je ne sais pas faire...
Help
seb74
seb74 a écrit le 20/12/2011 à 17h59 :
Bonjour à tous,
Besoin d'un coup de main ! Voici le dilemme : j'ai des chaines dans des cellules et je voudrai dans leur cellule adjacente afficher le plus grand nombre de cette chaine...
Les chaines sont du type de celle-ci : S2_Ech010a_2|S2_Ech012_1|S2_Ech011b_2|S2_Ech011_2|
Seuls les 3 chiffres qui suivent 'Ech' m'intéressent. J'ai l'impression qu'au final il faut utiliser les fonctions 'grande.valeur' ou 'max', peut être avec du matriciel, mais il faut avant tout nettoyer la chaine de façon automatique...
Et pour tout ça... je ne sais pas faire...
Help
Merci à tous les deux pour ces propositions. J'ai essayé de vous répondre et vous remercier plus tôt mais mon message n'est pas parti. La structure étant variable, la seconde proposition est juste parfaite ! ça marche à merveille !
MichD, peux-tu stp m'éclaircir sur ce fonctionnement matricielle ? Je connais les fonctions prises séparément mais je n'arrive pas à comprendre ton imbrication.
Encore merci !
seb74 a écrit le 20/12/2011 à 17h59 :
Bonjour à tous,
Besoin d'un coup de main !
Voici le dilemme : j'ai des chaines dans des cellules et je voudrai dans leur
cellule adjacente afficher le plus grand nombre de cette chaine...
Les chaines sont du type de celle-ci :
S2_Ech010a_2|S2_Ech012_1|S2_Ech011b_2|S2_Ech011_2|
Seuls les 3 chiffres qui suivent 'Ech' m'intéressent.
J'ai l'impression qu'au final il faut utiliser les fonctions 'grande.valeur' ou
'max', peut être avec du matriciel, mais il faut avant tout nettoyer la
chaine de façon automatique...
Et pour tout ça... je ne sais pas faire...
Help
Merci à tous les deux pour ces propositions.
J'ai essayé de vous répondre et vous remercier plus tôt mais mon message n'est pas parti.
La structure étant variable, la seconde proposition est juste parfaite ! ça marche à merveille !
MichD, peux-tu stp m'éclaircir sur ce fonctionnement matricielle ?
Je connais les fonctions prises séparément mais je n'arrive pas à comprendre ton imbrication.
Besoin d'un coup de main ! Voici le dilemme : j'ai des chaines dans des cellules et je voudrai dans leur cellule adjacente afficher le plus grand nombre de cette chaine...
Les chaines sont du type de celle-ci : S2_Ech010a_2|S2_Ech012_1|S2_Ech011b_2|S2_Ech011_2|
Seuls les 3 chiffres qui suivent 'Ech' m'intéressent. J'ai l'impression qu'au final il faut utiliser les fonctions 'grande.valeur' ou 'max', peut être avec du matriciel, mais il faut avant tout nettoyer la chaine de façon automatique...
Et pour tout ça... je ne sais pas faire...
Help
Merci à tous les deux pour ces propositions. J'ai essayé de vous répondre et vous remercier plus tôt mais mon message n'est pas parti. La structure étant variable, la seconde proposition est juste parfaite ! ça marche à merveille !
MichD, peux-tu stp m'éclaircir sur ce fonctionnement matricielle ? Je connais les fonctions prises séparément mais je n'arrive pas à comprendre ton imbrication.
Encore merci !
MichD
|MichD, peux-tu stp m'éclaircir sur ce fonctionnement matricielle ?
| 'Validation matricielle : Maj + ctrl + enter | =MAX(SI(ESTNUM(STXT($A$1;LIGNE(INDIRECT("1:"&NBCAR($A$1)));3)*1);STXT($A$1;LIGNE(INDIRECT("1:"&NBCAR($A$1)));3)*1))
La chaîne de caractères : S2_Ech010a_2|S2_Ech012_1|S2_Ech011b_2|S2_Ech011_2|
***En fait, la formule prend à tour de rôle 3 caractères à la fois à partir du premier caractère contenu dans la cellule A1 et elle crée un tableau temporaire comme suit : S2_ 2_E _Ec Ech ... ainsi de suite pour chaque regroupement.
Cela c'est le travail de l'argument No 2 de la fonction Stxt() représenté par : LIGNE(INDIRECT("1:"&NBCAR($A$1))) qui signifie qu'autant de chaînes de 3 caractères seront créées qu'il y a de caractères dans la chaîne source.
La fonction EstNum() sert à faire un tri dans les chaînes de 3 caractères pour ne retenir que celles qui sont numériques.
La fonction Max() retient la valeur numérique la plus élevée parmi les chaînes numériques de 3 caractères que contient la plage, peu importe leur position dans la chaîne.
Si tu as plus d'une chaîne de caractères de 3 caractères numériques dans la donnée source, si tu veux retenir une chaîne particulière selon sa position (après "Ech" par exemple), il faudrait modifier la formule...
MichD ------------------------------------------ "seb74" a écrit dans le message de groupe de discussion :
seb74 a écrit le 20/12/2011 à 17h59 :
Bonjour à tous,
Besoin d'un coup de main ! Voici le dilemme : j'ai des chaines dans des cellules et je voudrai dans
leur
cellule adjacente afficher le plus grand nombre de cette chaine...
Les chaines sont du type de celle-ci : S2_Ech010a_2|S2_Ech012_1|S2_Ech011b_2|S2_Ech011_2|
Seuls les 3 chiffres qui suivent 'Ech' m'intéressent. J'ai l'impression qu'au final il faut utiliser les fonctions 'grande.valeur'
ou
'max', peut être avec du matriciel, mais il faut avant tout nettoyer la chaine de façon automatique...
Et pour tout ça... je ne sais pas faire...
Help
Merci à tous les deux pour ces propositions. J'ai essayé de vous répondre et vous remercier plus tôt mais mon message n'est pas parti. La structure étant variable, la seconde proposition est juste parfaite ! ça marche à merveille !
MichD, peux-tu stp m'éclaircir sur ce fonctionnement matricielle ? Je connais les fonctions prises séparément mais je n'arrive pas à comprendre ton imbrication.
Encore merci !
|MichD, peux-tu stp m'éclaircir sur ce fonctionnement matricielle ?
| 'Validation matricielle : Maj + ctrl + enter
| =MAX(SI(ESTNUM(STXT($A$1;LIGNE(INDIRECT("1:"&NBCAR($A$1)));3)*1);STXT($A$1;LIGNE(INDIRECT("1:"&NBCAR($A$1)));3)*1))
La chaîne de caractères : S2_Ech010a_2|S2_Ech012_1|S2_Ech011b_2|S2_Ech011_2|
***En fait, la formule prend à tour de rôle 3 caractères à la fois à partir du premier caractère contenu dans la cellule A1
et elle crée un tableau temporaire comme suit :
S2_
2_E
_Ec
Ech
... ainsi de suite pour chaque regroupement.
Cela c'est le travail de l'argument No 2 de la fonction Stxt() représenté par : LIGNE(INDIRECT("1:"&NBCAR($A$1))) qui
signifie qu'autant de chaînes de 3 caractères seront créées qu'il y a de caractères dans la chaîne source.
La fonction EstNum() sert à faire un tri dans les chaînes de 3 caractères pour ne retenir que celles qui sont numériques.
La fonction Max() retient la valeur numérique la plus élevée parmi les chaînes numériques de 3 caractères que contient la
plage, peu importe leur position dans la chaîne.
Si tu as plus d'une chaîne de caractères de 3 caractères numériques dans la donnée source, si tu veux retenir une chaîne
particulière selon sa position (après "Ech" par exemple), il faudrait modifier la formule...
MichD
------------------------------------------
"seb74" a écrit dans le message de groupe de discussion : YsCdnUaQYanwtm7TRVn_vwA@giganews.com...
seb74 a écrit le 20/12/2011 à 17h59 :
Bonjour à tous,
Besoin d'un coup de main !
Voici le dilemme : j'ai des chaines dans des cellules et je voudrai dans
leur
cellule adjacente afficher le plus grand nombre de cette chaine...
Les chaines sont du type de celle-ci :
S2_Ech010a_2|S2_Ech012_1|S2_Ech011b_2|S2_Ech011_2|
Seuls les 3 chiffres qui suivent 'Ech' m'intéressent.
J'ai l'impression qu'au final il faut utiliser les fonctions 'grande.valeur'
ou
'max', peut être avec du matriciel, mais il faut avant tout nettoyer la
chaine de façon automatique...
Et pour tout ça... je ne sais pas faire...
Help
Merci à tous les deux pour ces propositions.
J'ai essayé de vous répondre et vous remercier plus tôt mais mon message n'est
pas parti.
La structure étant variable, la seconde proposition est juste parfaite ! ça
marche à merveille !
MichD, peux-tu stp m'éclaircir sur ce fonctionnement matricielle ?
Je connais les fonctions prises séparément mais je n'arrive pas à comprendre
ton imbrication.
|MichD, peux-tu stp m'éclaircir sur ce fonctionnement matricielle ?
| 'Validation matricielle : Maj + ctrl + enter | =MAX(SI(ESTNUM(STXT($A$1;LIGNE(INDIRECT("1:"&NBCAR($A$1)));3)*1);STXT($A$1;LIGNE(INDIRECT("1:"&NBCAR($A$1)));3)*1))
La chaîne de caractères : S2_Ech010a_2|S2_Ech012_1|S2_Ech011b_2|S2_Ech011_2|
***En fait, la formule prend à tour de rôle 3 caractères à la fois à partir du premier caractère contenu dans la cellule A1 et elle crée un tableau temporaire comme suit : S2_ 2_E _Ec Ech ... ainsi de suite pour chaque regroupement.
Cela c'est le travail de l'argument No 2 de la fonction Stxt() représenté par : LIGNE(INDIRECT("1:"&NBCAR($A$1))) qui signifie qu'autant de chaînes de 3 caractères seront créées qu'il y a de caractères dans la chaîne source.
La fonction EstNum() sert à faire un tri dans les chaînes de 3 caractères pour ne retenir que celles qui sont numériques.
La fonction Max() retient la valeur numérique la plus élevée parmi les chaînes numériques de 3 caractères que contient la plage, peu importe leur position dans la chaîne.
Si tu as plus d'une chaîne de caractères de 3 caractères numériques dans la donnée source, si tu veux retenir une chaîne particulière selon sa position (après "Ech" par exemple), il faudrait modifier la formule...
MichD ------------------------------------------ "seb74" a écrit dans le message de groupe de discussion :
seb74 a écrit le 20/12/2011 à 17h59 :
Bonjour à tous,
Besoin d'un coup de main ! Voici le dilemme : j'ai des chaines dans des cellules et je voudrai dans
leur
cellule adjacente afficher le plus grand nombre de cette chaine...
Les chaines sont du type de celle-ci : S2_Ech010a_2|S2_Ech012_1|S2_Ech011b_2|S2_Ech011_2|
Seuls les 3 chiffres qui suivent 'Ech' m'intéressent. J'ai l'impression qu'au final il faut utiliser les fonctions 'grande.valeur'
ou
'max', peut être avec du matriciel, mais il faut avant tout nettoyer la chaine de façon automatique...
Et pour tout ça... je ne sais pas faire...
Help
Merci à tous les deux pour ces propositions. J'ai essayé de vous répondre et vous remercier plus tôt mais mon message n'est pas parti. La structure étant variable, la seconde proposition est juste parfaite ! ça marche à merveille !
MichD, peux-tu stp m'éclaircir sur ce fonctionnement matricielle ? Je connais les fonctions prises séparément mais je n'arrive pas à comprendre ton imbrication.
Encore merci !
seb74
seb74 a écrit le 20/12/2011 à 17h59 :
Bonjour à tous,
Besoin d'un coup de main ! Voici le dilemme : j'ai des chaines dans des cellules et je voudrai dans leur cellule adjacente afficher le plus grand nombre de cette chaine...
Les chaines sont du type de celle-ci : S2_Ech010a_2|S2_Ech012_1|S2_Ech011b_2|S2_Ech011_2|
Seuls les 3 chiffres qui suivent 'Ech' m'intéressent. J'ai l'impression qu'au final il faut utiliser les fonctions 'grande.valeur' ou 'max', peut être avec du matriciel, mais il faut avant tout nettoyer la chaine de façon automatique...
Et pour tout ça... je ne sais pas faire...
Help
OK ! Je vais creuser LIGNE et INDIRECT pour saisir le cœur. Encore merci pour cette solution ultra rapide !
seb74 a écrit le 20/12/2011 à 17h59 :
Bonjour à tous,
Besoin d'un coup de main !
Voici le dilemme : j'ai des chaines dans des cellules et je voudrai dans leur
cellule adjacente afficher le plus grand nombre de cette chaine...
Les chaines sont du type de celle-ci :
S2_Ech010a_2|S2_Ech012_1|S2_Ech011b_2|S2_Ech011_2|
Seuls les 3 chiffres qui suivent 'Ech' m'intéressent.
J'ai l'impression qu'au final il faut utiliser les fonctions 'grande.valeur' ou
'max', peut être avec du matriciel, mais il faut avant tout nettoyer la
chaine de façon automatique...
Et pour tout ça... je ne sais pas faire...
Help
OK ! Je vais creuser LIGNE et INDIRECT pour saisir le cœur.
Encore merci pour cette solution ultra rapide !
Besoin d'un coup de main ! Voici le dilemme : j'ai des chaines dans des cellules et je voudrai dans leur cellule adjacente afficher le plus grand nombre de cette chaine...
Les chaines sont du type de celle-ci : S2_Ech010a_2|S2_Ech012_1|S2_Ech011b_2|S2_Ech011_2|
Seuls les 3 chiffres qui suivent 'Ech' m'intéressent. J'ai l'impression qu'au final il faut utiliser les fonctions 'grande.valeur' ou 'max', peut être avec du matriciel, mais il faut avant tout nettoyer la chaine de façon automatique...
Et pour tout ça... je ne sais pas faire...
Help
OK ! Je vais creuser LIGNE et INDIRECT pour saisir le cœur. Encore merci pour cette solution ultra rapide !