ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   how to i add the first six values of of a row when in various colu (https://www.excelbanter.com/excel-worksheet-functions/109393-how-i-add-first-six-values-row-when-various-colu.html)

Cecilia

how to i add the first six values of of a row when in various colu
 
How do I add the first nonzero values of a row when they appear in various
columns?

I only need to add the first six values that are nonzero but these appear in
various columns throughout my table.

Ron Coderre

how to i add the first six values of of a row when in various colu
 
Try this:

For values (or blanks) in A1:J1

This ARRAY FORMULA* returns the sum of the 1st 6 non-blank values in A1:J1:
=SUMPRODUCT(ISNUMBER(MATCH(COLUMN(A1:J1),SMALL(((A 1:J1<0)*COLUMN(A1:J1))+((A1:J1="")*10^99),{1,2,3, 4,5,6}),0))*A1:J1)

*Note: For array formulas, hold down [Ctrl] and [Shift] when you press
[Enter], instead of just pressing [Enter].

Also, in case text wrap impacts the display, there are NO spaces in that
formula.

Is that something you can work with?
***********
Regards,
Ron

XL2002, WinXP


"Cecilia" wrote:

How do I add the first nonzero values of a row when they appear in various
columns?

I only need to add the first six values that are nonzero but these appear in
various columns throughout my table.


Ron Coderre

how to i add the first six values of of a row when in various
 
Actually, this shorter ARRAY FORMULA also sums the 1st 6 non-blanks in A1:J1:

=SUM(A1:INDEX(A1:J1,SMALL(IF(A1:J1<"",COLUMN(A1:J 1),10^99),MIN(COUNT(A1:J1),6))-COLUMN(A1)+1))

Note 1: If there are less than 6 values, it sums the available numbers.
Note 2: That formula automatically adjusts if the range does not begin in
Col_A
Note 3: if there are N0 numbers in the range, it returns an error.

However, this array formula does not return an error if there are NO numbers
in the range:
=SUM(ISNUMBER(MATCH(COLUMN(A1:J1),SMALL(((A1:J1<" ")*COLUMN(A1:J1))+((A1:J1="")*10^99),{1,2,3,4,5,6} ),0))*A1:J1)

Does that help?
***********
Regards,
Ron

XL2002, WinXP


"Ron Coderre" wrote:

Try this:

For values (or blanks) in A1:J1

This ARRAY FORMULA* returns the sum of the 1st 6 non-blank values in A1:J1:
=SUMPRODUCT(ISNUMBER(MATCH(COLUMN(A1:J1),SMALL(((A 1:J1<0)*COLUMN(A1:J1))+((A1:J1="")*10^99),{1,2,3, 4,5,6}),0))*A1:J1)

*Note: For array formulas, hold down [Ctrl] and [Shift] when you press
[Enter], instead of just pressing [Enter].

Also, in case text wrap impacts the display, there are NO spaces in that
formula.

Is that something you can work with?
***********
Regards,
Ron

XL2002, WinXP


"Cecilia" wrote:

How do I add the first nonzero values of a row when they appear in various
columns?

I only need to add the first six values that are nonzero but these appear in
various columns throughout my table.


Nobody

how to i add the first six values of of a row when in various colu
 
Assuming your data from A1:A11

=SUM(OFFSET(INDEX(A1:A11,MATCH(TRUE,A1:A11<0,0)), ,,6))

ctrlshiftenter (not just enter)

--------------------
mama no teeth

"Cecilia" wrote:

How do I add the first nonzero values of a row when they appear in various
columns?

I only need to add the first six values that are nonzero but these appear in
various columns throughout my table.


Aladin Akyurek

how to i add the first six values of of a row when in various
 
It needs more...

=IF(SUM(COUNTIF(A1:J1,{"<0","0"})),
SUM(A1:INDEX(A1:J1,SMALL(IF(ISNUMBER(A1:J1),
IF(A1:J1<0,COLUMN(A1:J1)-COLUMN(A1)+1)),
MIN(6,SUM(COUNTIF(A1:J1,{"<0","0"})))))),"")

which must be confirmed with control+shift+enter, not just with enter.

Ron Coderre wrote:
Actually, this shorter ARRAY FORMULA also sums the 1st 6 non-blanks in A1:J1:

=SUM(A1:INDEX(A1:J1,SMALL(IF(A1:J1<"",COLUMN(A1:J 1),10^99),MIN(COUNT(A1:J1),6))-COLUMN(A1)+1))

Note 1: If there are less than 6 values, it sums the available numbers.
Note 2: That formula automatically adjusts if the range does not begin in
Col_A
Note 3: if there are N0 numbers in the range, it returns an error.

However, this array formula does not return an error if there are NO numbers
in the range:
=SUM(ISNUMBER(MATCH(COLUMN(A1:J1),SMALL(((A1:J1<" ")*COLUMN(A1:J1))+((A1:J1="")*10^99),{1,2,3,4,5,6} ),0))*A1:J1)

Does that help?
***********
Regards,
Ron

XL2002, WinXP


"Ron Coderre" wrote:

Try this:

For values (or blanks) in A1:J1

This ARRAY FORMULA* returns the sum of the 1st 6 non-blank values in A1:J1:
=SUMPRODUCT(ISNUMBER(MATCH(COLUMN(A1:J1),SMALL(((A 1:J1<0)*COLUMN(A1:J1))+((A1:J1="")*10^99),{1,2,3, 4,5,6}),0))*A1:J1)

*Note: For array formulas, hold down [Ctrl] and [Shift] when you press
[Enter], instead of just pressing [Enter].

Also, in case text wrap impacts the display, there are NO spaces in that
formula.

Is that something you can work with?
***********
Regards,
Ron

XL2002, WinXP


"Cecilia" wrote:

How do I add the first nonzero values of a row when they appear in various
columns?

I only need to add the first six values that are nonzero but these appear in
various columns throughout my table.


Ron Coderre

how to i add the first six values of of a row when in various
 
Here's my latest in a series of final versions : \

=SUM(IF(ISNUMBER(MATCH(COLUMN(A1:J1),SMALL((A1:J1< 0)*COLUMN(A1:J1)+((A1:J1=0)+ISTEXT(A1:J1))*10^99, {1,2,3,4,5,6}),0)),A1:J1))

That one sums up to the first 6 non-zero numeric values and accounts for:
Some entries containing text
All cells containing text
Some Blanks
All Blanks
Less than 6 numeric values

Did I miss anything?
***********
Regards,
Ron

XL2002, WinXP


"Aladin Akyurek" wrote:

It needs more...

=IF(SUM(COUNTIF(A1:J1,{"<0","0"})),
SUM(A1:INDEX(A1:J1,SMALL(IF(ISNUMBER(A1:J1),
IF(A1:J1<0,COLUMN(A1:J1)-COLUMN(A1)+1)),
MIN(6,SUM(COUNTIF(A1:J1,{"<0","0"})))))),"")

which must be confirmed with control+shift+enter, not just with enter.

Ron Coderre wrote:
Actually, this shorter ARRAY FORMULA also sums the 1st 6 non-blanks in A1:J1:

=SUM(A1:INDEX(A1:J1,SMALL(IF(A1:J1<"",COLUMN(A1:J 1),10^99),MIN(COUNT(A1:J1),6))-COLUMN(A1)+1))

Note 1: If there are less than 6 values, it sums the available numbers.
Note 2: That formula automatically adjusts if the range does not begin in
Col_A
Note 3: if there are N0 numbers in the range, it returns an error.

However, this array formula does not return an error if there are NO numbers
in the range:
=SUM(ISNUMBER(MATCH(COLUMN(A1:J1),SMALL(((A1:J1<" ")*COLUMN(A1:J1))+((A1:J1="")*10^99),{1,2,3,4,5,6} ),0))*A1:J1)

Does that help?
***********
Regards,
Ron

XL2002, WinXP


"Ron Coderre" wrote:

Try this:

For values (or blanks) in A1:J1

This ARRAY FORMULA* returns the sum of the 1st 6 non-blank values in A1:J1:
=SUMPRODUCT(ISNUMBER(MATCH(COLUMN(A1:J1),SMALL(((A 1:J1<0)*COLUMN(A1:J1))+((A1:J1="")*10^99),{1,2,3, 4,5,6}),0))*A1:J1)

*Note: For array formulas, hold down [Ctrl] and [Shift] when you press
[Enter], instead of just pressing [Enter].

Also, in case text wrap impacts the display, there are NO spaces in that
formula.

Is that something you can work with?
***********
Regards,
Ron

XL2002, WinXP


"Cecilia" wrote:

How do I add the first nonzero values of a row when they appear in various
columns?

I only need to add the first six values that are nonzero but these appear in
various columns throughout my table.




All times are GMT +1. The time now is 02:37 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com