如何根据变量日期返回范围中的最大值?
以下是一组示例数据:
ID Date Value
A001 06-Jan 0.90
A001 13-Jan 0.95
A002 23-Jun 1.00
B001 02-Jun 0.90
C001 23-Jun 1.00
如果用户想知道A001的2月10日最新值是多少,则返回的值为0.95。
如果用户想知道截至6月30日C001的最新值是多少,则会返回1.00。
我的尝试:
=INDEX(MAX(Entry[Value]),MATCH(UserSelectedDate,Entry[Date],1)))
答案 0 :(得分:0)
因此,假设Entry [Value]和Entry [Date]为有效范围,而UserSelectedDate为有效的命名单元格。你的公式正在抛出#REF!错误,因为MAX返回单个值。因此,当单个值用作索引函数中的查找范围时,任何返回大于1的MATCH函数都将是大于查找范围大小的索引。如果我们讨论过你要做的就是获取与用户选择日期之前的最后日期相关的值,请使用:
=INDEX(Entry[Value],MATCH(UserSelectedDate,Entry[Date],1)))
另一方面,如果您真的需要在所述日期之前获得所有值的最大值,那么您会想要这样的效果:
=MAX(INDIRECT("$G2:$G"&(MATCH(UserSelectedDate,$F$2:$F$5,1)+1)))
答案 1 :(得分:0)
以下数组公式适用于在多个/可变条件下返回MAX / LARGE值:
对于应从日期子集返回最大值的示例:
={ MAX( Table[Values] * (VariableDate >= Table[Dates]) * (Table[Criteria1Range]=[Criteria1]))}
公式结构:
最大值(值*布尔值1 *布尔值2 * ... *布尔值N)