我有一些列用于跟踪带有日期的Google表格条目的某些阶段。我想要一个列返回每个条目的最新阶段,最好使用数组公式,因为这是一个不断添加的列表,并将公式复制到新行是一件痛苦的事(这将是一个结束与最终用户合作,因此需要直截了当)。
我尝试使用与this lookup trick结合的数组公式,但我认为将该公式的输入更改为多行范围意味着结果忽略条目所在的行。例如,将查找包装在ARRAYFORMULA中并将其应用于样本会在每一行返回“Stage4”。或者我认为可能有一种方法可以使用QUERY / FILTER来做到这一点,但我无处可去。感谢大家。
编辑:为了澄清,'阶段'不会被编号,但将是文本字段(可能是动态字段,因此我对使用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
)
))
你可以看到我们通过检查一个空的紧接着的非空来确定阶段。因此,没有跳跃阶段规则:-)此外,这需要在最后一个阶段列后的额外空列(在您的示例中,列E
必须为空)。
ps:增加了奖金,这个公式也适用于“无舞台”行;-)