Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 477
Default Help with Control Array Sum Formula

I have a table: below in Range N&:T8

809-0 809-1 809-2 810-0 810-1 810-2
01066001 98,123.45 98,097.79 150,123.76 0.00 1,000.00 15,000.00
01066002
01066003

From the above I need to Sum
with
H34 = 01066001 0001
In J34 I have
{=SUM(INDEX($N$7:$T$8,MATCH(LEFT($H34,8),$N$7:$N$8 ,0),MATCH(RIGHT($H34,1),RIGHT($N$7:$T$7,1),0)))}

But J34 Is only picking up the $98,097.79, not the s/b $99,097.79.
Can someone spot my problem?
Thanks In Advance,
Jim


  #2   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 2,886
Default Help with Control Array Sum Formula

Hi Jim

Even though you have used an array formula, Index, Match will only pick
up the first occurrence of 1 as the RIGHT() character of cells in N7:T7

Try instead the non-array entered formula

=SUMPRODUCT(($N$7:$N$8=LEFT($H34,8))*(RIGHT($N$7:$ T$7)=RIGHT($H34))*($N8:$T8))

--
Regards

Roger Govier


"Jim May" wrote in message
...
I have a table: below in Range N&:T8

809-0 809-1 809-2 810-0 810-1 810-2
01066001 98,123.45 98,097.79 150,123.76 0.00 1,000.00 15,000.00
01066002
01066003

From the above I need to Sum
with
H34 = 01066001 0001
In J34 I have
{=SUM(INDEX($N$7:$T$8,MATCH(LEFT($H34,8),$N$7:$N$8 ,0),MATCH(RIGHT($H34,1),RIGHT($N$7:$T$7,1),0)))}

But J34 Is only picking up the $98,097.79, not the s/b $99,097.79.
Can someone spot my problem?
Thanks In Advance,
Jim




  #3   Report Post  
Posted to microsoft.public.excel.misc
Max Max is offline
external usenet poster
 
Posts: 9,221
Default Help with Control Array Sum Formula

Another option ..

Placed in J34:
=SUMPRODUCT(OFFSET($O$7:$T$7,MATCH(LEFT(H34,8),$N$ 8:$N$20,0),)*(RIGHT($O$7:$T$7,1)=RIGHT(H34,1)))

Adjust the range: $N$8:$N$20
to suit
--
Max
Singapore
http://savefile.com/projects/236895
xdemechanik
---
"Jim May" wrote:
I have a table: below in Range N&:T8

809-0 809-1 809-2 810-0 810-1 810-2
01066001 98,123.45 98,097.79 150,123.76 0.00 1,000.00 15,000.00
01066002
01066003

From the above I need to Sum
with
H34 = 01066001 0001
In J34 I have
{=SUM(INDEX($N$7:$T$8,MATCH(LEFT($H34,8),$N$7:$N$8 ,0),MATCH(RIGHT($H34,1),RIGHT($N$7:$T$7,1),0)))}

But J34 Is only picking up the $98,097.79, not the s/b $99,097.79.
Can someone spot my problem?
Thanks In Advance,
Jim


  #4   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 477
Default Help with Control Array Sum Formula

Thanks Roger; Previously I was trying:

=SUMPRODUCT(--($N$7:$N$8=LEFT(H33,8)),--(RIGHT($N$7:$T$7)=RIGHT($H33)),$N8:$T8)

But was getting the #VALUE! Result

Still not sure why that didn't work; I'll take your suggestion!!
Thanks again,

Jim


"Roger Govier" wrote:

Hi Jim

Even though you have used an array formula, Index, Match will only pick
up the first occurrence of 1 as the RIGHT() character of cells in N7:T7

Try instead the non-array entered formula

=SUMPRODUCT(($N$7:$N$8=LEFT($H34,8))*(RIGHT($N$7:$ T$7)=RIGHT($H34))*($N8:$T8))

--
Regards

Roger Govier


"Jim May" wrote in message
...
I have a table: below in Range N&:T8

809-0 809-1 809-2 810-0 810-1 810-2
01066001 98,123.45 98,097.79 150,123.76 0.00 1,000.00 15,000.00
01066002
01066003

From the above I need to Sum
with
H34 = 01066001 0001
In J34 I have
{=SUM(INDEX($N$7:$T$8,MATCH(LEFT($H34,8),$N$7:$N$8 ,0),MATCH(RIGHT($H34,1),RIGHT($N$7:$T$7,1),0)))}

