Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
AND Function
Does the AND function always evaluate all arguments or only until it comes
across the first one that evaluates as FALSE? If the former is the case, is there any way to make it work the second way without using a n ested IF statement? |
#2
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
AND Function
I don't understand, what difference does it make? As long as a False
condition evaluates to False, isn't that OK? It would make a difference with OR, but not AND. -- HTH Bob Phillips (remove xxx from email address if mailing direct) "Mike McLellan" wrote in message ... Does the AND function always evaluate all arguments or only until it comes across the first one that evaluates as FALSE? If the former is the case, is there any way to make it work the second way without using a n ested IF statement? |
#3
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
AND Function
The expression that I want to evaluate is along the following lines:
=IF(AND(FileExists(name),FileSize(name)25000) If the file doesn't exist, then the second argument will fail. I think the best answer is probably to force the FileSize function to return 0 if the file doesn't exist Thanks for your help "Bob Phillips" wrote: I don't understand, what difference does it make? As long as a False condition evaluates to False, isn't that OK? It would make a difference with OR, but not AND. -- HTH Bob Phillips (remove xxx from email address if mailing direct) "Mike McLellan" wrote in message ... Does the AND function always evaluate all arguments or only until it comes across the first one that evaluates as FALSE? If the former is the case, is there any way to make it work the second way without using a n ested IF statement? |
#4
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
AND Function
I assume that FielExists and Filesize are two UDFs? In that case, your
question is nothing to do with the evaluation of the conditions, but with the UDFs, at least that is how I see it. The AND will always evaluate both conditions, even if the first fails, unnecessary but that is the way that it is, so your second UDF would need to also check if the file exists, or maybe ditch FileExists and do it all in Filesize, and return -1 if it doesn't exist. -- HTH Bob Phillips (remove xxx from email address if mailing direct) "Mike McLellan" wrote in message ... The expression that I want to evaluate is along the following lines: =IF(AND(FileExists(name),FileSize(name)25000) If the file doesn't exist, then the second argument will fail. I think the best answer is probably to force the FileSize function to return 0 if the file doesn't exist Thanks for your help "Bob Phillips" wrote: I don't understand, what difference does it make? As long as a False condition evaluates to False, isn't that OK? It would make a difference with OR, but not AND. -- HTH Bob Phillips (remove xxx from email address if mailing direct) "Mike McLellan" wrote in message ... Does the AND function always evaluate all arguments or only until it comes across the first one that evaluates as FALSE? If the former is the case, is there any way to make it work the second way without using a n ested IF statement? |
#5
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
AND Function
"Bob Phillips" wrote:
I don't understand, what difference does it make? Consider the following example: =if(and(a1<0, b1/a10), "foo", "bar") This results in #DIV/0 when A1 is zero, despite clear intentions to avoid it. That formula must be rewritten, for example: =if(a1=0, "bar", if(b1/a10, "foo", "bar")) It would make a difference with OR, but not AND. It makes no more nor less difference with OR than with AND. I could write a similar example above using OR(a1=0,b1/a1<=0). With some programming languages, many people rely on the abortive left-to-right evaluation of boolean expressions, which have operators for "and", "or", etc. It is most useful (albeit dubious) when the evaluation of subexpressions has side-effects. But in those languages, all function parameters are evaluated before calling the function. So it is the case with Excel's functions AND(), OR(), etc. These are (obviously) functions, not operators. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Creating a Custom Excel Function to Calculate Gini Coefficients | Excel Worksheet Functions | |||
Date & Time | New Users to Excel | |||
Hyperlinks using R[1]C[1] and offset function in its cell referenc | Excel Worksheet Functions | |||
Conversion | Excel Worksheet Functions | |||
HOW CAN I GET OFFICE 2003 EXCEL BASIC TO NEST FUNCTIONS LIKE EXCE. | Excel Worksheet Functions |