Exceldate/时间查找错误

我有两列15分钟的date/时间间隔数据。 一个是24小时制,另一个是12小时制。 这些来自两个不同的来源, 重新格式化源数据不是一个选项 。 所有这些间隔显示为完全匹配(即使作为值),但是当我使用查找公式(INDEX / MATCH&VLOOKUP)甚至VBA时,每三个区间的匹配不被识别。 我附上了公式以及我的代码下面的示例图片。 提前致谢!

例

公式视图的示例

Sub MatchTest() Dim i As Integer For i = 2 To 22 If CDate(Cells(i, 1).Value) = CDate(Cells(i, 3).Value) Then Cells(i, 8) = Cells(i, 2) ActiveCell.Offset(1, 0).Select Else: Cells(i, 8) = "NA" ActiveCell.Offset(1, 0).Select End If Next i End Sub 

可以使用可以使用的Timevalue和Datevalue来代替Cdate。 TIMEVALUE函数返回一个时间序列号。 DATEVALUE函数将存储为文本的date转换为Excel识别为date的序列号。

例如08/12/2008 20:00:00和08/12/2008 08:00 PM的时间值是0.833333333335759

同一date的不同格式的date值也会产生相同的结果

 TIMEVALUE(TEXT(yourdate, "DD/MM/YYYY HH:MM:SS")) TIMEVALUE(TEXT(yourdate, "DD/MM/YYYY HH:MM AM/PM")) DATEVALUE(TEXT(yourdate, "DD MMMM YYYY")) 

嘿,所有的感谢您的答案。 所有这三种方法都有效。

  If TimeValue(Cells(i, 1).Value) = TimeValue(Cells(i, 3).Value) Then If DateValue(Cells(i, 1).Value) = DateValue(Cells(i, 3).Value) Then If Abs(CDate(Cells(i, 1).Value) - CDate(Cells(i, 3).Value)) < 0.000001 Then