But J34 Is only picking up the $98,097.79, not the s/b $99,097.79.
Can someone spot my problem?
Thanks In Advance,
Jim





  #5   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 2,886
Default Help with Control Array Sum Formula

Hi Jim

I think the reason the double unary minus didn't work in this scenario,
is because we are using a mixture of Vertical and Horizontal arrays -at
least, that has been my experience.
Had both arrays been vertical, then the double unary would have worked
equally as well.

--
Regards

Roger Govier


"Jim May" wrote in message
...
Thanks Roger; Previously I was trying:

=SUMPRODUCT(--($N$7:$N$8=LEFT(H33,8)),--(RIGHT($N$7:$T$7)=RIGHT($H33)),$N8:$T8)

But was getting the #VALUE! Result

Still not sure why that didn't work; I'll take your suggestion!!
Thanks again,

Jim


"Roger Govier" wrote:

Hi Jim

Even though you have used an array formula, Index, Match will only
pick
up the first occurrence of 1 as the RIGHT() character of cells in
N7:T7

Try instead the non-array entered formula

=SUMPRODUCT(($N$7:$N$8=LEFT($H34,8))*(RIGHT($N$7:$ T$7)=RIGHT($H34))*($N8:$T8))

--
Regards

Roger Govier


"Jim May" wrote in message
...
I have a table: below in Range N&:T8

809-0 809-1 809-2 810-0 810-1 810-2
01066001 98,123.45 98,097.79 150,123.76 0.00 1,000.00 15,000.00
01066002
01066003

From the above I need to Sum
with
H34 = 01066001 0001
In J34 I have
{=SUM(INDEX($N$7:$T$8,MATCH(LEFT($H34,8),$N$7:$N$8 ,0),MATCH(RIGHT($H34,1),RIGHT($N$7:$T$7,1),0)))}

But J34 Is only picking up the $98,097.79, not the s/b $99,097.79.
Can someone spot my problem?
Thanks In Advance,
Jim









  #6   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 477
Default Help with Control Array Sum Formula

Thanks for the additional info/comment;
Jim

"Roger Govier" wrote:

Hi Jim

I think the reason the double unary minus didn't work in this scenario,
is because we are using a mixture of Vertical and Horizontal arrays -at
least, that has been my experience.
Had both arrays been vertical, then the double unary would have worked
equally as well.

--
Regards

Roger Govier


"Jim May" wrote in message
...
Thanks Roger; Previously I was trying:

=SUMPRODUCT(--($N$7:$N$8=LEFT(H33,8)),--(RIGHT($N$7:$T$7)=RIGHT($H33)),$N8:$T8)

But was getting the #VALUE! Result

Still not sure why that didn't work; I'll take your suggestion!!
Thanks again,

Jim


"Roger Govier" wrote:

Hi Jim

Even though you have used an array formula, Index, Match will only
pick
up the first occurrence of 1 as the RIGHT() character of cells in
N7:T7

Try instead the non-array entered formula

=SUMPRODUCT(($N$7:$N$8=LEFT($H34,8))*(RIGHT($N$7:$ T$7)=RIGHT($H34))*($N8:$T8))

--
Regards

Roger Govier


"Jim May" wrote in message
...
I have a table: below in Range N&:T8

809-0 809-1 809-2 810-0 810-1 810-2
01066001 98,123.45 98,097.79 150,123.76 0.00 1,000.00 15,000.00
01066002
01066003

From the above I need to Sum
with
H34 = 01066001 0001
In J34 I have
{=SUM(INDEX($N$7:$T$8,MATCH(LEFT($H34,8),$N$7:$N$8 ,0),MATCH(RIGHT($H34,1),RIGHT($N$7:$T$7,1),0)))}

But J34 Is only picking up the $98,097.79, not the s/b $99,097.79.
Can someone spot my problem?
Thanks In Advance,
Jim








  #7   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 477
Default Help with Control Array Sum Formula

Roger - FYI !!!
The formula MAX used can be modified to accept the "--" thing.
Jim


"Roger Govier" wrote:

Hi Jim

I think the reason the double unary minus didn't work in this scenario,
is because we are using a mixture of Vertical and Horizontal arrays -at
least, that has been my experience.
Had both arrays been vertical, then the double unary would have worked
equally as well.

--
Regards

Roger Govier


"Jim May" wrote in message
...
Thanks Roger; Previously I was trying:

=SUMPRODUCT(--($N$7:$N$8=LEFT(H33,8)),--(RIGHT($N$7:$T$7)=RIGHT($H33)),$N8:$T8)

