Excel中求数值的各位数值和

网友投稿 420 2022-12-02

在Excel中求数值的各位数值和

如果需要在Excel中求出一个正整数的各位数值之和,如123456,其各位数值之和1+2+3+4+5+6=21,可以用下面的公式,假如数值在A1单元格中:

1.用SUMPRODUCT函数:

在Excel中求数值的各位数值和

=SUMPRODUCT(–MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))

说明:假设A1单元格中为数值123456,该公式先用LEN函数返回数值的长度6,并用INDIRECT函数返回“1:6”的引用“$1:$6”,然后用ROW("1:6")获得数组{1;2;3;4;5;6},这里由于SUMPRODUCT函数的参数为数组,所以可以返回数组,最后用MID函数获取各数位的数值{"1";"2";"3";"4";"5";"6"},并用双重否定符“–”将各数转化为数值并求和。

2.用SUM函数的数组公式:

=SUM(1*MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))

公式输入完毕后按Ctrl+Shift+Enter结束。

3.用自定义函数:

在VBA编辑器中插入“模块”,并输入下面的VBA代码

Function SumDigits(ByVal N As Long) As IntegerDo While N >= 1SumDigits = SumDigits + N Mod 10N = Int(N / 10)LoopEnd Function

然后在单元格中输入

=SumDigits(A1)

由于该代码中定义的变量为Long数据类型,即4 字节的整型值,故其可以计算的最大数值为2147483647。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Excel2003中MATCH函数的用法图解教程
下一篇:在Excel中实现两列比较函数
相关文章