Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.misc
|
|||
|
|||
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 |
#2
Posted to microsoft.public.excel.misc
|
|||
|
|||
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 |
#3
Posted to microsoft.public.excel.misc
|
|||
|
|||
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 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Problem using obj.Namespace(sourceFileName) Namespace(DestinationFilename).Itemsand then opening the xls file which creates a Temp Folder inside Temp | Excel Discussion (Misc queries) | |||
Variables in formulas | Excel Worksheet Functions | |||
What if < with multiple variables and formulas | Excel Discussion (Misc queries) | |||
Using formulas to source a value based on 2 variables | Excel Worksheet Functions | |||
How can I use variables in formulas in VB? | Excel Discussion (Misc queries) |