1

У меня есть два столбца данных:

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 как показано в исходном вопросе.

0