ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Use of ROW() in array formula (https://www.excelbanter.com/excel-programming/276592-use-row-array-formula.html)

onedaywhen

Use of ROW() in array formula
 
I want to increment a value used an array formula when it is copied to
the cell below it. In a non-array formula I'd use ROW(A1) but in the
following array formula it causes an error:

=SUM((OFFSET(RefIDs,0,0,1)<"P")*(OFFSET(Balances, 0,0,1)))

In case it isn't obvious, RefIDs and Balances are defined names that
each refer to a range.

Say this is entered in cell H9. When I copy it down to cell H10 I want
it to be:

=SUM((OFFSET(RefIDs,1,0,1)<"P")*(OFFSET(Balances, 1,0,1)))

Here is my attempt that doesn't work:

=SUM((OFFSET(RefIDs,ROW(A1)-1,0,1)<"P")*(OFFSET(Balances,ROW(A1)-1,0,1)))

Can anyone point me in the direction of the solution, please?

steve

Use of ROW() in array formula
 
Your formula looks like it should be
=SumProduct(...
or maybe you want =SumIf(...
(not sure, but...)
--
sb
"onedaywhen" wrote in message
om...
I want to increment a value used an array formula when it is copied to
the cell below it. In a non-array formula I'd use ROW(A1) but in the
following array formula it causes an error:

=SUM((OFFSET(RefIDs,0,0,1)<"P")*(OFFSET(Balances, 0,0,1)))

In case it isn't obvious, RefIDs and Balances are defined names that
each refer to a range.

Say this is entered in cell H9. When I copy it down to cell H10 I want
it to be:

=SUM((OFFSET(RefIDs,1,0,1)<"P")*(OFFSET(Balances, 1,0,1)))

Here is my attempt that doesn't work:


=SUM((OFFSET(RefIDs,ROW(A1)-1,0,1)<"P")*(OFFSET(Balances,ROW(A1)-1,0,1)))

Can anyone point me in the direction of the solution, please?




onedaywhen

Use of ROW() in array formula
 
Thanks, Steve.

I worked out that I could use ROWS rather than ROW i.e.

=SUM((OFFSET(RefIDs,ROWS(A$1:A1)-1,0,1)<"P")*(OFFSET(Balances,ROWS(A$1:A1)-1,0,1)))

"steve" wrote in message ...
Your formula looks like it should be
=SumProduct(...
or maybe you want =SumIf(...
(not sure, but...)
--
sb
"onedaywhen" wrote in message
om...
I want to increment a value used an array formula when it is copied to
the cell below it. In a non-array formula I'd use ROW(A1) but in the
following array formula it causes an error:

=SUM((OFFSET(RefIDs,0,0,1)<"P")*(OFFSET(Balances, 0,0,1)))

In case it isn't obvious, RefIDs and Balances are defined names that
each refer to a range.

Say this is entered in cell H9. When I copy it down to cell H10 I want
it to be:

=SUM((OFFSET(RefIDs,1,0,1)<"P")*(OFFSET(Balances, 1,0,1)))

Here is my attempt that doesn't work:


=SUM((OFFSET(RefIDs,ROW(A1)-1,0,1)<"P")*(OFFSET(Balances,ROW(A1)-1,0,1)))

Can anyone point me in the direction of the solution, please?



All times are GMT +1. The time now is 12:53 PM.

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