„Excel“ formulė: horizontalių duomenų filtravimas

Turinys

Bendroji formulė

=FILTER(data,logic)

Santrauka

Norėdami filtruoti horizontaliai išdėstytus duomenis stulpeliuose, galite naudoti FILTER funkciją. Parodytame pavyzdyje formulė C9 yra:

=TRANSPOSE(FILTER(data,group="fox"))

kur duomenys (C4: L6) ir grupė (C5: L5) yra pavadinti diapazonais.

Paaiškinimas

Pastaba: FILTER yra nauja dinaminio masyvo funkcija programoje „Excel 365.“. Kitose „Excel“ versijose yra alternatyvų, tačiau jos yra sudėtingesnės.

C4: L6 diapazone yra dešimt duomenų stulpelių. Tikslas yra filtruoti šiuos horizontalius duomenis ir išgauti tik stulpelius (įrašus), kur grupė yra „lapė“. Kad būtų patogiau ir lengviau skaityti, darbalapyje yra trys įvardyti diapazonai: duomenys (C4: L6) ir grupė (C5: L5) ir amžius (C6: L6).

Funkcija FILTER gali būti naudojama vertikaliai (eilėse) arba horizontaliai (stulpeliuose) išdėstytiems duomenims išgauti. Filtras grąžins atitinkamus duomenis ta pačia kryptimi. Specialios sąrankos nereikia. Parodytame pavyzdyje formulė C9 yra:

=FILTER(data,group="fox")

Dirbant iš vidaus, „FILTER“ argumentas „include“ yra logiška išraiška:

group="fox" // test for "fox"

Įvertinus loginę išraišką, ji pateikia 10 TRUE ir FALSE reikšmių masyvą:

(TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE)

Pastaba: kableliai (,) šiame masyve nurodo stulpelius. Kabliataškiai (;) rodytų eiles.

Masyve yra viena reikšmė kiekviename duomenų stulpelyje, o kiekviena TRUE atitinka stulpelį, kuriame grupė yra „lapė“. Šis masyvas grąžinamas tiesiai į „FILTER“ kaip argumentą „įtraukti“ ir jis atlieka faktinį filtravimą:

FILTER(data,(TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE))

Filtrą praeina tik tie duomenys, kurie atitinka TRUE reikšmes, todėl FILTER pateikia 6 stulpelius, kuriuose grupė yra „lapė“. Filtras grąžina šiuos duomenis į pradinę horizontalią struktūrą. Kadangi filtras yra dinaminio masyvo funkcija, rezultatai pasklinda C9: H11 diapazone.

Tai yra dinamiškas sprendimas - jei pasikeičia šaltinio duomenys C4: L6, FILTER rezultatai automatiškai atnaujinami.

Perkelti į vertikalų formatą

Norėdami perkelti rezultatus iš filtro į vertikalų (eilučių) formatą, funkciją TRANSPOSE galite apvynioti funkcija FILTER taip:

=TRANSPOSE(FILTER(data,group="fox"))

Rezultatas atrodo taip:

Ši formulė išsamiau paaiškinta čia.

Filtruokite pagal amžių

Ta pati pagrindinė formulė gali būti naudojama duomenims filtruoti įvairiais būdais. Pvz., Jei norite filtruoti duomenis, kad būtų rodomi tik stulpeliai, kurių amžius yra mažesnis nei 22 metų, galite naudoti tokią formulę:

=FILTER(data,age<22)

Filtras pateikia keturis atitinkančius duomenų stulpelius:

Įdomios straipsniai...