ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Tricky array problem…. (https://www.excelbanter.com/excel-discussion-misc-queries/103391-tricky-array-problem%85.html)

MarkCCB

Tricky array problem….
 

I have a (small) problem which I am unable to solve. Perhaps some bright
wizard has an idea.

I would like to multiply two arrays located in equal sized rows but
invert one first, i.e. if the values a A, B, C and X, Y, Z, I want
AZ+BY+CX.

e.g. if the ranges are 1,2,3 and 1,2,3, my answer should be 10.

My ranges are dynamic so could become much larger than 3 elements.

I tried to invert one of the arrays using the array formula:

=OFFSET(Mult,0,COLUMNS(Mult)-1+(MIN(COLUMN(Mult))-COLUMN(Mult)))

where Mult is the array field (am quite proud of this!!!). If I use F9,
this formula does invert the array. However, as soon as I try to use
this in a larger formula to complete the multiplication, I get #Value!
:

=SUM(OFFSET(Mult,0,COLUMNS(Mult)-1+(MIN(COLUMN(Mult))-COLUMN(Mult)))*CinList)

where CinList is the other array.

Any ideas much appreciated....


--
MarkCCB
------------------------------------------------------------------------
MarkCCB's Profile: http://www.excelforum.com/member.php...o&userid=37148
View this thread: http://www.excelforum.com/showthread...hreadid=568717


Leo Heuser

Tricky array problem….
 
"MarkCCB" skrev i en
meddelelse ...

I have a (small) problem which I am unable to solve. Perhaps some bright
wizard has an idea.

I would like to multiply two arrays located in equal sized rows but
invert one first, i.e. if the values a A, B, C and X, Y, Z, I want
AZ+BY+CX.

e.g. if the ranges are 1,2,3 and 1,2,3, my answer should be 10.

My ranges are dynamic so could become much larger than 3 elements.

I tried to invert one of the arrays using the array formula:

=OFFSET(Mult,0,COLUMNS(Mult)-1+(MIN(COLUMN(Mult))-COLUMN(Mult)))

where Mult is the array field (am quite proud of this!!!). If I use F9,
this formula does invert the array. However, as soon as I try to use
this in a larger formula to complete the multiplication, I get #Value!
:

=SUM(OFFSET(Mult,0,COLUMNS(Mult)-1+(MIN(COLUMN(Mult))-COLUMN(Mult)))*CinList)

where CinList is the other array.

Any ideas much appreciated....


--
MarkCCB



Hi Mark

=SUM(N(OFFSET(Mult,0,COLUMNS(Mult)-1+(MIN(COLUMN(Mult))-COLUMN(Mult))))*CinList)

Will do the trick.

Using the function N() with OFFSET() sometimes works, sometimes doesn't.
(One of the charms one enjoys working with array formulae :-)

In this situation you can skip <Shift<Ctrl<Enter and just use <Enter
by using SUMPRODUCT()

=SUMPRODUCT(N(OFFSET(Mult,0,COLUMNS(Mult)-1+(MIN(COLUMN(Mult))-COLUMN(Mult))))*CinList)


--
Best regards
Leo Heuser

Followup to newsgroup only please.




MarkCCB

Tricky array problem….
 

Leo,
awesome, you are truly a wizard ! It works ! Thankyou so much ! I spent
half a day messing about with this.......
Best regards


--
MarkCCB
------------------------------------------------------------------------
MarkCCB's Profile: http://www.excelforum.com/member.php...o&userid=37148
View this thread: http://www.excelforum.com/showthread...hreadid=568717


Leo Heuser

Tricky array problem….
 
"MarkCCB" skrev i en
meddelelse ...

Leo,
awesome, you are truly a wizard ! It works ! Thankyou so much ! I spent
half a day messing about with this.......
Best regards


--
MarkCCB


You're welcome, Mark, and thanks for the feedback :-)

Leo Heuser




All times are GMT +1. The time now is 02:40 PM.

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