excel数据透视表怎么处理公式中的布尔值?在我们编写公式时,特别是编写数组公式时,往往会生成由TRUE/FALSE值组成的中间数组。有些Excel函数可以忽略这些布尔值,例如SUM函数,但是很多函数不能处理这些布尔值,如果将它们传递给这些函数,就会导致错误。因此,在将这些布尔值传递给函数继续处理时,需要将它们转换成数字。

在Excel中,TRUE值等于1,FALSE值等于0,那么如何将TRUE/FALSE值转换成1/0呢?最常用的方法是使用数学运算。

常使用下列三种数学运算将TRUE和FALSE转换为等效的数字:

1. 与1相乘:

{TRUE,FASLE}*1={1,0}

2. 与0相加:

{TRUE,FALSE}+0={1,0}

3. 使用双减号:

–{TRUE,FALSE}=(-1)*(-1)*{TRUE,FALSE}=1*{TRUE,FALSE}={1,0}

例如,在《Excel公式练习63:求数值中的各个数字之和》中,我们可以使用下面的公式:

=SUMPRODUCT((MID(B3,ROW(OFFSET($A$1,,,LEN(B3))),1)*1))

=SUMPRODUCT(MID(B3,ROW(OFFSET($A$1,,,LEN(B3))),1)+0)

=SUMPRODUCT(–(MID(B3,ROW(OFFSET($A$1,,,LEN(B3))),1)))

都返回相同的结果。

有时候,公式本身就会与生成的数字相乘,这样也会将TRUE/FALSE进行相应的数字转换。至于如何使用,具体情况灵活使用相应的方法。

发表回复