
Генеричка формула
=SUMPRODUCT(--(MOD(COLUMN(rng)-COLUMN(rng.first)+1,n)=0),rng)
Резиме
Да бисте сумирали сваку н-ту колону, можете користити формулу засновану на функцијама СУМПРОДУЦТ, МОД и ЦОЛУМН.
У приказаном примеру, формула у Л5 је:
=SUMPRODUCT(--(MOD(COLUMN(B5:J5)-COLUMN(B5)+1,K5)=0),B5:J5)
Објашњење
У основи користи СУМПРОДУЦТ за сумирање вредности у низу које су „филтриране“ користећи логику засновану на МОД-у. Кључ је следећи:
MOD(COLUMN(B5:J5)-COLUMN(B5)+1,K5)=0
Овај исечак формуле користи функцију ЦОЛУМН да би добио скуп "релативних" бројева колона за опсег (овде детаљно објашњен) који изгледа овако:
(1,2,3,4,5,6,7,8,9)
Ово иде у МОД тако:
MOD((1,2,3,4,5,6,7,8,9),K5)=0
где је К5 вредност за Н у сваком реду. МОД функција враћа остатак за сваки број колоне подељен са Н. Дакле, на пример, када је Н = 3, МОД ће вратити нешто попут овог:
(1,2,0,1,2,0,1,2,0)
Имајте на уму да се нуле појављују у колонама 3, 6, 9 итд. Формула користи = 0 за форсирање ТРУЕ када је остатак нула и ФАЛСЕ када није, тада користимо двоструко негативно (-) за присиљавање ТРУЕ и ЛАЖНО на јединице и нуле. То оставља низ попут овог:
(0,0,1,0,0,1,0,0,1)
Где 1с сада означавају „н-те вредности“. Ово иде у СУМПРОДУЦТ као низ1, заједно са Б5: Ј5 као низ2. СУМПРОДУЦТ затим чини своје, прво множењем, а затим сумирањем производа низова.
Једине вредности које „преживе“ множење су оне где низ 1 садржи 1. На овај начин можете смислити логику поља „филтрирање“ вредности у низу 2.
Зброји сваку другу колону
Ако желите да збројите сваку другу колону, само прилагодите ову формулу по потреби, имајући на уму да формула аутоматски додељује 1 првој колони у опсегу. Да бисте сумили ЕВЕН колоне, користите:
=SUMPRODUCT(--(MOD(COLUMN(A1:Z1)-COLUMN(A1)+1,2)=0),A1:Z1)
Да бисте сумирали ОДД колоне, користите:
=SUMPRODUCT(--(MOD(COLUMN(A1:Z1)-COLUMN(A1)+1,2)=1),A1:Z1)