繁体   English   中英

如何在Excel中连续计数单元格,但仅对相邻单元格计数一次

[英]How can I count cells in a row but only count adjacent cells once in Excel

嗨,我有一个具有以下结构的电子表格:-

电子表格示例

我需要帮助来找出公式或VBA函数,以计算“活动阻止计数”列。

这是日期列中非空白连续单元格的计数。 例如,项目5有4周的活动,但只有3个连续的活动块。

任何想法热烈欢迎;-)。 我在周末工作,这让我发疯了!

谢谢

乔纳森

只需遍历范围内的单元格,注意单元格是否已填充的变化。

Function countActivityBlock(rng As Range) As Long

    Dim r As Range, bNum As Boolean

    If Not IsEmpty(rng.Cells(1)) Then
        bNum = True
        countActivityBlock = 1
    End If

    For Each r In rng
        If Not IsEmpty(r) And Not bNum Then
            bNum = Not bNum
            countActivityBlock = countActivityBlock + 1
        ElseIf IsEmpty(r) And bNum Then
            bNum = Not bNum
        End If
    Next r

End Function

在此处输入图片说明


SpecialCells(xlCelltypeConstants,xlNumbers)在UDF中不起作用。

这样做的公式方式是使用FREQUENCY,如下所示

=SUM(--(FREQUENCY(IF(D2:P2<>"",COLUMN(D2:P2)),IF(D2:P2="",COLUMN(D2:P2)))>0))

必须使用Ctrl Shift 输入作为数组公式

这个这个

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM