У меня есть два столбца данных:
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
как показано в исходном вопросе.