Max If具有多个条件的数组公式(无数据透视表)

时间:2017-04-20 17:46:01

标签: arrays excel-formula

我试图返回MAX日期[G-Step Complete]
对于具有相同值[CONCAT]的一系列行,
如果日期列[G-Step Complete] 包含BLANK。
但是,如果日期列[G-Step Complete] 包含BLANK,则返回0

这是我正在使用的数组公式:

=MAX(IF([CONCAT]=[@CONCAT],IF(ISBLANK([G-Step Complete]),0,[G-Step Complete])))

[CONCAT]列进行排序,以便将相同的项目组合在一起。

我的期望是,对于给定的一组CONCAT值,IF 任何行是空白的,那么我预计结果为0.如果没有行包含BLANK,那么我希望该值为返回MAX日期。

1 个答案:

答案 0 :(得分:0)

使用TB作为表的名称,这应该在Excel 2007(及以上)语法中执行:

=IF(SUMPRODUCT(([CONCAT]=TB[[#This Row],[CONCAT]])*ISBLANK([G-Step Complete])),0,
   LARGE([G-Step Complete]*(([CONCAT] = TB[[#This Row],[CONCAT]])), 1))
使用Excel 2010及以上版本中的@运算符可以缩短

=IF(SUMPRODUCT(([CONCAT]=[@CONCAT])*ISBLANK([G-Step Complete])),0,
   LARGE([G-Step Complete]*(([CONCAT]=[@CONCAT])), 1))