Excel T.TEST常规公式返回的结果与数组公式不同

时间:2018-12-16 23:00:55

标签: excel excel-formula worksheet-function array-formulas

可以看出,尽管提供作为计算输入的像元是相同的,结果却有所不同。

T.TEST non-array formula vs. array formula

=T.TEST(B1:B4,B5:B8,2,2)
{=T.TEST(IF($A$1:$A$8="a",B$1:B$8,""),IF($A$1:$A$8="b",B$1:B$8,""),2,2)}

1 个答案:

答案 0 :(得分:0)

这似乎是数组公式中的错误,因为空白单元格的处理方式有所不同:

  • 如果T.TEST是一个非数组公式,则省略空白单元格;
  • 如果T.TEST在数组公式内,则它不会忽略它们,而是将空白单元格视为零。

T.TEST results with and without zeros

如果需要数组公式,则需要显式检查空白单元格,可以这样做:

working T.TEST array formula

{=T.TEST(IF(($A$1:$A$8="a")*(B$1:B$8<>""),B$1:B$8,""),IF(($A$1:$A$8="b")*(B$1:B$8<>""),B$1:B$8,""),2,2)}

在Excel数组公式中无法使用AND,因此我们写成AND($A$1:$A$8="a",B$1:B$8<>"")而不是($A$1:$A$8="a")*(B$1:B$8<>"")