2017-01-07 2 views
1

J'ai (ce que je pensais) une simple table de correspondance contenant des taux de change. Là je recherche des valeurs basées sur des index de rangée et de colonne. Comment puis-je faire cela dans un ARRAYFORMULA? Comme ceci:Qu'est-ce qu'un équivalent pour INDEX dans ARRAYFORMULA?

=ARRAYFORMULA(INDEX(x!C2:C, F1:F)) 

x est la feuille contenant les valeurs, je suis intéressé par la colonne C, l'indice de ligne étant tenu dans ma colonne F. Valeur unique recherche comme INDEX (x C2: C, F7) fonctionne comme prévu.

Mais l'ARRAYFORMULA malheureusement cela ne fonctionne pas puisque INDEX n'est pas pris en charge dans ARRAYFORMULA je suppose.

Une idée de quoi utiliser à la place? Merci!

Répondre

1

vlookup peut être adapté pour imiter la fonctionnalité index en faisant de la première colonne de la table de recherche le numéro de ligne (avec un décalage approprié). Exemple:

=arrayformula(vlookup(F1:F, {row(x!C2:C) - row(x!C2) + 1, x!C2:C}, 2)) 

fait ce que vous avez essayé de le faire avec "= ARRAYFORMULA (INDEX (x C2: C, F1: F))".

La table de correspondance {row(x!C2:C) - row(x!C2) + 1, x!C2:C} comporte la première colonne 1,2,3, ... et la deuxième colonne la plage que vous souhaitez indexer. Donc, pour chaque valeur de F1: F, vlookup accède à l'entrée de x! C2: C que index le ferait.

+0

Oui, je vois que vlookup est recommandé dans ce cas, mais si je comprends bien, vous devez connaître la valeur que vous cherchez, non? Eh bien, je ne sais pas quelle valeur je cherche, c'est pourquoi je le cherche !!! – Cata

+0

Bon point; édité la réponse. – FTP

+0

Ça marche, merci! Bon tour. Se sent un peu inutile cependant de parcourir cette première colonne entière pour chaque recherche lorsqu'un simple index basé sur l'index récupèrerait la réponse immédiatement. Devrais-je m'inquiéter à ce sujet? Y a-t-il un autre moyen plus rapide? – Cata