我想计算公式中包含的单元格数量

我想计算公式中包含的单元格数量

我一直在寻找这个答案,我确信它非常简单,但我却在任何地方都找不到它。

我有一个非常简单但很长的公式 =SUM(H2:H5,H7,H22:H23,H28:H30,H33,H41,H43:H46.....etc),在下一个单元格中,我希望它显示此总和中存在多少个单元格,而不必手动计算每个单元格的每个实例。谢谢

答案1

创建一个新列,标记H要包含在 SUM 中的行:

                        使用 SUMPRODUCT 和 COUNT 的电子表格

这可能使维护行选择变得更容易。例如,如果它基于其他数据(例如,对落后于计划的项目的预算进行求和),列I可以是一个公式。此外,这将允许您有条件地格式化列H以指示哪些单元格包含在总和中。(如果列由计算结果为或 的I公式填充,而不是 (空白) 或,则中的公式应从 更改为。)011K1=COUNT(I:I)=SUM(I:I)

答案2

以下用户定义函数 COUNTSUMCELLS() 将返回求和公式中使用的单元格数量。用法很简单 - 如果单元格 A1 包含求和公式,则 COUNTSUMCELLS(A1) 将返回公式中使用的单元格数量。

Function CountSumCells(sumCell As Range) As Long

  ' Returns a count of the cells used in a sum formula. If there is a
  ' circular reference, returns #VALUE!.

  Dim sFormula As String

  sFormula = sumCell.formula
  sFormula = Mid(sFormula, 6, Len(sFormula) - 6)

  If Not (Intersect(Application.Caller, Range(sFormula)) Is Nothing) Then
    CountSumCells = CVErr(xlErrValue)
  End If

  CountSumCells = Range(sFormula).count

End Function

相关内容