Екцел формула: Броји видљиве редове само са критеријумима -

Генеричка формула

=SUMPRODUCT((range=criteria)*(SUBTOTAL(103,OFFSET(range,rows,0,1))))

Резиме

Да бисте бројали видљиве редове само са критеријумима, можете користити прилично сложену формулу засновану на СУМПРОДУЦТ, СУБТОТАЛ и ОФФСЕТ. У приказаном примеру, формула у Ц12 је:

=SUMPRODUCT((C5:C8=C10)*(SUBTOTAL(103,OFFSET(C5,ROW(C5:C8)-MIN(ROW(C5:C8)),0))))

Предговор

Функција СУБТОТАЛ може лако генерирати суме и бројеве за скривене и нескривене редове. Међутим, он није у стању да обрађује критеријуме попут ЦОУНТИФ или СУМИФ без неке помоћи. Једно од решења је употреба СУМПРОДУЦТ за примену функције СУБТОТАЛ (путем ОФФСЕТ) и критеријума. Детаљи овог приступа описани су у наставку.

Објашњење

У основи, ова формула делује постављањем два низа унутар СУМПРОДУЦТ-а. Први низ примењује критеријуме, а други низ обрађује видљивост:

=SUMPRODUCT(criteria*visibility)

Критеријуми се примењују са делом формуле:

=(C5:C8=C10)

Који генерише овакав низ:

(FALSE;TRUE;FALSE;TRUE)

Тамо где ИСТИНА значи „испуњава критеријуме“. Имајте на уму да на овом низу користимо множење (*), вредности ТРУЕ ФАЛСЕ аутоматски ће се претворити у 1 и 0 помоћу математичке операције, па ћемо на крају добити:

(0;1;0;1)

Филтер видљивости примењује се помоћу СУБТОТАЛ, са функцијом број 103.

СУБТОТАЛ је у стању да изузме скривене редове приликом извођења прорачуна, па га у овом случају можемо користити за генерисање „филтера“ за изузеће скривених редова унутар СУМПРОДУЦТ-а. Међутим, проблем је што СУБТОТАЛ враћа један број, док нам је потребан низ резултата да бисмо га успешно користили унутар СУМПРОДУЦТ-а. Трик је у томе да се користи ОФФСЕТ за додавање СУБТОТАЛ-а једне референце по реду, тако да ће ОФФСЕТ вратити један резултат по реду.

Наравно, за то је потребан још један трик, а то је давање ОФФСЕТ-а низа који садржи један број по реду, почевши од нуле. То радимо са изразом изграђеним на функцији РОВ:

=ROW(C5:C8)-MIN(ROW(C5:C8)

који ће генерисати овакав низ:

(0;1;2;3)

Укратко, други низ (који управља видљивошћу користећи СУБТОТАЛ), генерише се овако:

=SUBTOTAL(103,OFFSET(C5,ROW(C5:C8)-MIN(ROW(C5:C8)),0)) =SUBTOTAL(103,OFFSET(C5,(0;1;2;3),0)) =SUBTOTAL(103,("East";"West";"Midwest";"West")) =(1;0;1;1)

И, коначно, имамо:

=SUMPRODUCT((0,1,0,1)*(1;0;1;1))

Који враћа 1.

Више критеријума

Можете проширити формулу тако да обрађује више критеријума попут овог:

=SUMPRODUCT((rng1=criteria1)*(rng2=criteria2)*(SUBTOTAL(103,OFFSET(rng,rows,0,1))))

Збрајање резултата

Да бисте вратили збир вредности уместо бројања, можете прилагодити формулу тако да укључује опсег збира:

=SUMPRODUCT(criteria*visibility*sumrange)

Критеријуми и низови видљивости раде на исти начин као што је претходно објашњено, искључујући ћелије које нису видљиве. Ако вам је потребно делимично подударање, можете конструисати израз помоћу ИСУМБЕР + СЕАРЦХ, као што је овде објашњено.

Добри линкови

МрЕкцел дискусија, са Микеом Гирвином и Аладином Акиуреком Магични трик 1010 Микеа Гирвина

Занимљиви Чланци...