您一定已经在一些高级公式中看到了这些奇怪的-(双负号)符号。如果您尝试从公式中删除它们,则该公式将停止工作。您一定想知道这些双减号在excel公式中到底在做什么?

双负数(-)将布尔值转换为二进制值。

这些双负号(-)用于将TRUE和FALSE值转换为1和0。通常与数组函数和Excel公式一起使用。让我们来看一个例子。

Excel –双重负示例

imageHere I have some numbers. I want to count the numbers that are less than 50.

我知道可以使用COUNTIF函数轻松完成此操作,但是由于我们想了解excel公式中的双减号,因此我们将使用`link:/ summing-excel-sumproduct-function [SUMPRODUCT function]`来执行此操作。

首先在C2中编写此公式。

=A2:A11<50

image

如果您按回车,它将显示FALSE。但实际上,它返回的是TRUE和FALSE数组。您可以通过在编辑模式中选择公式的一部分,然后按F9键来检查它。\ {FALSE; TRUE; TRUE; TRUE; TRUE; FALSE; TRUE; FALSE; TRUE; TRUE}。对于范围A2:A11中每个小于50的值,为TRUE。

image

要将这些布尔值转换为1和0,请在此语句之前加上-号。

=–(A2:A11<50)

当您按下Enter键时,它将显示0。由于第一个值不少于50。但是,当您使用调试键F9时,将看到一个1和0的数组。\ {0; 1; 1; 1; 1; 0; 1; 0; 1; 1}。每个TRUE值1。

现在,如果将这个数组加起来,将得到小于50的值的数量。为此,让我们将此公式包装到SUMPRODUCT函数中。

该公式将总结内部语句返回的数组。

=SUMPRODUCT(–(A2:A11<50))

我们得到答案7。

image

尝试从公式

中删除-现在,如果从此公式中删除-并使其=link:/ summing-excel-sumproduct-function [SUMPRODUCT]((A2:A11 <50)),它将返回0。因为数组由A2:A11返回<50 *包含布尔值,并且SUMPRODUCT函数不能对布尔值求和。

为什么-仅双减号?不必仅使用双负数将布尔值转换为二进制值。

您可以在布尔值上加0,再乘以1,或使用“ link:/ logical-formulas-how-to-use-n-excel-excel [N function]”中的方法来做同样的事情。

以上所有公式均可以完成任务。

=SUMPRODUCT((A2:A11<50)+0)

=SUMPRODUCT((A2:A11<50)1)*

=SUMPRODUCT(N(A2:A11<50))

我用一个简单的场景来解释用法-登录excel公式。

该任务不需要它,但是在某些情况下,您需要将布尔值转换为二进制值。以下是一些示例。

相关文章:双负

的使用示例`link:/ counting-count-total-matches在两个范围内的Excel [在Excel中计算两个范围内的总匹配项]“ | SUMPRODUCT函数和双符号可以轻松计算两个范围内的匹配值。

link:/ summing-2-ways-to-to-sum-to-month-in-excel [2种在Excel中按月求和的方法]|借助帮助减号,我们可以从日期开始按月对值求和。我们不需要从日期中提取月份名称。

检查字符串是否包含多个文本之一借助双重否定,我们可以检查字符串是否包含给定列表中的任何文本。

热门文章:

`link:/ tips-excel-wildcards [Excel中的通配符] ||通配符是和?在Excel中。这些用于与文本相关的公式,其中不能保证完全匹配。

50 Excel快捷方式以提高生产率更快地完成任务。这50个快捷键将使您在Excel上的工作速度更快。

Excel中的VLOOKUP函数 |这是excel中最常用和最受欢迎的功能之一,用于从不同范围和工作表中查找值。链接:/ tips-countif-in-microsoft-excel [在Excel 2016中为COUNTIF]使用此惊人的功能对条件进行计数。您无需过滤数据即可计算特定值。

Countif功能对于准备仪表板至关重要。

链接:/ excel-formula-and-function-excel-sumif-function [如何在Excel中使用SUMIF函数]这是仪表板的另一个重要功能。这可以帮助您汇总特定条件下的值。