ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Temp variables within formulas? (https://www.excelbanter.com/excel-discussion-misc-queries/230105-temp-variables-within-formulas.html)

Andy Smith[_2_]

Temp variables within formulas?
 
Here's a common example: you want a formula with a VLOOKUP which either looks
up the number you want, or returns zero if it's not in the table -- this is
so that calculations based on that formula use zero and calculate something
meaningful rather than result in #N/A!. So you have to do this:

IF(ISNA(VLOOKUP(...)),0,VLOOKUP(...))

Of course that "..." can be pretty long and hairy. And it's inefficient
too, because that long VLOOKUP has to be calculated twice. Isn't there any
way of writing a formula so it calculates the VLOOKUP once, stored the
result, and uses just the result in the rest of the formula? That is:

R=VLOOKUP(...);IF(ISNA(R),0,R)

I realize you can insert columns just to hold temporary results, and then
hide them, but when you copy them and paste them outside Excel, you get the
hidden columns too, and I don't want them.

Thanks!

--
Andy Smith
Senior Systems Analyst
Standard & Poor's, NYC


Dave Peterson

Temp variables within formulas?
 
MS had the same thoughts of you and introduced the =iferror() function in
xl2007.



Andy Smith wrote:

Here's a common example: you want a formula with a VLOOKUP which either looks
up the number you want, or returns zero if it's not in the table -- this is
so that calculations based on that formula use zero and calculate something
meaningful rather than result in #N/A!. So you have to do this:

IF(ISNA(VLOOKUP(...)),0,VLOOKUP(...))

Of course that "..." can be pretty long and hairy. And it's inefficient
too, because that long VLOOKUP has to be calculated twice. Isn't there any
way of writing a formula so it calculates the VLOOKUP once, stored the
result, and uses just the result in the rest of the formula? That is:

R=VLOOKUP(...);IF(ISNA(R),0,R)

I realize you can insert columns just to hold temporary results, and then
hide them, but when you copy them and paste them outside Excel, you get the
hidden columns too, and I don't want them.

Thanks!

--
Andy Smith
Senior Systems Analyst
Standard & Poor's, NYC


--

Dave Peterson

RagDyeR

Temp variables within formulas?
 
There have been discussions (prior to XL07) in these groups about the
efficiency of various other functions over the double use of Vlookup as an
error trap.

Match() and Countif() being just a couple.

=If(ISNA(Match(D1,A1:A100,0)),0,Vlookup(D1,A1:C100 ,3,0))

=If(Countif(A1:A100,D1),Vlookup(D1,A1:C100,3,0),0)

And, if you're copying the Vlookup formula across many columns in order to
return numerous fields of a datalist,
you could use a single cell to calculate the existence of a match, and
simply refer to that cell before performing the Vlookup.

In E1:
=COUNTIF(A1:A100,D1)

Then:
=If($E$10,Vlookup(D1,$A$1:$C$100,3,0),0)


--

Regards,

RD
-----------------------------------------------------------------------------------------------
Please keep all correspondence within the Group, so all may benefit !
-----------------------------------------------------------------------------------------------


"Andy Smith" wrote in message
...
Here's a common example: you want a formula with a VLOOKUP which either
looks
up the number you want, or returns zero if it's not in the table -- this is
so that calculations based on that formula use zero and calculate something
meaningful rather than result in #N/A!. So you have to do this:

IF(ISNA(VLOOKUP(...)),0,VLOOKUP(...))

Of course that "..." can be pretty long and hairy. And it's inefficient
too, because that long VLOOKUP has to be calculated twice. Isn't there any
way of writing a formula so it calculates the VLOOKUP once, stored the
result, and uses just the result in the rest of the formula? That is:

R=VLOOKUP(...);IF(ISNA(R),0,R)

I realize you can insert columns just to hold temporary results, and then
hide them, but when you copy them and paste them outside Excel, you get the
hidden columns too, and I don't want them.

Thanks!

--
Andy Smith
Senior Systems Analyst
Standard & Poor's, NYC




All times are GMT +1. The time now is 07:14 PM.

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