Excel T.TEST 常规公式 returns 结果与数组公式不同
Excel T.TEST regular formula returns different result than array formula
可以看出,尽管作为计算输入提供的单元格相同,但结果不同。
=T.TEST(B1:B4,B5:B8,2,2)
{=T.TEST(IF($A:$A="a",B:B,""),IF($A:$A="b",B:B,""),2,2)}
这似乎是数组公式中的错误,因为空白单元格的处理方式不同:
- 如果
T.TEST
是非数组公式,则省略空白单元格;
- 如果
T.TEST
在数组公式中,则它不会省略它们,而是将空白单元格视为零。
如果需要数组公式,则需要明确检查空白单元格,可以这样做:
{=T.TEST(IF(($A:$A="a")*(B:B<>""),B:B,""),IF(($A:$A="b")*(B:B<>""),B:B,""),2,2)}
在Excel中不能使用数组公式AND
,所以我们写($A:$A="a")*(B:B<>"")
而不是AND($A:$A="a",B:B<>"")
。
可以看出,尽管作为计算输入提供的单元格相同,但结果不同。
=T.TEST(B1:B4,B5:B8,2,2)
{=T.TEST(IF($A:$A="a",B:B,""),IF($A:$A="b",B:B,""),2,2)}
这似乎是数组公式中的错误,因为空白单元格的处理方式不同:
- 如果
T.TEST
是非数组公式,则省略空白单元格; - 如果
T.TEST
在数组公式中,则它不会省略它们,而是将空白单元格视为零。
如果需要数组公式,则需要明确检查空白单元格,可以这样做:
{=T.TEST(IF(($A:$A="a")*(B:B<>""),B:B,""),IF(($A:$A="b")*(B:B<>""),B:B,""),2,2)}
在Excel中不能使用数组公式AND
,所以我们写($A:$A="a")*(B:B<>"")
而不是AND($A:$A="a",B:B<>"")
。