任何帮助将不胜感激。我需要CountIf
语句来计算所有等于00:00的数据点。由于其他公式,该列的格式为24小时。 00:00是if语句的产物。我已经尝试了很多选项,但除非我将列重新格式化为通用,否则它不会计算,但这样做会影响我的时间形成,我需要24小时格式。感谢。
Sub Sample()
Dim result As Long, firstrow As Long, lastrow As Long
Dim ws As Worksheet
Dim rng As Range
'~~> Set this to the relevant worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
With ws
'~~> Find Lastrow in Col D
lastrow = .Range("V" & .Rows.Count).End(xlUp).Row
'~~> Set First row
firstrow = 16
'~~> Set your range
Set rng = .Range("V" & firstrow & ":V" & lastrow)
'~~> Put relevant values
.Range("U" & lastrow + 3).Value = "No Slip Time"
.Range("V" & lastrow + 3).Value = _
Application.WorksheetFunction.CountIf(rng, "*00:00")
End With
End Sub
答案 0 :(得分:3)
注意:
日期和时间是一个数字,其中0表示午夜,1表示一天,0.5表示12小时。
根据您的评论,您在第v列=IF((K16="NA"),"00:00",IF(K16<>"na",K16))
中使用了以下公式,请改用它。
=IF(Upper(K16)="NA",0,K16)
如果您在单元格K16中有#N/A
,则需要将上述"NA"
替换为NA()
。
一旦完成,您可以使用countif
,如下所示。
Application.WorksheetFunction.CountIf(rng.value2 , "0")