Excel中使用数组公式的条件最大值 – 如何忽略空白行
关于在Excel中执行条件MIN和MAX的问题,有很多关于堆栈溢出的问题,比如Excel:在列中查找列中的最小值/最大值
但是,我不认为以下的问题。
通常情况下,MIN和MAX函数将忽略空白行,但是如果与条件数组公式一起使用,那么它们将不会被忽略。
例如
如果我input数组formula =MAX(IF(A1:A8="A",B1:B8))
那么我得到零,当我真的想看到-1,因为所有非空白的“A”行,最大值是-1。
我认为下面的数组公式会起作用=MAX(IF(AND(A1:A8="A",B1:B8<>""),B1:B8))
但总是返回零
你差不多了! 然而,在一个数组公式中,你不能简单地复制一个“AND”结构,本质上,因为AND函数的返回总是一个单一的值,而不是一个数组。
因此,你的尝试:
=MAX(IF(AND(A1:A8="A",B1:B8<>""),B1:B8))
最初会正确parsing为(使用您发布的值):
=MAX(IF(AND({TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE},{TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE}),B1:B8))
虽然AND函数然后会查看这两个布尔TRUE / FALSE数组返回并返回单个值,即FALSE(因为在这16个条目中至less有一个为FALSE)。
正确的语法是:
=MAX(IF(A1:A8="A",IF(B1:B8<>"",B1:B8)))
问候
你可以在if中testing空白,如果find则replace适当的值。
数组公式=MAX(IF(A1:A8="a",IF(ISBLANK(B1:B8),-999,B1:B8)))
将用值-999代替空白单元格,最大 – 根据你的数字得到多less来改变-999