我在 Excel 中有一个名为 TMarks 的表格。
它包含一个名为 AdjustedMark 的列,其中包含 0 到 100 之间的值。
有时此表中的数据可能会被过滤。我想计算大于零的行数AdjustedMark
,忽略隐藏的行。我创建了以下公式:
=AGGREGATE(3, 7, TMarks[AdjustedMark]/(TMarks[AdjustedMark]<>0))
但是,这个公式返回了一个#Value
错误,我不明白为什么。我也尝试过这个作为替代方案:
=AGGREGATE(9, 5, (TMarks[AdjustedMark]>0)*1)
但这也回归#VALUE!
AdjustedMark
表格列中的所有行都是数字。
对于数值小于 14 的类型,AGGREGATE 不允许在第三个标准中使用 ARRAYS。对于 3 和 9,区域必须是范围。
相反使用
COUNT(FILTER())
将
SCAN()
返回一个由 1 和 0 组成的数组。1 表示可见,0 表示隐藏,逐行返回。然后通过将其与对0
值的二次检查相乘,我们得到一个与两者匹配的行数组。然后 Filter 返回这些值并对其进行计数。