Excel

Summa var tionde kolumn

Sum Every Nth Column

Excel -formel: Summa var tionde kolumnGenerisk formel | _+_ | Sammanfattning

För att summera var tionde kolumn kan du använda en formel baserad på funktionerna SUMPRODUCT, MOD och COLUMN.



I exemplet som visas är formeln i L5:

excel-kontroll om en cell innehåller en sträng
= SUMPRODUCT (--( MOD ( COLUMN (rng)- COLUMN (rng.first)+1,n)=0),rng)
Förklaring

I kärnan använder SUMPRODUCT för att summera värden i rad som har 'filtrerats' med logik baserad på MOD.Nyckeln är detta:





 
= SUMPRODUCT (--( MOD ( COLUMN (B5:J5)- COLUMN (B5)+1,K5)=0),B5:J5)

Detta fragment av formeln använder funktionen KOLONN för att få en uppsättning 'relativa' kolumnnummer för intervallet (förklaras i detalj här ) som ser ut så här:

{1,2,3,4,5,6,7,8,9}



Detta går in i MOD så här:

 
 MOD ( COLUMN (B5:J5)- COLUMN (B5)+1,K5)=0

där K5 är värdet för N i varje rad. MOD -funktionen returnerar resten för varje kolumnnummer dividerat med N. Så, till exempel, när N = 3, kommer MOD att returnera något så här:

{1,2,0,1,2,0,1,2,0}

Observera att nollorna visas för kolumn 3, 6, 9, etc. Formeln använder = 0 för att tvinga ett SANT när resten är noll och ett FALSKT när det inte är det, då använder vi en dubbel-negativ (-) för att tvinga SANT och FALSKT mot enor och nollor. Det lämnar en uppsättning så här:

{0,0,1,0,0,1,0,0,1}

Där 1: or nu anger 'nth värden'. Detta går in i SUMPRODUCT som array1, tillsammans med B5: J5 som array2. SUMPRODUCT gör sedan sitt, först multiplicerar och summerar sedan produkter från matriserna.

De enda värden som 'överlever' multiplikation är de där array1 innehåller 1. På så sätt kan du tänka på logiken för array1 'filtrera' värdena i array2.

Summa varannan kolumn

Om du vill summera varannan kolumn, anpassa bara den här formeln efter behov, med tanke på att formeln automatiskt tilldelar 1 till den första kolumnen i intervallet. För att summera EVEN kolumner, använd:

excel infoga aktuellt datum och tid
 
 MOD ({1,2,3,4,5,6,7,8,9},K5)=0

För att summera ODD -kolumner, använd:

 
= SUMPRODUCT (--( MOD ( COLUMN (A1:Z1)- COLUMN (A1)+1,2)=0),A1:Z1)
Författare Dave Bruns


^