But was getting the #VALUE! Result

Still not sure why that didn't work; I'll take your suggestion!!
Thanks again,

Jim


"Roger Govier" wrote:

Hi Jim

Even though you have used an array formula, Index, Match will only
pick
up the first occurrence of 1 as the RIGHT() character of cells in
N7:T7

Try instead the non-array entered formula

=SUMPRODUCT(($N$7:$N$8=LEFT($H34,8))*(RIGHT($N$7:$ T$7)=RIGHT($H34))*($N8:$T8))

--
Regards

Roger Govier


"Jim May" wrote in message
...
I have a table: below in Range N&:T8

809-0 809-1 809-2 810-0 810-1 810-2
01066001 98,123.45 98,097.79 150,123.76 0.00 1,000.00 15,000.00
01066002
01066003

From the above I need to Sum
with
H34 = 01066001 0001
In J34 I have
{=SUM(INDEX($N$7:$T$8,MATCH(LEFT($H34,8),$N$7:$N$8 ,0),MATCH(RIGHT($H34,1),RIGHT($N$7:$T$7,1),0)))}

But J34 Is only picking up the $98,097.79, not the s/b $99,097.79.
Can someone spot my problem?
Thanks In Advance,
Jim








  #8   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 477
Default Help with Control Array Sum Formula

Cooooooooool, Max for Another option ..
Thanks,
Jim

"Max" wrote:

Another option ..

Placed in J34:
=SUMPRODUCT(OFFSET($O$7:$T$7,MATCH(LEFT(H34,8),$N$ 8:$N$20,0),)*(RIGHT($O$7:$T$7,1)=RIGHT(H34,1)))

Adjust the range: $N$8:$N$20
to suit
--
Max
Singapore
http://savefile.com/projects/236895
xdemechanik
---
"Jim May" wrote:
I have a table: below in Range N&:T8

809-0 809-1 809-2 810-0 810-1 810-2
01066001 98,123.45 98,097.79 150,123.76 0.00 1,000.00 15,000.00
01066002
01066003

From the above I need to Sum
with
H34 = 01066001 0001
In J34 I have
{=SUM(INDEX($N$7:$T$8,MATCH(LEFT($H34,8),$N$7:$N$8 ,0),MATCH(RIGHT($H34,1),RIGHT($N$7:$T$7,1),0)))}

But J34 Is only picking up the $98,097.79, not the s/b $99,097.79.
Can someone spot my problem?
Thanks In Advance,
Jim


  #9   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 2,886
Default Help with Control Array Sum Formula

Hi Jim

Yes I would expect it to be able to use either as the arrays are all in
the same plane.
Max is using 2 arrays
A Horizontal array of values using Offset calculated from a Match on the
left part of J34
98123.45, 98097.79, 150,123.76, 0.00, 1,000.00, 15,000.00

A Horizontal array of 1 or 0 from the match on row 7 of the right part
of J34.

The formula you tried with the double unary (and mine with the "*") is
using 3 arrays

A vertical array of 0 or 1 determined which row in column N Matches the
left part of J34
(we used N7:N8, Max used N8:N20) the size of that dimension is not
important in either case
A Horizontal array of the values
A Horizontal array of 0 or 1 to determine the match on row 7 of the
right part of J34

I prefer my solution as if does not involve the use of the volatile
Offset function, but then I would say that wouldn't I? <vbg.

--
Regards

Roger Govier


"Jim May" wrote in message
...
Roger - FYI !!!
The formula MAX used can be modified to accept the "--" thing.
Jim


"Roger Govier" wrote:

Hi Jim

I think the reason the double unary minus didn't work in this
scenario,
is because we are using a mixture of Vertical and Horizontal
arrays -at
least, that has been my experience.
Had both arrays been vertical, then the double unary would have
worked
equally as well.

--
Regards

Roger Govier


"Jim May" wrote in message
...
Thanks Roger; Previously I was trying:

=SUMPRODUCT(--($N$7:$N$8=LEFT(H33,8)),--(RIGHT($N$7:$T$7)=RIGHT($H33)),$N8:$T8)

But was getting the #VALUE! Result

Still not sure why that didn't work; I'll take your suggestion!!
Thanks again,

Jim


"Roger Govier" wrote:

Hi Jim

Even though you have used an array formula, Index, Match will only
pick
up the first occurrence of 1 as the RIGHT() character of cells in
N7:T7

Try instead the non-array entered formula

