Excel formula: Levo iskanje z VLOOKUP -

Splošna formula

=VLOOKUP(A1,CHOOSE((1,2),range2,range1),2,0)

Povzetek

Če želite uporabiti VLOOKUP za iskanje leve strani, lahko s funkcijo CHOOSE preuredite iskalno tabelo. V prikazanem primeru je formula v F5:

=VLOOKUP(E5,CHOOSE((1,2),score,rating),2,0)

pri čemer se ocena (C5: C9) in ocena (B5: B9) imenujeta obsega.

Pojasnilo

Ena od ključnih omejitev funkcije VLOOKUP je, da lahko išče vrednosti le v desno. Z drugimi besedami, stolpec, ki vsebuje iskalne vrednosti, mora sedeti levo od vrednosti, ki jih želite pridobiti z VLOOKUP. Tega vedenja ni mogoče preglasiti, ker je vgrajeno v funkcijo. Kot rezultat, pri običajni konfiguraciji ni mogoče uporabiti VLOOKUP za iskanje ocene v stolpcu B na podlagi ocene v stolpcu C.

Ena rešitev je prestrukturiranje same iskalne tabele in premikanje iskalnega stolpca levo od vrednosti iskanja. To je pristop, uporabljen v tem primeru, ki uporablja povratno oceno funkcije CHOOSE in oceni tako:

CHOOSE((1,2),score,rating)

Običajno se kot prvi argument uporablja CHOOSE z eno indeksno številko, preostali argumenti pa so vrednosti, med katerimi lahko izbirate. Vendar tukaj podajamo konstanto matrike za indeksno številko, ki vsebuje dve številki: (1,2). V bistvu prosimo, da izberete tako prvo kot drugo vrednost.

Vrednosti so v primeru podane kot dva imenovana obsega: ocena in ocena. Vendar upoštevajte, da te obsege zagotavljamo v obratnem vrstnem redu. Funkcija CHOOSE izbere oba obsega v navedenem vrstnem redu in vrne rezultat kot eno matriko, kot je ta:

(5,"Excellent";4,"Good";3,"Average";2,"Poor";1,"Terrible")

CHOOSE vrne to polje neposredno v VLOOKUP kot argument polja tabele. Z drugimi besedami, CHOOSE dostavlja iskalno tabelo, kot je ta, VLOOKUP:

Z uporabo iskalne vrednosti v E5 VLOOKUP poišče ujemanje znotraj novo ustvarjene tabele in vrne rezultat iz drugega stolpca.

Preurejanje s konstanto matrike

V prikazanem primeru preurejamo iskalno tabelo tako, da v izbrani funkciji obrnemo "rating" in "score". Vendar bi lahko namesto tega uporabili konstanto matrike za tako preurejanje:

CHOOSE((2,1),rating,score)

Rezultat je popolnoma enak.

Z KAZALOM in UTEKOM

Čeprav zgornji primer deluje dobro, ni idealen. Prvič, večina povprečnih uporabnikov ne bo razumela, kako formula deluje. Bolj naravna rešitev sta INDEX in Match. Tu je enakovredna formula:

=INDEX(rating,MATCH(E5,score,0))

Pravzaprav je to dober primer, kako sta INDEX in MATCH bolj prilagodljiva kot VLOOKUP.

Zanimive Članki...