我有兩列數據:
Member Time
A 09/24/2015 09:48:36
A 09/24/2015 09:47:40
A 09/24/2015 10:11:06
A 09/24/2015 10:08:47
B 09/24/2015 10:28:45
B 09/24/2015 10:29:49
B 09/24/2015 10:30:12
B 09/24/2015 10:30:46
A 09/24/2015 10:33:59
A 09/24/2015 10:31:27
假設該數據從 開始A1
到B11
我有一個公式可以在列值按升序排序後減去連續時間值:
=(TIMEVALUE(RIGHT(B2, 8))-TIMEVALUE(RIGHT(B1, 8)))*24*60*60
這個公式可以很好地讓我在幾秒鐘內得到差異。但是,如果我過濾以僅獲取成員 A 的差異,則該公式也會考慮隱藏行,因此會給出錯誤的輸出。
僅將此公式應用於可見行的最佳方法是什麼?
根據另一個網站提供的答案,我嘗試編寫一個函數,如下所示-
我是 VBA 新手,所以無法為其編寫程式碼。
Function MyDiff (MyRange As Range) As Integer
Dim c As Range
For Each c In MyRange
If (c.Value = 1) And (c.EntireRow.Hidden = False) Then
Worksheets("Sheet1").Range("B2").value - Range("B1").value,
End If
Next c
End Function
這是計算前兩個單元格的差異,但我無法獲取整個列的差異。出於演示目的,我只是按原樣使用了單元B1
格B2
。對於我提供的範例數據,必須減去兩個值,如Timevalue
原始問題所示。