如何确保我编写的计算时间值差异的公式仅适用于过滤后的值?

如何确保我编写的计算时间值差异的公式仅适用于过滤后的值?

我有两列数据:

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原始问题中所示。

相关内容