Rechercher la valeur la plus proche dans une ligne d'un tableau
Résolu
Deathsite
Messages postés
18
Date d'inscription
Statut
Membre
Dernière intervention
-
Deathsite Messages postés 18 Date d'inscription Statut Membre Dernière intervention -
Deathsite Messages postés 18 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je me creuse la cervelle depuis deux jours pour trouver deux formules :
ci joint le fichier pour que ce soit plus clair
en jaune les cellules de saisie
en vert les cellules où j'ai besoin d'aide!
dans la cellule E22, je souhaiterais trouver la valeur la plus proche (quelle soit plus petite ou plus grande) de la cellule E21 dans le tableau se trouvant dans la feuille "liste des grades et indices".
Cependant, je souhaite que cette recherche se fasse par rapport au grade que lon aura saisi (via liste déroulante) dans la cellule B3 et que l'on retrouve dans la colonne du tableau de la feuille "liste des grades indices".
Une fois qu'il a trouvé cette valeur, je souhaiterai (dans la cellule E23) qu'il me donne le chiffre (échelon) correspondant à cette valeur (indice) que l'on trouve en intitulé de ligne dans le même tableau.
Si vous avez des idées, je suis preneur!!
Et bonne année à tous!!
https://www.cjoint.com/?0AsrBC52BA4
Je me creuse la cervelle depuis deux jours pour trouver deux formules :
ci joint le fichier pour que ce soit plus clair
en jaune les cellules de saisie
en vert les cellules où j'ai besoin d'aide!
dans la cellule E22, je souhaiterais trouver la valeur la plus proche (quelle soit plus petite ou plus grande) de la cellule E21 dans le tableau se trouvant dans la feuille "liste des grades et indices".
Cependant, je souhaite que cette recherche se fasse par rapport au grade que lon aura saisi (via liste déroulante) dans la cellule B3 et que l'on retrouve dans la colonne du tableau de la feuille "liste des grades indices".
Une fois qu'il a trouvé cette valeur, je souhaiterai (dans la cellule E23) qu'il me donne le chiffre (échelon) correspondant à cette valeur (indice) que l'on trouve en intitulé de ligne dans le même tableau.
Si vous avez des idées, je suis preneur!!
Et bonne année à tous!!
https://www.cjoint.com/?0AsrBC52BA4
A voir également:
- Rechercher la valeur la plus proche dans une ligne d'un tableau
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Aller à la ligne excel - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
6 réponses
Bonjour à tous,
en E22 :
Pas la peine d'en avoir peur, il suffit de valider autrement c'est tout.
en E23 :
https://www.cjoint.com/c/CAvlbsk3OQX
eric
edit: simplification de formule.
en E22 :
en E23 :
https://www.cjoint.com/c/CAvlkVEfzYL
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
en E22 :
=INDEX(DECALER('liste des grades et indices'!$A$1;EQUIV($B$3;'liste des grades et indices'!$A:$A;0)-1;1;;13);EQUIV(MIN(ABS(E21-DECALER('liste des grades et indices'!$A$1;EQUIV($B$3;'liste des grades et indices'!$A:$A;0)-1;1;;13)));ABS(E21-DECALER('liste des grades et indices'!$A$1;EQUIV($B$3;'liste des grades et indices'!$A:$A;0)-1;1;;13));0))formule matricielle à valider avec shift+ctrl+entrée
Pas la peine d'en avoir peur, il suffit de valider autrement c'est tout.
en E23 :
=EQUIV(E22;DECALER('liste des grades et indices'!$A$1;EQUIV($B$3;'liste des grades et indices'!$A:$A;0)-1;1;;13))
https://www.cjoint.com/c/CAvlbsk3OQX
eric
edit: simplification de formule.
en E22 :
=INDEX(DECALER('liste des grades et indices'!$A$1;EQUIV($B$3;'liste des grades et indices'!$A:$A;0)-1;1;;13);E23)
en E23 :
=EQUIV(MIN(ABS($E$21-DECALER('liste des grades et indices'!$A$1;EQUIV($B$3;'liste des grades et indices'!$A:$A;0)-1;1;;13)));ABS($E$21-DECALER('liste des grades et indices'!$A$1;EQUIV($B$3;'liste des grades et indices'!$A:$A;0)-1;1;;13));0)formule matricielle à valider avec shift+ctrl+entrée
https://www.cjoint.com/c/CAvlkVEfzYL
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
Bonjour
Merci pour la bonne année, on vous la retourne avec plaisir.
Ci joint une proposition.
Pour la mettre en place, il a fallu refaire une grille de vos valeurs par garde:
_ classé dans chaque colonne par ordre croissant
_ sans doublon.
Voyez si ça peut vous convenir.
https://www.cjoint.com/c/CAssyZGUWzB
revenez si besoin de complément
crdlmnt
Merci pour la bonne année, on vous la retourne avec plaisir.
Ci joint une proposition.
Pour la mettre en place, il a fallu refaire une grille de vos valeurs par garde:
_ classé dans chaque colonne par ordre croissant
_ sans doublon.
Voyez si ça peut vous convenir.
https://www.cjoint.com/c/CAssyZGUWzB
revenez si besoin de complément
crdlmnt
Bonjour,
je n'ai pas pu regarder votre réponse ce week-end, donc je visn de le faire.
Tout d'abord merci d'avoir regardé ce problème.
Ensuite, le soucis étant que je ne peux pas modifier le tableau : ce tableau correspond à des textes et décrets réglementaires auxquels je ne peux me soustraire. De ce fait les doublons ne peuvent pas être enlever.
C'est pour cela que je pensais que la recherche dans ce tableau pouvait éventuellement se faire par le grade, puisqu'à un seul grade correspond une seule ligne du tableau.
cordialement
je n'ai pas pu regarder votre réponse ce week-end, donc je visn de le faire.
Tout d'abord merci d'avoir regardé ce problème.
Ensuite, le soucis étant que je ne peux pas modifier le tableau : ce tableau correspond à des textes et décrets réglementaires auxquels je ne peux me soustraire. De ce fait les doublons ne peuvent pas être enlever.
C'est pour cela que je pensais que la recherche dans ce tableau pouvait éventuellement se faire par le grade, puisqu'à un seul grade correspond une seule ligne du tableau.
cordialement
Non, ce n'est pas possible avec cette formule, car co,ntrairement à ce que vous dites, il y a pour chaque grade plusieurs fois la, même valeur, et elle ne sont pas classées
Mais qu'est ce qui vous empêche d'utiliser le tableau que j'ai rajouté tout en gardant le tableau d'origine
De toutes façons vous ne pourrez pas baser de recherche sur ce tableau tant que plusieurs lignes auront la, même valeur.
Excel ne saura ps dans tous les cas à quelle ligne s'adresser s'il y en a deux identiques
Bonne chance quand même
crdlmnt.
Mais qu'est ce qui vous empêche d'utiliser le tableau que j'ai rajouté tout en gardant le tableau d'origine
De toutes façons vous ne pourrez pas baser de recherche sur ce tableau tant que plusieurs lignes auront la, même valeur.
Excel ne saura ps dans tous les cas à quelle ligne s'adresser s'il y en a deux identiques
Bonne chance quand même
crdlmnt.
Bonjour,
après vérification de mon tableau de la feuille 2, je pense que vous parlez des 0 que j'ai rajouté en fin de chaque ligne? certains grades n'ont pas tous 13 échelons, donc j'avais rajouté des 0 qui peuvent être enlevés. Par contre je ne comprends pas quand vous dites que les valeurs ne sont pas classées. Après vérification, elles sont par ordre croissant (en ligne uniquement) si l'on enlève les 0 de chaque fin de ligne.
Et à part si l'on prend en considération les 0 que j'avais rajouté (qui font pour certains grades quelques doubons notamment infirmier qui compté 5 0 à la fin de la ligne), toutes les lignes sont classées par ordre croissant.
Ensuite je ne peux malheuresement pas utiliser votre tableau, puisqu'en fonction des grades, l'indice le plus proche sera différent :
par exemple on recherche l'indice le plus proche de 420 (existant dans la feuille 2) :
pour un assistant médico-technique l'indice le plus proche de 420 sera 416 ce qui correspond à l'échelon 6
pour un assistant socio-éducatif l'indice le plus proche de 420 sera 420 ce qui correspond à l'échelon 7
pour un ingénieur l'indice le plus proche de 420 est 425 correspondant à l'échelon 4
...
Je ne sais pas si j'arrive à expliquer clairement ce que je pense, mais n'hésitez pas à me demander, il arrive que je sois brouillon dans mes explications!
Cordialement
après vérification de mon tableau de la feuille 2, je pense que vous parlez des 0 que j'ai rajouté en fin de chaque ligne? certains grades n'ont pas tous 13 échelons, donc j'avais rajouté des 0 qui peuvent être enlevés. Par contre je ne comprends pas quand vous dites que les valeurs ne sont pas classées. Après vérification, elles sont par ordre croissant (en ligne uniquement) si l'on enlève les 0 de chaque fin de ligne.
Et à part si l'on prend en considération les 0 que j'avais rajouté (qui font pour certains grades quelques doubons notamment infirmier qui compté 5 0 à la fin de la ligne), toutes les lignes sont classées par ordre croissant.
Ensuite je ne peux malheuresement pas utiliser votre tableau, puisqu'en fonction des grades, l'indice le plus proche sera différent :
par exemple on recherche l'indice le plus proche de 420 (existant dans la feuille 2) :
pour un assistant médico-technique l'indice le plus proche de 420 sera 416 ce qui correspond à l'échelon 6
pour un assistant socio-éducatif l'indice le plus proche de 420 sera 420 ce qui correspond à l'échelon 7
pour un ingénieur l'indice le plus proche de 420 est 425 correspondant à l'échelon 4
...
Je ne sais pas si j'arrive à expliquer clairement ce que je pense, mais n'hésitez pas à me demander, il arrive que je sois brouillon dans mes explications!
Cordialement
Bonjour
effectivement, j'avais assez mal compris la demande et en fait , j'allais chercher la valeur de E23 dans les N° de colonnes de la ligne 1 de la feuille Liste.....
En fait je viens de comprendre:
voyez ici si ça ne va pas mieux
https://www.cjoint.com/c/CAvmBLwJ8QL
Sachant quand même que comme j'utilise le code MIN;, il faut enlever les 0 du tableau pour y placer des cellules vides.
Mais notez que l'utilisation des codes MAX et MIN n'est utile que si vous avez des valeurs en dehors de la fourchette du grade correspondant.
crdlmnt
effectivement, j'avais assez mal compris la demande et en fait , j'allais chercher la valeur de E23 dans les N° de colonnes de la ligne 1 de la feuille Liste.....
En fait je viens de comprendre:
voyez ici si ça ne va pas mieux
https://www.cjoint.com/c/CAvmBLwJ8QL
Sachant quand même que comme j'utilise le code MIN;, il faut enlever les 0 du tableau pour y placer des cellules vides.
Mais notez que l'utilisation des codes MAX et MIN n'est utile que si vous avez des valeurs en dehors de la fourchette du grade correspondant.
crdlmnt
Bonjour
Une autre solution avec macro qui évite de toucher à tes grilles
https://www.cjoint.com/?3AstmdPZJIZ
> Vaucluse
Salut à toi. Je me permet l'incruste,
Je viens juste de finir, je n'ai pas vu ta solution et comme ça me chagrine de jeter la mienne à la poubelle ....
cordialement
ccm81
Une autre solution avec macro qui évite de toucher à tes grilles
https://www.cjoint.com/?3AstmdPZJIZ
> Vaucluse
Salut à toi. Je me permet l'incruste,
Je viens juste de finir, je n'ai pas vu ta solution et comme ça me chagrine de jeter la mienne à la poubelle ....
cordialement
ccm81
Salut à toi aussi, et bonne année, tiens, en prime.
Pas de raison de la jeter, je pense qu'une macro est sans aucun doute ce qu'il faut pour résoudre plus élégamment et plus directement la question.
Alors ce serait dommage d'en priver le demandeur.. et tous ceux que ça ne manquera pas d'intèresser
bon WE
Pas de raison de la jeter, je pense qu'une macro est sans aucun doute ce qu'il faut pour résoudre plus élégamment et plus directement la question.
Alors ce serait dommage d'en priver le demandeur.. et tous ceux que ça ne manquera pas d'intèresser
bon WE
Bonjour,
J'ai voulu terminer ce que j'avais commencé hier soir. De plus je profite du prétexte pour vous souhaiter "Meilleurs Voeux".
Je n'ai pas pu éviter une matricielle pour calculer un écart mini. en valeur absolue, le reste est plus classique.
https://www.cjoint.com/?3Ato75xRgCN
J'ai voulu terminer ce que j'avais commencé hier soir. De plus je profite du prétexte pour vous souhaiter "Meilleurs Voeux".
Je n'ai pas pu éviter une matricielle pour calculer un écart mini. en valeur absolue, le reste est plus classique.
https://www.cjoint.com/?3Ato75xRgCN
Bonjour,
J'ai regardé votre tableau :
en E21, j'ai tapé un IM différent : 420
sur les 6 premières lignes du tableau cela correspond à :
6ème échelon 416
7ème échelon 420
5ème échelon 431
6ème échelon 416
4ème échelon 425
4ème échelon 416
...
Si je ne dis pas de bêtises, je n'ai pas trouvé dans votre tableau de lien avec le grade recherché (B3), qui défienira la ligne sur laquelle rechercher dans le tableau de la feuille 2.
Un grand merci en attendant pour avoir pris le temps de regarder mon problème !
J'ai regardé votre tableau :
en E21, j'ai tapé un IM différent : 420
sur les 6 premières lignes du tableau cela correspond à :
6ème échelon 416
7ème échelon 420
5ème échelon 431
6ème échelon 416
4ème échelon 425
4ème échelon 416
...
Si je ne dis pas de bêtises, je n'ai pas trouvé dans votre tableau de lien avec le grade recherché (B3), qui défienira la ligne sur laquelle rechercher dans le tableau de la feuille 2.
Un grand merci en attendant pour avoir pris le temps de regarder mon problème !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je vous remercie tous pour les réponses que vous m'avait fourni.
Je voulais également vous ajouter quelques précisions :
la cellule E22 se calcule par rapport aux cellules E21 et B3 permettant ainsi de retrouver le bon IM le plus proche pour le bon grade.
Il en va de même pour la cellule E23.
Je ne me rend pas compte de la complexité plus que probable de ce problème, mais je tiens encore à vous remercier pour le temps que vous avez consacré pour m'aider sur ce point.
Pensez-vous qu'il y puisse exister une solution sans macros ni matricielle?
Mes compétences dans ces domaines sont proches pour ne pas dire égales à 0.
Je voulais également vous ajouter quelques précisions :
la cellule E22 se calcule par rapport aux cellules E21 et B3 permettant ainsi de retrouver le bon IM le plus proche pour le bon grade.
Il en va de même pour la cellule E23.
Je ne me rend pas compte de la complexité plus que probable de ce problème, mais je tiens encore à vous remercier pour le temps que vous avez consacré pour m'aider sur ce point.
Pensez-vous qu'il y puisse exister une solution sans macros ni matricielle?
Mes compétences dans ces domaines sont proches pour ne pas dire égales à 0.
Bonjour,
Au lieu de reporter le grade en B3 j'ai reporté ce que j'ai appelé Qualification 1 et Qualification 2 en F24 et F25. Pour un IM le plus proche égal à 420 il faudrait même ajouter Qualification 3.
Je n'ai pas ramené "IM le plus proche" en E22, il est resté en Q9 de la feuille "liste des grades.."
Si j'avais bien vu qu'il pouvait y avoir plusieurs grades possibles pour un même IM je n'avais pas vu qu'il pouvait y avoir plusieurs échelons. Pour IM = 420 >> 3 grades et 2 échelons.
Le résultat est un peu plus difficile à synthétiser. Faut-il un tableu de synthèse?
Au lieu de reporter le grade en B3 j'ai reporté ce que j'ai appelé Qualification 1 et Qualification 2 en F24 et F25. Pour un IM le plus proche égal à 420 il faudrait même ajouter Qualification 3.
Je n'ai pas ramené "IM le plus proche" en E22, il est resté en Q9 de la feuille "liste des grades.."
Si j'avais bien vu qu'il pouvait y avoir plusieurs grades possibles pour un même IM je n'avais pas vu qu'il pouvait y avoir plusieurs échelons. Pour IM = 420 >> 3 grades et 2 échelons.
Le résultat est un peu plus difficile à synthétiser. Faut-il un tableu de synthèse?
Merci pour votre réponse, cela fonctionne parfaitement : j'ai fait plusieurs tests et tous sont bons.
Encore merci pour votre aide!
eric
Encore merci, cela va me simplifier grandement le travail que je dois faire!