
Bendroji formulė
=FILTER(rng,MOD(SEQUENCE(ROWS(rng)),n)=0)
Santrauka
Norėdami filtruoti ir ištraukti kiekvieną n-ąją eilutę, galite naudoti formulę, pagrįstą funkcija FILTER, kartu su MOD, ROW ir SEQUENCE. Parodytame pavyzdyje formulė F5 yra:
=FILTER(data,MOD(SEQUENCE(ROWS(data)),3)=0)
kur duomenys yra įvardytas diapazonas D5: D16. Kai n sunku koduoti į formulę kaip 3, funkcija FILTER grąžina kas 3 duomenų eilutę.
Paaiškinimas
Funkcija FILTER skirta filtruoti ir išgauti informaciją remiantis loginiais kriterijais. Šiame pavyzdyje tikslas yra išgauti kas 3 įrašą iš parodytų duomenų, tačiau nėra eilutės numerio informacijos.
Dirbant iš vidaus, pirmiausia reikia sugeneruoti eilučių skaičių rinkinį. Tai daroma su sekos funkcija taip:
SEQUENCE(ROWS(data))
Funkcija ROW grąžina eilučių skaičių pavadintuose diapazono duomenyse. Naudojant eilučių skaičių, SEQUENCE grąžina 12 skaičių masyvą iš eilės:
(1;2;3;4;5;6;7;8;9;10;11;12)
Šis masyvas grąžinamas tiesiai į MOD funkciją kaip skaičiaus argumentą, o numeris 3 yra sunkiai koduojamas kaip daliklis. MOD yra nustatytas patikrinti, ar eilutės numeriai dalijasi iš 3, o likusi nulinė dalis
MOD(SEQUENCE(ROWS(data)),3)=0 // divisible by 3?
MOD rezultatas yra masyvas arba TRUE ir FALSE reikšmės, tokios kaip šis:
(FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE)
Pastaba: TRUE reikšmės atitinka kiekvieną trečią duomenų eilutę. Šis masyvas pristatomas tiesiai į funkciją FILTRAS kaip argumentą „įtraukti“. Filtras grąžina kas 3 duomenų eilutę kaip galutinį rezultatą.