我想要做的是从某一行中获取最近的日期,同时其下方的单元格的值为 1。
我尝试使用 MAX 和 hLOOKUP,但都不能满足我的需要。
单元格 A3 至 G3 包含日期。单元格 A4 至 G4 包含 1 或 0。单元格 A5 希望返回范围 (A3:G3) 中单元格的最大值,而包含最大值的单元格下方的单元格=1
答案1
有一个很好的解决方案,使用数组公式。
=MAX(如果(1=$A$4:$G$4, $A$3:$G$3, 0))
怎么运行的:条件语句创建了一个数组 {日期或者0,...} 取决于 A4:G4 范围内是否有 1。如果存在,则其上方的值 (日期值) 添加到数组中,否则0已添加。max 函数返回数组中的最高值。
笔记:
1.必须输入公式,然后按 CTRL-SHIFT-ENTER 而不是按 ENTER 来指定它是一个数组公式。您将知道您是否正确执行了此操作,因为公式将在两端显示花括号 { }。这些可以不是手动输入。
2.确保所有日期单元格的格式为日期类型。这包括您放置公式的单元格 :)
3.如果没有任何日期下方有 1,则可能存在错误。max 函数将查找最大值 (0) 并将其显示为日期,例如 1/0/1900。
答案2
这是另一个数组公式解决方案,其工作原理与 Brian Folan 的解决方案相同。
=MAX(A3:G3*A4:G4)
输入Ctrl+ Shift+ Enter。这将返回第 4 行中最大日期的日期值,其下方带有 1。
如果您想以日期格式返回值,您可以将其包装在函数中TEXT
并在第二个参数中指定格式。
=TEXT(MAX(A3:G3*A4:G4),"mm/dd/yyyy")
这也必须用Ctrl++输入Shift。Enter