如何確保我編寫的用於計算時間值之間差異的公式僅適用於過濾後的值?

如何確保我編寫的用於計算時間值之間差異的公式僅適用於過濾後的值?

我有兩列數據:

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

假設該數據從 開始A1B11

我有一個公式可以在列值按升序排序後減去連續時間值:

=(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

這是計算前兩個單元格的差異,但我無法獲取整個列的差異。出於演示目的,我只是按原樣使用了單元B1B2。對於我提供的範例數據,必須減去兩個值,如Timevalue原始問題所示。

相關內容