J'ai des difficultés à créer une formule de recherche inhabituelle dans Excel.Excel: besoin d'aide avec une fonction de recherche inhabituelle (la colonne triée est différente de la colonne de recherche)
Normalement, j'utiliserais VLOOKUP(), mais le piège est que je veux rechercher un nombre dans une colonne d'une table qui est triée sur une autre colonne. Vlookup peut uniquement rechercher des éléments sur la colonne triée elle-même.
Le scénario est la suivante:
- Le tableau est trié sur la colonne B. croissant
- Pour un paramètre P donné, je veux maintenant trouver la première valeur A, en partant du haut et descendant, cela est supérieur ou égal à ce paramètre P.
- La fonction doit alors retourner la valeur B correspondante.
Tableau (partie hors, la table complète est beaucoup plus grand):
A B
1 640 4.5
2 1600 7.0
3 640 7.5
4 1280 12.0
5 1920 16.5
6 2560 21.0
7 1600 19.8
8 3200 26.8
9 4800 33.8
Par exemple, dire que mon paramètre est 1100, alors je veux que ma formule pour revenir 7.0, parce que la première entrée Lorsque la recherche vers le bas dans la colonne A qui est supérieure ou égale à 1100 est 1600, qui a une valeur B correspondante de 7,0
J'ai tenté ma chance avec Array Formula's (également connu sous le nom de "ctrl-shift-enter formula's") et construit quelque chose comme ça:
{=INDEX(table;
MATCH(MIN(IF(columnA-$C1>=0;columnA;FALSE));
IF(columnA-$C1>=0;columnA;FALSE);
0);
2)}
avec C1 contenant mon paramètre, tableau la gamme A1: B9 et COLUMNA la gamme B1: B9
Mais cela ne fonctionne pas (dans l'exemple ci-dessus, renvoie 12.0 car 1280 est sélectionné par la fonction MIN()).
Solution Je ne veux pas utiliser: je pourrais écrire quelques VBA pouvait pour passer par la table, mais je ne veux pas le faire (à cause des « avertissements macro » ennuyeux, et parce que Excel sur Mac ne supporte plus VBA)
Quelqu'un at-il des indices?
Si c'était moi, j'essaierais probablement d'utiliser une table de tableau croisé dynamique ou utiliserais MS Access pour interroger les données puisqu'elles manipulent beaucoup mieux "l'affaire de question" et l'agrégation de données. Cependant, ce n'est peut-être pas le type de solution que vous cherchez. –
@Ben: non en effet. Les tableaux croisés dynamiques sont très utiles mais je les trouve un peu compliqués quand on ne les utilise pas tous les jours (comme c'est le cas pour moi). Et je veux garder la solution/problème dans un programme, pas besoin d'accès :-) – Rabarberski