ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Purpose of "--" Operator (https://www.excelbanter.com/excel-discussion-misc-queries/131919-purpose-operator.html)

roadkill

Purpose of "--" Operator
 
I sometimes look at the questions posed (and, of course, the answers) in this
Discussion Group to try and learn new things about Excel. Recently, in a
couple of places, I saw "--" used in formulas. It appears that its purpose
is to convert a logical True or False into a number (1 or 0). Is this
correct?

roadkill

Purpose of "--" Operator
 
That answers my question - Thanks!

"Ron Coderre" wrote:

When you use a Boolean formula (a formula that returns TRUE or FALSE), Excel
returns those values, which are not numeric. If the formula returns "numeric
text",
Excel will treat it AS text. To coerce the conversion from Boolean to
Numeric, or
from "numeric text" to Numeric, you need to apply an arithmetic operator. The
generally accepted convention is to use a double minus sign (--).

It works this way:
The negative of a value reverses the sign.
The negative of that value restores the sign.

Example:
RIGHT("W1000",4) returns with the *word* "1000"
-RIGHT("W1000",4) converts "1000" to the negative number -1000
--RIGHT("W1000",4) converts the negative number to the positive number 1000

In the case of boolean values, the dbl-neg converts TRUE and FALSE to 1 and
0, respectively.

Example:
--ISNUMBER(56) converts TRUE to the number 1
--ISNUMBER("this is text") converts FALSE to the number 0

You could achieve the same results by multiplying a value by 1, but the
dbl-neg indicates to knowledgable users that a "type conversion" is being
effected.

Does that help?
***********
Regards,
Ron

XL2002, WinXP


"roadkill" wrote:

I sometimes look at the questions posed (and, of course, the answers) in this
Discussion Group to try and learn new things about Excel. Recently, in a
couple of places, I saw "--" used in formulas. It appears that its purpose
is to convert a logical True or False into a number (1 or 0). Is this
correct?



All times are GMT +1. The time now is 03:02 AM.

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