Excel 公式开头的一对减号(--)

Excel 公式开头的一对减号(--),excel,Excel,我偶然发现了这个公式: =--ISNUMBER(IFERROR(SEARCH($B$3,E3,1),"")) 公式开头的=--是什么意思 我似乎找不到答案。ISNUMBER()函数返回一个布尔值TRUE或FALSE 通常,--序列被称为双一元运算符。事实并非如此,因为Excel中没有这样的操作符,但它的作用是相同的 它所做的是将布尔值强制为其等效的数值。在Excel工作表公式中,这表示1或0 --序列实际上只是背靠背的两个减号。下面是它的工作原理。如果ISNUMBER()的布尔结果为真,则其第

我偶然发现了这个公式:

=--ISNUMBER(IFERROR(SEARCH($B$3,E3,1),""))
公式开头的
=--
是什么意思

我似乎找不到答案。

ISNUMBER()函数返回一个布尔值
TRUE
FALSE

通常,
--
序列被称为双一元运算符。事实并非如此,因为Excel中没有这样的操作符,但它的作用是相同的

它所做的是将布尔值强制为其等效的数值。在Excel工作表公式中,这表示
1
0

--
序列实际上只是背靠背的两个减号。下面是它的工作原理。如果ISNUMBER()的布尔结果为真,则其第一个负值为值
-1
。第二个负片将其转换为
+1
。当然,如果布尔值为零,那么负的值为零,负的值仍然为零

布尔值可以来自任何地方;ISNUMBER()没有什么特别之处

有时用户更愿意报告这些数值而不是布尔值,有时一些更复杂的公式实际上需要数值等价物才能正常工作

这种技术在Excel公式中非常常见

您将看到它经常在数组公式中使用,它可以像这里使用的那样简洁地将整个布尔数组转换为1和0的数组

最开始的等号是所有公式的开始方式

然而,你问题中的公式并不是如何使用这种技术的好例子。如果将IFERROR()设置为返回零长度字符串,则永远不会有理由使用它。从公式中删除IFERROR()函数将使其变直。

ISNUMBER()函数返回的布尔值为
TRUE
FALSE

通常,
--
序列被称为双一元运算符。事实并非如此,因为Excel中没有这样的操作符,但它的作用是相同的

它所做的是将布尔值强制为其等效的数值。在Excel工作表公式中,这表示
1
0

--
序列实际上只是背靠背的两个减号。下面是它的工作原理。如果ISNUMBER()的布尔结果为真,则其第一个负值为值
-1
。第二个负片将其转换为
+1
。当然,如果布尔值为零,那么负的值为零,负的值仍然为零

布尔值可以来自任何地方;ISNUMBER()没有什么特别之处

有时用户更愿意报告这些数值而不是布尔值,有时一些更复杂的公式实际上需要数值等价物才能正常工作

这种技术在Excel公式中非常常见

您将看到它经常在数组公式中使用,它可以像这里使用的那样简洁地将整个布尔数组转换为1和0的数组

最开始的等号是所有公式的开始方式

然而,你问题中的公式并不是如何使用这种技术的好例子。如果将IFERROR()设置为返回零长度字符串,则永远不会有理由使用它。从公式中删除IFERROR()函数将使其变直。

ISNUMBER()函数返回的布尔值为
TRUE
FALSE

通常,
--
序列被称为双一元运算符。事实并非如此,因为Excel中没有这样的操作符,但它的作用是相同的

它所做的是将布尔值强制为其等效的数值。在Excel工作表公式中,这表示
1
0

--
序列实际上只是背靠背的两个减号。下面是它的工作原理。如果ISNUMBER()的布尔结果为真,则其第一个负值为值
-1
。第二个负片将其转换为
+1
。当然,如果布尔值为零,那么负的值为零,负的值仍然为零

布尔值可以来自任何地方;ISNUMBER()没有什么特别之处

有时用户更愿意报告这些数值而不是布尔值,有时一些更复杂的公式实际上需要数值等价物才能正常工作

这种技术在Excel公式中非常常见

您将看到它经常在数组公式中使用,它可以像这里使用的那样简洁地将整个布尔数组转换为1和0的数组

最开始的等号是所有公式的开始方式

然而,你问题中的公式并不是如何使用这种技术的好例子。如果将IFERROR()设置为返回零长度字符串,则永远不会有理由使用它。从公式中删除IFERROR()函数将使其变直。

ISNUMBER()函数返回的布尔值为
TRUE
FALSE

通常,
--
序列被称为双一元运算符。事实并非如此,因为Excel中没有这样的操作符,但它的作用是相同的

它所做的是将布尔值强制为其等效的数值。在Excel工作表公式中,这表示
1
0

--
序列实际上只是背靠背的两个减号。下面是它的工作原理。如果ISNUMBER()的布尔结果为真,则其第一个负值为值
-1
。第二个负片将其转换为
+1
。当然,如果布尔值为零,那么负的值为零,负的值仍然为零

布尔值可以来自任何地方;ISNUMBER()没有什么特别之处

萨梅蒂