Matas Analitika

Excel ir Google Sheets

INDEX ir MATCH Excel: paieška į kairę ir pagal dvi sąlygas

Kai VLOOKUP nemoka ieškoti į kairę ar pagal dvi sąlygas, padeda INDEX ir MATCH. Formulės su pavyzdžiais ir ką daryti, kai reikšmė nerandama.

Matas · · 3 min. skaitymo

Jei turite Microsoft 365 ar Excel 2021, dažniausiai paprasčiau naudoti XLOOKUP. INDEX ir MATCH vis tiek verta mokėti dėl dviejų priežasčių: jos veikia senesnėse Excel versijose, kurios dar naudojamos daugelyje įmonių, ir jas rasite beveik kiekviename paveldėtame faile.

Kaip veikia kiekviena funkcija atskirai

MATCH grąžina vietą sąraše. Jei prekės kodas „P-104“ yra ketvirtoje D2:D500 intervalo eilutėje:

=MATCH("P-104";D2:D500;0)

grąžins 4. Paskutinis argumentas 0 reiškia tikslų atitikimą. Jį praleidus, MATCH ieško apytiksliai ir nerūšiuotame sąraše grąžina neteisingą eilutę, todėl rašykite jį visada.

INDEX grąžina reikšmę pagal vietą:

=INDEX(B2:B500;4)

grąžins ketvirtą B2:B500 intervalo reikšmę.

Kartu: INDEX ir MATCH

Sujungus, MATCH suranda eilutę, o INDEX paima reikšmę iš reikiamo stulpelio:

=INDEX(Prekės!B:B;MATCH(G2;Prekės!D:D;0))

Čia G2 yra ieškomas kodas, D stulpelyje ieškoma, o B stulpelyje yra grąžinama reikšmė, pavyzdžiui, pavadinimas. Atkreipkite dėmesį: B yra kairiau už D. VLOOKUP to padaryti negali, nes visada ieško pirmame stulpelyje ir grąžina reikšmę į dešinę.

Abu intervalai turi prasidėti toje pačioje eilutėje. Jei vienas yra B2:B500, o kitas D1:D500, rezultatas bus pasislinkęs per vieną eilutę ir klaida nesimatys iš karto.

Kodėl ne VLOOKUP

VLOOKUPINDEX ir MATCH
Paieška į kairęNegalimaGalima
Įterpus stulpelįGali grąžinti ne tą stulpelįVeikia toliau
Paieška pagal kelias sąlygasTik su pagalbiniu stulpeliuGalima viena formule
Excel versijosVisosVisos

Paieška pagal dvi sąlygas

Kaina priklauso ir nuo prekės, ir nuo tiekėjo. Prekė yra A stulpelyje, tiekėjas B, kaina C. Ieškome prekės iš G2 ir tiekėjo iš H2:

=INDEX(C2:C500;MATCH(1;(A2:A500=G2)*(B2:B500=H2);0))

Kiekviena sąlyga sukuria TRUE ir FALSE sąrašą, o daugyba juos paverčia vienetais ir nuliais. Vienetas lieka tik ten, kur abi sąlygos teisingos, ir MATCH suranda pirmą tokią eilutę.

Microsoft 365 ir Excel 2021 versijose formulė veikia įprastai. Excel 2019 ir senesnėse ją reikia patvirtinti Ctrl+Shift+Enter, kitaip bus rodoma klaida. Tokioje formulėje nenaudokite viso stulpelio A:A, nes ji tikrins milijoną eilučių ir failas sulėtės.

Eilutės ir stulpelio sankirta

Kai turite kainų lentelę, kurioje eilutėse prekės, o stulpeliuose mėnesiai, INDEX gali gauti ir eilutės, ir stulpelio numerį:

=INDEX(B2:M50;MATCH(G2;A2:A50;0);MATCH(H1;B1:M1;0))

Pirmas MATCH suranda prekės eilutę, antras mėnesio stulpelį. Tokia formulė pravers tarifų, kainoraščių ar darbo grafikų lentelėse.

Kai reikšmė nerandama

Jei reikšmės nėra, formulė grąžina #N/A. Vietoje klaidos galima parodyti tekstą:

=IFNA(INDEX(B:B;MATCH(G2;D:D;0));"Nerasta")

IFNA geriau nei IFERROR, nes paslepia tik tą atvejį, kai reikšmė nerasta. IFERROR paslėptų ir kitas klaidas, pavyzdžiui, neteisingą nuorodą, ir jų nepastebėtumėte.

Jei #N/A rodoma, nors reikšmė tikrai yra, dažniausiai skiriasi tarpai arba vienur kodas yra skaičius, o kitur tekstas. Kaip tai pataisyti, aprašiau straipsniuose kaip sutvarkyti netvarkingą lentelę ir skaičiai ir datos kaip tekstas.

Google Sheets

INDEX ir MATCH Google Sheets veikia taip pat. Paieškai pagal kelias sąlygas formulę apgaubkite ARRAYFORMULA arba naudokite FILTER, kuri čia dažnai yra paprastesnė.

Pirmas žingsnis

Papasakokite, kas šiandien užima per daug laiko

Užtenka kelių sakinių. Perskaitysiu, prireikus paklausiu, ko trūksta, ir pasiūlysiu pokalbio laiką.

  • Pirmas pokalbis nemokamas.
  • Paprastai atsakau per 1 darbo dieną.
  • Jokių įsipareigojimų iki pasiūlymo.

Patogiau el. paštu? matas.analitika@gmail.com

Duomenis naudosiu tik atsakydamas į žinutę. Privatumo politika