我有一个退出表单,我想仅使用公式来找出哪些退出表单。
我的思考过程是找到每个标签的最后一个实例的行号,如果“out”行号高于“in”行号,则设备当前已签出。
Timestamp Student Name Check out Chromebook Check in Chromebook
2/26/2015 10:33:48 Bjorn Spare1-01
2/26/2015 10:33:59 Fred Spare1-02
2/26/2015 10:34:16 Bjorn Spare1-01
2/26/2015 10:34:39 Conor Spare1-03
2/26/2015 11:57:31 Conor Spare1-01
2/26/2015 11:57:49 Fred Spare1-02
2/26/2015 11:57:59 Bjorn Spare1-02
我可以使用以下方法找到所有已检出的备件:=sort(UNIQUE(C2:C))
我已经能够找到每个使用的最后一个实例的行号:(=max(filter(row(C:C),C:C=F2))
我的排序唯一函数在 F 列中)。
我想让我的最后一行公式与数组公式一起使用,这样我就不必依赖手动向下拖动公式。
例如,我希望这样做: =arrayformula(max(filter(row(C:C),C:C=F:F)))
注意添加 arrayformula 以及从 F:2 到 F:F 的更改。
我不太清楚为什么,但我得到了 1000 的结果。
编辑:我的预期输出将是“最后结帐行”。
Out Unique Last checkout row
Spare1-01 6
Spare1-02 8
Spare1-03 5
如果我能弄清楚将它添加到数组公式中,我还想找到一种方法来进行排序(独特的函数,这样它就变成了一个公式,我在列号中输入它并吐出最后的行号每个唯一术语)。
这是我正在使用的文档的链接:https ://docs.google.com/spreadsheets/d/1jC0RPxUZSt7BCHRQI5vBXvoANbQlu9CjDNr2VV-MOOI/edit?usp=sharing
编辑(使用的最终公式)(我非常感谢@JVP 提供的帮助):
=ArrayFormula( if(vlookup(unique(filter(C2:C, len(C2:C))), sort({C2:C, A2:B, row(A2:A)},4,0), 4, 0) > iferror(vlookup(unique(filter(C2:C, len(C2:C))), sort({D2:D, A2:B, row(A2:A)},4,0),4,0),0), vlookup(unique(filter(C2:C, len(C2:C))), sort({C2:C, A2:C, row(A2:A)},5,0), {2,4,3}, 0), ))