=SUMPRODUCT(($N$7:$N$8=LEFT($H34,8))*(RIGHT($N$7:$ T$7)=RIGHT($H34))*($N8:$T8))

--
Regards

Roger Govier


"Jim May" wrote in message
...
I have a table: below in Range N&:T8

809-0 809-1 809-2 810-0 810-1 810-2
01066001 98,123.45 98,097.79 150,123.76 0.00 1,000.00
15,000.00
01066002
01066003

From the above I need to Sum
with
H34 = 01066001 0001
In J34 I have
{=SUM(INDEX($N$7:$T$8,MATCH(LEFT($H34,8),$N$7:$N$8 ,0),MATCH(RIGHT($H34,1),RIGHT($N$7:$T$7,1),0)))}

But J34 Is only picking up the $98,097.79, not the s/b
$99,097.79.
Can someone spot my problem?
Thanks In Advance,
Jim










  #10   Report Post  
Posted to microsoft.public.excel.misc
Max Max is offline
external usenet poster
 
Posts: 9,221
Default Help with Control Array Sum Formula

Hi Roger,

=SUMPRODUCT(($N$7:$N$8=LEFT($H34,8))*(RIGHT($N$7:$ T$7)=RIGHT($H34))*($N8:$T8))


How could your formula be amended, especially for the last term: $N8:$T8
to make it flexible to grab the correct range from within N8:T20 for the
summation
irrespective of what H34 may house.

Eg: should H34 contain say: 01066003 0001 instead, the formula has to grab:
N10:T10

Volatility aside <g, I thought that was the flexibility given by the OFFSET
in my version
--
Max
Singapore
http://savefile.com/projects/236895
xdemechanik
---
"Roger Govier" wrote in message
...
Hi Jim

Yes I would expect it to be able to use either as the arrays are all in
the same plane.
Max is using 2 arrays
A Horizontal array of values using Offset calculated from a Match on the
left part of J34
98123.45, 98097.79, 150,123.76, 0.00, 1,000.00, 15,000.00

A Horizontal array of 1 or 0 from the match on row 7 of the right part of
J34.

The formula you tried with the double unary (and mine with the "*") is
using 3 arrays

A vertical array of 0 or 1 determined which row in column N Matches the
left part of J34
(we used N7:N8, Max used N8:N20) the size of that dimension is not
important in either case
A Horizontal array of the values
A Horizontal array of 0 or 1 to determine the match on row 7 of the right
part of J34

I prefer my solution as if does not involve the use of the volatile Offset
function, but then I would say that wouldn't I? <vbg.

--
Regards

Roger Govier





  #11   Report Post  
Posted to microsoft.public.excel.misc
Max Max is offline
external usenet poster
 
Posts: 9,221
Default Help with Control Array Sum Formula

Jim, you're welcome.

Albeit volatile, the OFFSET part of it does provide flexibility in grabbing
the correct range within cols O to T depending on the input in H34
--
Max
Singapore
http://savefile.com/projects/236895
xdemechanik
---
"Jim May" wrote in message
...
Cooooooooool, Max for Another option ..
Thanks,
Jim



  #12   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 2,886
Default Help with Control Array Sum Formula

Hi Max

You are correct, but let me explain.

I did all of my testing on a different range altogether from Jim, to
make it easier to see all the data at the same time.
My actual formula was
=SUMPRODUCT(($A$1:$A$8=LEFT(J1,8))*(RIGHT($B$1:$G$ 1)=RIGHT(J1))*(B2:G2))
where you will notice the last term is relative.

In translating to match Jim's ranges, I inadvertently copied his $N's
and made the formula absolute and typed
=SUMPRODUCT(($N$7:$N$8=LEFT($H34,8))*(RIGHT($N$7:$ T$7)=RIGHT($H34))*($N8:$T8))

I had assumed, probably wrongly, that he was only trying to sum one row
of data, based upon the value in $H34
and that $H35 might have contained 01066002 0001, $H36 01066003 0001
etc. so as the formula was copied down it would take successive rows.
Clearly my error of typing Absolutes for N8:T8 would have prevented
this, but in my testing where I had 01066002 0001 in cell J2, 01066003
0001 in J3 and I had copied down, I had achieved correct results.

Equally, extending the range to N8:T20 as you mention, will not work
because we are then trying to multiply arrays of differing dimensions
which upon evaluation will result in #N/A errors.

Your solution, which uses Offset to return a single array of numbers to
be multiplied by an equal sized array of 0's and 1's gives the correct
solution in all scenarios and is far superior.

