„Excel“ formulė: Ištraukite kelis atitikmenis į atskirus stulpelius

Santrauka

Norėdami išskleisti kelias atitiktis į atskirus langelius, atskiruose stulpeliuose galite naudoti masyvo formulę, pagrįstą INDEX ir SMALL. Parodytame pavyzdyje formulė F5 yra:

(=IFERROR(INDEX(names,SMALL(IF(groups=$E5,ROW(names)-MIN(ROW(names))+1),COLUMNS($E$5:E5))),""))

Tai yra masyvo formulė, kurią reikia įvesti paspaudus „Control + Shift + Enter“.

Įvedę formulę pirmoje langelyje, vilkite ją žemyn ir skersai, kad užpildytumėte kitas langelius.

Paaiškinimas

Pastaba: šioje formulėje naudojami du pavadinti diapazonai: „pavadinimai“ nurodo C5: C11, o „grupės“ - B5: B11. Šie pavadinimai taip pat apibrėžti aukščiau esančiame ekrano kadre.

Šios formulės esmė yra tokia: mes naudojame funkciją SMALL, kad generuotume eilutės numerį, atitinkantį „n-ąjį atitikimą“. Turėdami eilutės numerį, mes tiesiog perduodame jį į funkciją INDEX, kuri grąžina tos eilutės vertę.

Apgaulė yra ta, kad SMALL dirba su masyvu, kurį IF dinamiškai sukonstravo šiame bitelyje:

IF(groups=$E5,ROW(names)-MIN(ROW(names))+1)

Šis fragmentas patikrina įvardytų diapazonų „grupes“ pagal vertę E5. Jei bus rasta, jis grąžins eilutės numerį iš santykinių eilučių skaičių masyvo, sukurto naudojant:

ROW(names)-MIN(ROW(names))+1

Galutinis rezultatas yra masyvas, kuriame yra skaičiai, kur yra atitiktis, ir FALSE, jei ne:

(1; NETIESA; NETIESA; NETIESA; NETIESA; 6; NETIESA)

Šis masyvas eina į MAŽĄ. „SMALL“ (n-oji) k vertė gaunama iš besiplečiančio diapazono:

COLUMNS($E$5:E5)

Nukopijavus per rezultatų lentelę, diapazonas išsiplečia, todėl k (n-tasis) padidėja. SMALL funkcija grąžina kiekvieną atitinkantį eilutės numerį, kuris tiekiamas funkcijai INDEX kaip eilės_numeris, o masyvas yra pavadintas diapazonas „vardai“.

Tvarkymo klaidos

Kai COLUMNS pateikia k reikšmę, kurios nėra, SMALL išmeta #NUM klaidą. Tai atsitinka po to, kai įvyko visos rungtynės. Norėdami užkirsti kelią klaidai, formulę įtraukiame į IFERROR funkciją, kad užfiksuotume klaidas ir grąžintume tuščią eilutę ("").

Įdomios straipsniai...