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