A definite case where volatility is clearly outweighed by flexibility.

I shall crawl away into a quiet corner and sulk<vbg

--
Regards

Roger Govier


"Max" wrote in message
...
Hi Roger,

=SUMPRODUCT(($N$7:$N$8=LEFT($H34,8))*(RIGHT($N$7:$ T$7)=RIGHT($H34))*($N8:$T8))


How could your formula be amended, especially for the last term:
$N8:$T8
to make it flexible to grab the correct range from within N8:T20 for
the summation
irrespective of what H34 may house.

Eg: should H34 contain say: 01066003 0001 instead, the formula has to
grab: N10:T10

Volatility aside <g, I thought that was the flexibility given by the
OFFSET in my version
--
Max
Singapore
http://savefile.com/projects/236895
xdemechanik
---
"Roger Govier" wrote in message
...
Hi Jim

Yes I would expect it to be able to use either as the arrays are all
in the same plane.
Max is using 2 arrays
A Horizontal array of values using Offset calculated from a Match on
the left part of J34
98123.45, 98097.79, 150,123.76, 0.00, 1,000.00, 15,000.00

A Horizontal array of 1 or 0 from the match on row 7 of the right
part of J34.

The formula you tried with the double unary (and mine with the "*")
is using 3 arrays

A vertical array of 0 or 1 determined which row in column N Matches
the left part of J34
(we used N7:N8, Max used N8:N20) the size of that dimension is not
important in either case
A Horizontal array of the values
A Horizontal array of 0 or 1 to determine the match on row 7 of the
right part of J34

I prefer my solution as if does not involve the use of the volatile
Offset function, but then I would say that wouldn't I? <vbg.

--
Regards

Roger Govier





  #13   Report Post  
Posted to microsoft.public.excel.misc
Max Max is offline
external usenet poster
 
Posts: 9,221
Default Help with Control Array Sum Formula

Thanks for the response, Roger !

I shall crawl away into a quiet corner and sulk <vbg

hey, pl come back real soon as you're always needed around here ..
and don't hog that space as the quiet corner's also used by me from time to
time <bg
--
Max
Singapore
http://savefile.com/projects/236895
xdemechanik
---
"Roger Govier" wrote in message
...
Hi Max

You are correct, but let me explain.

I did all of my testing on a different range altogether from Jim, to make
it easier to see all the data at the same time.
My actual formula was
=SUMPRODUCT(($A$1:$A$8=LEFT(J1,8))*(RIGHT($B$1:$G$ 1)=RIGHT(J1))*(B2:G2))
where you will notice the last term is relative.

In translating to match Jim's ranges, I inadvertently copied his $N's and
made the formula absolute and typed
=SUMPRODUCT(($N$7:$N$8=LEFT($H34,8))*(RIGHT($N$7:$ T$7)=RIGHT($H34))*($N8:$T8))

I had assumed, probably wrongly, that he was only trying to sum one row of
data, based upon the value in $H34
and that $H35 might have contained 01066002 0001, $H36 01066003 0001 etc.
so as the formula was copied down it would take successive rows.
Clearly my error of typing Absolutes for N8:T8 would have prevented this,
but in my testing where I had 01066002 0001 in cell J2, 01066003 0001 in
J3 and I had copied down, I had achieved correct results.

Equally, extending the range to N8:T20 as you mention, will not work
because we are then trying to multiply arrays of differing dimensions
which upon evaluation will result in #N/A errors.

Your solution, which uses Offset to return a single array of numbers to be
multiplied by an equal sized array of 0's and 1's gives the correct
solution in all scenarios and is far superior.

A definite case where volatility is clearly outweighed by flexibility.

I shall crawl away into a quiet corner and sulk <vbg

--
Regards

Roger Govier



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
SUMPRODUCT clue needed Dallman Ross Excel Discussion (Misc queries) 5 September 25th 06 12:29 PM
Array Formula Not Working with Range with Formulas [email protected] Excel Discussion (Misc queries) 4 February 1st 06 02:01 PM
Positioning Numeric Values Resulting from 6 Column Array Formula Sam via OfficeKB.com Excel Worksheet Functions 2 January 5th 06 02:03 AM
Formula checking multiple worksheets sonic-the-mouse Excel Worksheet Functions 2 June 5th 05 03:28 AM
Match / Vlookup within an Array formula Hari Prasadh Excel Discussion (Misc queries) 3 February 3rd 05 04:37 PM


All times are GMT +1. The time now is 05:56 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"