Excel 按日期和时间检索值的最新状态

Excel 按日期和时间检索值的最新状态,excel,datetime,Excel,Datetime,在我的excel工作表“Progress Status”中,我有两列,第一列包含在我的周期中包含的所有测试用例的列表,第二列我想从另一个名为“all run TestCases”的工作表中获取测试用例的最新状态 我尝试使用一些excel函数来获取最新的日期和时间,以便获取测试用例的最新状态,但我没有成功,因为我对它们没有深入的了解,请有人帮我解决这个问题。好的,这是答案。确保executionDate和executionTime列分别采用日期和时间格式。使用以下函数=B3+C3创建一个新列作为F

在我的excel工作表“Progress Status”中,我有两列,第一列包含在我的周期中包含的所有测试用例的列表,第二列我想从另一个名为“all run TestCases”的工作表中获取测试用例的最新状态


我尝试使用一些excel函数来获取最新的日期和时间,以便获取测试用例的最新状态,但我没有成功,因为我对它们没有深入的了解,请有人帮我解决这个问题。

好的,这是答案。确保executionDate和executionTime列分别采用日期和时间格式。使用以下函数
=B3+C3
创建一个新列作为
FinalTime
。剩下的就用这个
然后可以使用以下宏。如果单击了
OLEDB连接
,您可能需要在VBA屏幕中检查
Tools>preferences

我假定您的工作表名称为
TestCases
ProgressStatus
。而
测试用例名称
的标题更改为
测试
。您可以在工作表或宏中更改它们

Sub makro()

Dim deneme As String
Dim queryStr As String
Dim con As Object, rs As Object, sorgu$, a$
    Set con = CreateObject("adodb.connection")
    Set rs = CreateObject("adodb.recordset")
    con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
    ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=yes"""

queryStr = "Select u.[Test]" & _
      ",u.[Status] " & _
    "From [TestCases$] As u " & _
    "Inner Join ( " & _
    "Select [Test] " & _
          ",max(FinalTime)  as [LastDate] " & _
        "From [TestCases$] " & _
        "Group By [Test]) As [q] " & _
"On u.Test = q.Test " & _
" And u.FinalTime = q.LastDate"

    Set rs = con.Execute(queryStr)
    Sheets("ProgressStatus").Range("A2").CopyFromRecordset rs

    Set rs = Nothing
    Set con = Nothing

End Sub
下面是我编写的测试用例和ProgressStatus以及结果表。

欢迎来到SO!请包括您迄今为止尝试过的内容,虽然在它周围有背虱,但在这种情况下应该可以。我怀疑索引(MATCH())和添加另一列的组合会简化您的问题,或者使用重数组公式可能会满足您的需要。您好,我在工作表“进度状态”中的“最后状态”列中使用了此代码=IF(MAX(IF(IF(Progress Status!F3=所有运行测试用例!$a$2:$a$10;$B$2:$B$10));所有运行测试用例!$D$3:$D$10;“”)如果你把日期和时间合并在一列中,会容易得多。不幸的是,这是不可能的。当我生成所有运行测试用例的列表时,我会在它们自己的列中获得日期和时间。我试图更改sql查询以连接这两个查询,但没有成功:(您可以对它们求和。
=B3+C3
。这对我很有效。您好,我宁愿尝试使用excelfunktion找到解决方案,但无论如何都要感谢