View Single Post
  #17   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Excel - Double Negatives (Past, Present and Future)

Thanks for the response.

--
Regards,
Tom Ogilvy

"Harlan Grove" wrote in message
...
"Tom Ogilvy" wrote...
for this specific usage, wouldn't

=SUMPRODUCT(-(A1:A100="A"),-(B1:B100="B"))

Achieve the same and be even "faster" than

=SUMPRODUCT(--(A1:A100="A"),--(B1:B100="B"))

Surprised Mr. Grove or Aladan haven't raised this issue - or have they?

..

Not directly, but you won't find me using ISNUMBER(--whatever) rather than
ISNUMBER(-whatever). I just didn't make the explicit point in previous

responses
in which I've done this.

When you know you've got an even number of conditions, you're correct that

using
single unary minuses would be better, but in general it's safer to use

double
unary minuses. Now, as I've written before, it's not the speed of double

unary
minuses I like, it's the fact that due to Excel's operator precendence

it's
harder to screw up double unary minuses with typos than it is to screw up

the
alternatives ^1, *1, +0. Also, since I read left to right, I prefer my

number
type coersions on the left rather than the right of my boolean

expressions, and
-- looks nicer than 1* or 0+. Wrapping boolean expressions inside N() is

another
alternative, possibly clearer, but it eats a nested function call level,

so I
don't use it.

--
To top-post is human, to bottom-post and snip is sublime.