【问题标题】:Retrieve the latest status of a value by date and time按日期和时间检索值的最新状态
【发布时间】:2016-12-29 06:12:19
【问题描述】:

在我的 Excel 表“进度状态”中,我有 2 列,第一列包含在我的周期中包含的所有测试用例的列表,在第二列中,我想从中获取测试用例的最新状态另一张名为“所有运行测试用例”的工作表。

我尝试使用一些excel函数来获取最新的日期和时间,以便我可以获得测试用例的最新状态,但我没有成功,因为我对它们没有深入的了解,有人可以帮忙吗我有这个。The picture shows how my two sheet look like.

【问题讨论】:

  • 欢迎来到 SO!请包括您迄今为止尝试过的内容。 Here's some help formatting any code blocks,尽管在这种情况下用反引号包围它应该没问题。我怀疑 INDEX(MATCH()) 和添加另一列的某种组合会简化您的问题,或者使用繁重的数组公式可能会满足您的需求。
  • 嗨,我在工作表“进度状态”的“最后状态”列中使用了此代码 =IF(MAX(IF( Progress Status!F3=All run TestCases!$A$2:$A$10; $B$2:$B$10));全部运行测试用例!$D$3:$D$10;"")
  • 如果你只是将日期和时间组合在一列会容易得多。
  • 不幸的是,这是不可能的。当我生成所有运行测试用例的列表时,我会在它们自己的列中获得日期和时间。我尝试更改 sql 查询以连接它们,但它没有工作:(
  • 你可以把它们相加。 =B3+C3。它对我有用。

标签: excel datetime


【解决方案1】:

好的,这就是答案。确保 executionDate 和 executionTime 列分别采用 Date 和 Time 格式。使用以下函数=B3+C3 创建一个新列作为FinalTime。将此应用于其余部分。
然后您可以使用以下宏。如果单击 OLEDB connection,您可能需要在 VBA 屏幕中检查 Tools > preferences
我假设您的工作表名称为 TestCasesProgressStatus。并且Test case name 的标头更改为Test。您可以在工作表或宏中更改它们。

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

这是我处理的 TestCases 和 ProgressStatus 以及结果表。

【讨论】:

  • 您好,我宁愿尝试使用 excelfunktion 找到解决方案,但无论如何感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-09
  • 2021-11-19
  • 1970-01-01
  • 2012-09-26
  • 2020-11-09
  • 2013-08-01
  • 1970-01-01
相关资源
最近更新 更多