j'ai un tableau avec par exemple ceci:
A
0.01
0.02
0.03
0.09
0.16
0.23
et j'ai quelque part une valeur de référence, dans cet exemple 0.15
je fais des recherches avec les fonctions qui vont bien (equiv, index),
mais quelque soit la fonction, si la valeur exacte n'est pas renvoyée,
excel me renvoi soit la valeur juste en dessous, suivant le tri que
j'ai choisi, et non pas la valeur vraiment la plus proche, ici 0.16.
bon, vous me direz d'inverser le sens du tri et le critère de
recherche, mais le problème se posera alors dans l'autre sens, me
donnant une valeur trop élevée.
existe-t-il une solution à mon problème?
merci d'avance.
--
Va au bout. (Etat d'esprit)
tranquille.xav@free.fr
-- C'est tellement facile de détruire! Et c'est si difficile de contruire... (Réflexion)
Ellimac
Bonjour,
Autre solution : =SI(NB.SI($A$23:$A$28;A18)=0;DECALER(A23;EQUIV(A18;$A$23:$A$28);0;1;1);RECHERCHEV(A18;$A$23:$A$28;1))
Camille
Bonjour à tous,
j'ai un tableau avec par exemple ceci: A 0.01 0.02 0.03 0.09 0.16 0.23
et j'ai quelque part une valeur de référence, dans cet exemple 0.15 je fais des recherches avec les fonctions qui vont bien (equiv, index), mais quelque soit la fonction, si la valeur exacte n'est pas renvoyée, excel me renvoi soit la valeur juste en dessous, suivant le tri que j'ai choisi, et non pas la valeur vraiment la plus proche, ici 0.16. bon, vous me direz d'inverser le sens du tri et le critère de recherche, mais le problème se posera alors dans l'autre sens, me donnant une valeur trop élevée.
existe-t-il une solution à mon problème?
merci d'avance.
-- Va au bout. (Etat d'esprit)
Bonjour,
Autre solution :
=SI(NB.SI($A$23:$A$28;A18)=0;DECALER(A23;EQUIV(A18;$A$23:$A$28);0;1;1);RECHERCHEV(A18;$A$23:$A$28;1))
Camille
Bonjour à tous,
j'ai un tableau avec par exemple ceci:
A
0.01
0.02
0.03
0.09
0.16
0.23
et j'ai quelque part une valeur de référence, dans cet exemple 0.15
je fais des recherches avec les fonctions qui vont bien (equiv, index),
mais quelque soit la fonction, si la valeur exacte n'est pas renvoyée,
excel me renvoi soit la valeur juste en dessous, suivant le tri que
j'ai choisi, et non pas la valeur vraiment la plus proche, ici 0.16.
bon, vous me direz d'inverser le sens du tri et le critère de
recherche, mais le problème se posera alors dans l'autre sens, me
donnant une valeur trop élevée.
existe-t-il une solution à mon problème?
merci d'avance.
--
Va au bout. (Etat d'esprit)
tranquille.xav@free.fr
Autre solution : =SI(NB.SI($A$23:$A$28;A18)=0;DECALER(A23;EQUIV(A18;$A$23:$A$28);0;1;1);RECHERCHEV(A18;$A$23:$A$28;1))
Camille
Bonjour à tous,
j'ai un tableau avec par exemple ceci: A 0.01 0.02 0.03 0.09 0.16 0.23
et j'ai quelque part une valeur de référence, dans cet exemple 0.15 je fais des recherches avec les fonctions qui vont bien (equiv, index), mais quelque soit la fonction, si la valeur exacte n'est pas renvoyée, excel me renvoi soit la valeur juste en dessous, suivant le tri que j'ai choisi, et non pas la valeur vraiment la plus proche, ici 0.16. bon, vous me direz d'inverser le sens du tri et le critère de recherche, mais le problème se posera alors dans l'autre sens, me donnant une valeur trop élevée.
Juste pour mémoire --- Cette solution comporte quelques inconvénients : @ Elle ne renvoie pas le plus près mais le plus près AU-DESSUS @ Elle renvoie aussi la valeur au-dessus quand la valeur cherchée existe dans la liste @ Pose problème dans certains cas avec une liste non triée
Juste pour mémoire ---
Cette solution comporte quelques inconvénients :
@ Elle ne renvoie pas le plus près mais le plus près AU-DESSUS
@ Elle renvoie aussi la valeur au-dessus quand la valeur cherchée existe dans la liste
@ Pose problème dans certains cas avec une liste non triée
Juste pour mémoire --- Cette solution comporte quelques inconvénients : @ Elle ne renvoie pas le plus près mais le plus près AU-DESSUS @ Elle renvoie aussi la valeur au-dessus quand la valeur cherchée existe dans la liste @ Pose problème dans certains cas avec une liste non triée
Tr
*Ecrit* *par* *Filochard*:
existe-t-il une solution à mon problème?
Vous devez utiliser une matricielle [valider par ctrl+maj+enter] :
Désolé d'y revenir: ma colonne dans laquelle je cherche (TabloRecherche) fait 600 lignes, et il arrive parfois que toutes les lignes ne soient pas remplies. du coup, je me retrouve avec le contenu d'une cellule vide renvoyée... comment faire en sorte que la formule ci-dessus fonctionne en ignorant les lignes vides? merci d'avance.
-- L'important n'est pas de convaincre mais de donner à réfléchir. (Isidore Katzenberg)
*Ecrit* *par* *Filochard*:
existe-t-il une solution à mon problème?
Vous devez utiliser une matricielle [valider par ctrl+maj+enter] :
Désolé d'y revenir:
ma colonne dans laquelle je cherche (TabloRecherche) fait 600 lignes,
et il arrive parfois que toutes les lignes ne soient pas remplies.
du coup, je me retrouve avec le contenu d'une cellule vide renvoyée...
comment faire en sorte que la formule ci-dessus fonctionne en ignorant
les lignes vides?
merci d'avance.
--
L'important n'est pas de convaincre mais de donner à réfléchir.
(Isidore Katzenberg)
tranquille.xav@free.fr
Désolé d'y revenir: ma colonne dans laquelle je cherche (TabloRecherche) fait 600 lignes, et il arrive parfois que toutes les lignes ne soient pas remplies. du coup, je me retrouve avec le contenu d'une cellule vide renvoyée... comment faire en sorte que la formule ci-dessus fonctionne en ignorant les lignes vides? merci d'avance.
-- L'important n'est pas de convaincre mais de donner à réfléchir. (Isidore Katzenberg)
et il arrive parfois que toutes les lignes ne soient pas remplies. du coup, je me retrouve avec le contenu d'une cellule vide renvoyée... comment faire en sorte que la formule ci-dessus fonctionne en ignorant les lignes vides?
Dans le 1° argument de la fonction EQUIV vous devez modifier, dans le calcul, les valeurs de la matrice "TabloRecherche" en excluant les vides et en les remplaçant, par exemple, par des grands nombres Formule toujours matricielle : =INDEX(TabloRecherche;EQUIV(MIN(ABS(ValeurCherchée-SI(TabloRecherche<>"";TabloRecherche;10^10)));ABS(ValeurCherchée-TabloRecherche);0))
et il arrive parfois que toutes les lignes ne soient pas remplies.
du coup, je me retrouve avec le contenu d'une cellule vide renvoyée...
comment faire en sorte que la formule ci-dessus fonctionne en ignorant les
lignes vides?
Dans le 1° argument de la fonction EQUIV vous devez modifier, dans le calcul,
les valeurs de la matrice "TabloRecherche" en excluant les vides et en les
remplaçant, par exemple, par des grands nombres
Formule toujours matricielle :
=INDEX(TabloRecherche;EQUIV(MIN(ABS(ValeurCherchée-SI(TabloRecherche<>"";TabloRecherche;10^10)));ABS(ValeurCherchée-TabloRecherche);0))
et il arrive parfois que toutes les lignes ne soient pas remplies. du coup, je me retrouve avec le contenu d'une cellule vide renvoyée... comment faire en sorte que la formule ci-dessus fonctionne en ignorant les lignes vides?
Dans le 1° argument de la fonction EQUIV vous devez modifier, dans le calcul, les valeurs de la matrice "TabloRecherche" en excluant les vides et en les remplaçant, par exemple, par des grands nombres Formule toujours matricielle : =INDEX(TabloRecherche;EQUIV(MIN(ABS(ValeurCherchée-SI(TabloRecherche<>"";TabloRecherche;10^10)));ABS(ValeurCherchée-TabloRecherche);0))
et il arrive parfois que toutes les lignes ne soient pas remplies. du coup, je me retrouve avec le contenu d'une cellule vide renvoyée... comment faire en sorte que la formule ci-dessus fonctionne en ignorant les lignes vides?
Dans le 1° argument de la fonction EQUIV vous devez modifier, dans le calcul, les valeurs de la matrice "TabloRecherche" en excluant les vides et en les remplaçant, par exemple, par des grands nombres Formule toujours matricielle : =INDEX(TabloRecherche;EQUIV(MIN(ABS(ValeurCherchée-SI(TabloRecherche<>"";TabloRecherche;10^10)));ABS(ValeurCherchée-TabloRecherche);0))
et il arrive parfois que toutes les lignes ne soient pas remplies.
du coup, je me retrouve avec le contenu d'une cellule vide renvoyée...
comment faire en sorte que la formule ci-dessus fonctionne en ignorant les
lignes vides?
Dans le 1° argument de la fonction EQUIV vous devez modifier, dans le calcul,
les valeurs de la matrice "TabloRecherche" en excluant les vides et en les
remplaçant, par exemple, par des grands nombres
Formule toujours matricielle :
=INDEX(TabloRecherche;EQUIV(MIN(ABS(ValeurCherchée-SI(TabloRecherche<>"";TabloRecherche;10^10)));ABS(ValeurCherchée-TabloRecherche);0))
impressionant :-)
merci!
--
Croyez en la force de l'exemple. (Vécu)
tranquille.xav@free.fr
et il arrive parfois que toutes les lignes ne soient pas remplies. du coup, je me retrouve avec le contenu d'une cellule vide renvoyée... comment faire en sorte que la formule ci-dessus fonctionne en ignorant les lignes vides?
Dans le 1° argument de la fonction EQUIV vous devez modifier, dans le calcul, les valeurs de la matrice "TabloRecherche" en excluant les vides et en les remplaçant, par exemple, par des grands nombres Formule toujours matricielle : =INDEX(TabloRecherche;EQUIV(MIN(ABS(ValeurCherchée-SI(TabloRecherche<>"";TabloRecherche;10^10)));ABS(ValeurCherchée-TabloRecherche);0))