夜雨聆风学习资料网

ARTICLE · 996733

Excel/WPS自定义函数【CountAdd】一键统计公式中所有加数个数

Excel/WPS自定义函数【CountAdd】一键统计公式中所有加数个数
工作中是否遇到这样的场景:每个合同都有多次付款,需要统计每个合同支付了多少次款。而你的表格里全是多项累加公式,例如:"=125+986+590+539+658+321"。如何快速计算出结果有多少个加数求和得到。
今天分享一个VBA自定义函数CountAdd,快速计算出这条公式一共加了几个数。
一、函数核心功能详解

✅ 统计多项累加公式中加数的数量

✅ 只识别加号,自动忽略减号、乘除号、括号

✅ 多层嵌套括号公式精准计数

二、函数语法与参数说明
函数语法:
=CountAdd(单元格)

参数说明:

参数
含义
是否可选
参数1:单元格
需要统计的单元格
必填

三、实操案例

单元格公式内容

CountAdd 返回结果

说明

空白单元格

0

空值不报错、不返回1

=123

1

单个数字,1个加数

=125+986+569+564

4

常规多数字求和

=(10+20)+30+40

4

包含括号内加数,全覆盖统计

=(5+8+(2+3))

4

多层嵌套括号,精准计数

=100+200-50

2

自动忽略减法,只统计加数

四、VBA代码

Function CountAdd(单元格 As Range) As Long    Dim f As String    Dim cnt As Long    Dim i As Long    f = mid(单元格.Formula, 2)    '空单元格直接返回0    If Trim(f) = "" Then        CountAdd = 0        Exit Function    End If    cnt = 1    For i = 1 To Len(f)        If mid(f, i, 1) = "+" Then            cnt = cnt + 1        End If    Next i    CountAdd = cntEnd Function

五、使用方法

  1. 打开 Excel,按 Alt+F11 打开 VBA 编辑器;
  2. 右键工作表→插入→模块;
  3. 复制本文的 VBA 函数代码,粘贴到模块中;
  1. 关闭 VBA 编辑器,返回表格即可直接使用公式!

往期推荐:

VBA自定义函数【SLookup超级查找】,支持返回第一个/最后一个/全部/指定顺序

VBA自定义函数人民币大小写一键互转,告别手动录入!

Excel 自定义函数GetKeyword按关键字截取固定长度文本,支持去重溢出

相关学习资料