Формула на Excel: Филтрирайте всеки n-ти ред -

Съдържание

Обща формула

=FILTER(rng,MOD(SEQUENCE(ROWS(rng)),n)=0)

Обобщение

За да филтрирате и извлечете всеки n-ти ред, можете да използвате формула, базирана на функцията FILTER, заедно с MOD, ROW и SEQUENCE. В показания пример формулата във F5 е:

=FILTER(data,MOD(SEQUENCE(ROWS(data)),3)=0)

където данните са наименувания диапазон D5: D16. С n кодиран във формулата като 3, функцията FILTER връща всеки 3-ти ред в данните.

Обяснение

Функцията FILTER е предназначена за филтриране и извличане на информация въз основа на логически критерии. В този пример целта е да се извлече всеки 3-ти запис от показаните данни, но в данните няма информация за номера на реда.

Работейки отвътре навън, първата стъпка е да се генерира набор от номера на редове. Това се прави с функцията SEQUENCE по следния начин:

SEQUENCE(ROWS(data))

Функцията ROW връща броя на редовете в посочените данни за диапазон . Използвайки броя на редовете, SEQUENCE връща масив от 12 числа в последователност:

(1;2;3;4;5;6;7;8;9;10;11;12)

Този масив се връща директно към функцията MOD като аргумент число, като делител е цифрата 3, кодирана твърдо. MOD е настроен да тества дали номерата на редовете се делят на 3 с остатък от нула

MOD(SEQUENCE(ROWS(data)),3)=0 // divisible by 3?

Резултатът от MOD е масив или TRUE и FALSE стойности по следния начин:

(FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE)

Забележка TRUE стойностите съответстват на всеки 3-ти ред в данните. Този масив се доставя директно на функцията FILTER като аргумент за включване. FILTER връща всеки 3-ти ред в данните като краен резултат.

Интересни статии...