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进行相应的数字转换。至于如何使用,具体情况灵活使用相应的方法。