我想比较以下间隔的一天:
表格(“DATA”) . 范围(“H:H”) . NumberFormat =“mm / dd / yyyy hh:mm am / pm”
我发现自己是这个IF功能的解决方案,包含在许多其他IF中
If Sheets("Data").Range("i" & i).Value <> "N/A" And Sheets("Data").Range("K" & i).Value <> "N/A" Then
If Day(Sheets("Data").Range("i" & i)) = Day(Sheets("DATA").Range("K" & i)) Then
Sheets("Data").Range("S" & i).Value = "Equals"
ElseIf Day(Sheets("Data").Range("i" & i)) > Day(Sheets("DATA").Range("K" & i)) Then
Sheets("Data").Range("S" & i).Value = "Later"
Else: Sheets("Data").Range("S" & i).Value = "Earlier"
End If
Else: Sheets("Data").Range("S" & i).Value = "N/A"
End If
这似乎可以解决问题 - 仅比较所有日期间隔的日期,并在S列中写入是同一天,更晚或更早,或“不可用” .
但是,如果一个或另一个日期在另一个月内(因为2012 - 2013年的数据量超过50万行),这并不起作用
我怎样才能比较这种格式“mm / dd / yyyy hh:mm am / pm”的年/月/日期 - 删除原始行的小时和分钟(创建没有小时/分钟的新行也不是一个选项)
谢谢!
1 回答
使用
Value2
属性比较单元格的值 .Value2
属性返回单元格的未格式化值 . 存储的日期/时间值的每个整数表示一天,所以我使用Int()
方法截断存储的值,因此我们只按日期比较,而不是分钟或秒 .