Return 列 header 作为数组公式的 Google 工作表中的最后日期

Return column header for last date in Google Sheets as an array formula

我有许多列用于跟踪 Google 表格条目的某些阶段和日期。我想要一个 returns 每个条目的最新阶段的列,最好使用数组公式,因为这是一个不断 added-to 的列表,将公式复制到新行很痛苦(这将以 end-user 结束,因此需要直截了当。

这是我想要的样本input/output。

我尝试将数组公式与 this lookup trick 结合使用,但我认为将该公式的输入更改为 multi-row 范围意味着结果会忽略条目所在的行。例如,将查找包装在 ARRAYFORMULA 中并将其应用于每一行的示例 returns "Stage4"。或者我认为可能有一种方法可以使用 QUERY/FILTER 来做到这一点,但我无处可去。谢谢大家。

编辑:为了澄清,'Stages' 不会被编号,而是文本字段(可能是动态的,因此我不愿使用 HLOOKUP)。

假设 "Stage1" 在单元格 A2 中并且您可以 跳跃阶段。您可以在 F3 上使用此公式自动填充您的输出:

=ArrayFormula(transpose(
    split(
      concatenate(
        if((A3:D<>"")*(B3:E=""),A2:D2,"")&
        if(column(A2:D2)=column(D2),char(9),"")
      )
      ,char(9),true,false
    )
 ))

您可以看到我们通过检查 not empty 紧跟 empty 来确定阶段。因此 无跳跃阶段 规则 :-) 此外,这需要在最后一个阶段列之后有一个额外的空列(在您的示例中,列 E 必须为空 )。

ps:额外奖励,此公式也适用于 "no stage" 行 ;-)