Link to home
Start Free TrialLog in
Avatar of Andreamary
Andreamary

asked on

Changing array formula so all cell references relative

I am using the following array formula in BJ2 using relative references:

=SUM(IF(ISERROR(Y2:BI2)+NOT(ISERROR(FIND((ADDRESS(ROW(Y2:BI2),COLUMN(Y2:BI2))),"AB2,AC2,AD2,BE2,BF2,BG2"))),"",Y2:BI2))

When I copy the formula down the rest of the column, the cell references within the quotation marks are not changing and I need them to:

"AB2,AC2,AD2,BE2,BF2,BG2"

Can the array formula be modified so that all the cell references in the formula are relative, allowing me to copy and paste the formula down the column with references updating as required?

Thanks,
Andrea
SOLUTION
Avatar of Rgonzo1971
Rgonzo1971

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Andreamary
Andreamary

ASKER

Rgonzo, when trying your solution all the column totals disappeared. Steveo, in trying your solution the columns that were to be excluded from the final total were being included.

Just to summarize the goal of the formula, in case that makes things a little clearer:

Column BJ = Sum of numbers only from Y to BI, excluding AB, AC, AD, BE, BF & BG (the excluded columns have numbers in them but they should not be counted)

Thanks,
Andrae
Rgonzo, just to add that when using your formula, when I copied and pasted it down several rows the following cell references did not change:

"AB2,AC2,AD2,BE2,BF2,BG2"

So for instance, for row 3 the above references should change to:

"AB3,AC3,AD3,BE3,BF3,BG3"

All the other cell references worked as they should, as they did in the original formula I posted.

Hope that helps...

Thanks,
Andrea
Formula is 'deep' w/o building a sheet to debug...

the Sum function is using an If statement? It seems that an a 'false' IF statement in SUM statement will generate the Y2:BI2 address range which would include columns you don't want.

I must ask... if you manually copy / change a couple of rows using your text (manual) method does tallying give you results you expect?

I extracted only the portion of the formula that needed work for relative referencing as your question asked...

I feel both solutions offered should be giving your the relative addressing you are looking for...

I am wondering about formula?  

Please confirm you have verified formula to be giving you what you expect - if manually entered?
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I've attached a sample spreadsheet with an example of my original working array formula to demontrate what is happening. The formula in the spreadsheet is as follows:

{=SUM(IF(ISERROR(Y2:BI2)+NOT(ISERROR(FIND((ADDRESS(ROW(Y2:BI2),COLUMN(Y2:BI2))),"$AV$2,$AY$2,$BB$2"))),"",Y2:BI2))}

With the above formula, I get the correct answer of "58" in BJ2, but in BJ3, I get the wrong answer of "88" as in that row, as the array formula is not excluding AV3, AY3 or BB3.

I need the following:
The formula to work in all rows in the BJ column, not just in the first row
The excluded columns to be changed from the original "AV, AY, BB" to "AB,AC,AD,BE,BF,BG" (for all rows)

I have tried both solutions offered again, and did not find that they worked for me. Thanks for your patience...hopefully the sample spreadsheet will illustrate the issue more clearly...

Thanks,
Andrea
Array-excludesCells.xlsm
Hi Barry,

I saw your comment right after I posted my sample file. I tried the first formula in your post based on Rgonzo's formula, and while it worked for BJ2, when I copied and pasted the formula down the column it did not work for the subsequent rows. Since I might have errors in the cells, I then tried your last formula, and it worked perfectly, both in BJ2 and in the subsequent rows after I copied the formula down the BJ2 column. Thanks very much!!

 BTW, I want to be fair on points distribution here. From my vantage point, the formula that worked for me was the last one supplied, but I'm not an expert and want to make sure I'm not overlooking the usability of the other solutions provided...

Please advise....thanks again!
Andrea
Thanks Andrea - the formula in your question won't work as intended, it will sum all the values in Y2:BI2, for the reasons I gave in my answer above.

The first formula I suggested fixes that problem but doesn't fix the dragging down issue, hence my other suggestions.

Objectively I'd say that's the best approach, because of its simplicity, so you should accept my answer!

However I think that the approaches suggested by both Rgonzo1971 and Steveo are also valid. Rgonzo's didn't work for you because the ranges were wrong, all references to Y2:AE2 should be Y2:BI2. Rgonzo also fixed the ADDRESS function problem by adding 4 as 3rd parameter.

Steve's suggestion didn't work because of the flaw in your initial formula - fix that and it works OK too

.......so I would suggest you also award points to both of those experts, the exact split is up to you (and feel free to ignore my advice if you wish!)

regards, barry
Many aspects of this question and it's final resolution...

I agree w/ Barry splitting (somehow) seems fairest...

bottom line... is you should have information to resolve your initial problems.

Congrats and happy coding...
Thanks, Barry, for your explanation on the problem with my original formula and the impact of that on potential solutions, as well as the guidance on awarding points, and last but not least, your elegant solution! And thanks, Rgonzo, for your generous note and solution, and to Steveo for your solution too.

I'm very pleased...

Andrea