„Excel“ formulė: tiksli atitikties paieška naudojant INDEX ir MATCH -

Turinys

Bendroji formulė

(=INDEX(data,MATCH(TRUE,EXACT(val,lookup_col),0),col_num))

Santrauka

Skiriama didžiosioms ir mažosioms raidėms

Pagal numatytuosius nustatymus standartinės paieškos su VLOOKUP arba INDEX + MATCH neskiriamos didžiosiomis ir mažosiomis raidėmis. Tiek „VLOOKUP“, tiek „MATCH“ tiesiog grąžins pirmąsias rungtynes, nepaisydami didžiųjų raidžių.

Tačiau, jei jums reikia atlikti didžiųjų ir mažųjų raidžių paiešką, galite tai padaryti naudodami masyvo formulę, kurioje naudojama INDEX, MATCH ir EXACT funkcija.

Pavyzdyje mes naudojame šią formulę

(=INDEX(data,MATCH(TRUE,EXACT(F4,B3:B102),0),3))

Ši formulė yra masyvo formulė ir ją reikia įvesti paspaudus „Control“ + „Shift“ + „Enter“.

Paaiškinimas

Kadangi vien „MATCH“ neskiria didžiosios ir mažosios raidės, mums reikia būdo, kad „Excel“ palygintų didžiąsias ir mažąsias raides. Tiksli funkcija tam yra TIKSLAS funkcija, tačiau tai, kaip ją naudojame, yra šiek tiek neįprasta, nes turime palyginti vieną langelį su ląstelių diapazonu.

Dirbdami iš vidaus, pirmiausia turime:

EXACT(F4,B3:B102)

kur F4 yra paieškos vertė, o B3: B102 yra nuoroda į paieškos stulpelį (Vardai). Kadangi kaip antrą argumentą pateikiame TIKSLIŲ masyvą, gausime TIKRŲ klaidingų reikšmių masyvą, tokį:

(NETIESA, NETIESA, NETIESA, NETIESA, NETIESA, TIESA ir kt.)

Tai yra rezultatas, lyginant B4 reikšmę kiekviename langelyje, esančiame paieškos stulpelyje. Kur matome TIKRĄ, žinome, kad turime tikslią atitiktį, atitinkančią atvejį.

Dabar turime gauti šio masyvo TRUE reikšmės padėtį (ty eilutės numerį). Tam galime naudoti MATCH, ieškodami TRUE ir nustatydami tikslios atitikties režimą:

MATCH(TRUE,EXACT(F4,B3:B102),0)

Svarbu pažymėti, kad „MATCH“ visada grąžins pirmąją atitiktį, jei yra dublikatų, taigi, jei stulpelyje yra dar viena tiksli atitiktis, atitiksite tik pirmąją.

Dabar mes turime eilutės numerį. Tada mums tiesiog reikia naudoti INDEX, kad gautume vertę dešinėje eilutės ir stulpelio sankirtoje. Šiuo atveju stulpelio numeris yra užkoduotas kaip 3, nes įvardijamo diapazono duomenys apima visus stulpelius. Galutinė formulė yra:

(=INDEX(data,MATCH(TRUE,EXACT(F4,B3:B102),0),3))

Šią formulę turime įvesti kaip masyvo formulę dėl masyvo, kurį sukūrė TIKSLAS.

Ši formulė atgaus tiek teksto, tiek skaitines reikšmes. Jei norite gauti tik skaičius, galite naudoti formulę, pagrįstą SUMPRODUCT; žr. nuorodą žemiau

Įdomios straipsniai...