我有一张Google表格,用于为我开发的应用程序运行测试。 电子表格有两张,第一张(“运行”表)我把日期(DD / MM / YYYY格式),测试ID和测试结果:
---------------------------------|
|Date | test id | Result
|--------------------------------|
|12/10/2014 | 1 | Passed |
|12/10/2014 | 2 | Passed |
|12/10/2014 | 3 | Passed |
|03/11/2014 | 4 | Passed |
|05/11/2014 | 1 | Failed |
----------------------------------
在第二张纸上,我希望得到所有测试的列表,以及它们最后一次执行的时间,以及它们的结果。这是“测试”表中的预期输出:
-----------------------------------|
|test id | Last run | Result
|----------------------------------|
|1 | 05/11/2014 | Failed |
|2 | 12/10/2014 | Passed |
|3 | 12/10/2014 | Passed |
|4 | 03/11/2014 | Passed |
|5 | | |
------------------------------------
我的问题是我不知道如何进行测试的“最后一次运行”。 我使用了以下公式:
=IF(ISNA(INDEX(Runs!A$3:A$9992, MATCH(A5, Runs!B$3:B$9992, 0))), "", INDEX(Runs!A$3:A$9992, MATCH(A5, Runs!B$3:B$9992, 0)))
但是这只返回测试ID的first match
,而不是last one
。所以,这是我目前在“测试”表中看到的输出:
-----------------------------------|
|test id | Last run | Result
|----------------------------------|
|1 | 12/10/2014 | Passed |
|2 | 12/10/2014 | Passed |
|3 | 12/10/2014 | Passed |
|4 | 03/11/2014 | Passed |
|5 | | |
------------------------------------
有人可以帮我改变公式,让它返回最后一场比赛,比如期望的输出吗?
答案 0 :(得分:5)
'Test'!B1
:=max(filter(Runs!A:A,Runs!B:B=A1))
- 找出给定测试ID的最后日期(单元格A1)
'Test'!C1
:=filter(Runs!C:C,Runs!B:B=A1,Runs!A:A=B1)
- 在该日期找出与该测试相对应的结果。
复制其余测试