我有两列数据:
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
原始问题中所示。