如果需要在Excel中求出一个正整数的各位数值之和 , 如123456 , 其各位数值之和1+2+3+4+5+6=21 , 可以用下面的公式 , 假如数值在A1单元格中:
1.用SUMPRODUCT函数:
=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 Integer
Do While N >= 1
SumDigits = SumDigits + N Mod 10
N = Int(N / 10)
Loop
End Function
然后在单元格中输入
=SumDigits(A1)
【在Excel中求数值的各位数值和】由于该代码中定义的变量为Long数据类型 , 即4 字节的整型值 , 故其可以计算的最大数值为2147483647 。
推荐阅读
- 在Excel中实现两列比较函数
- Excel2003中MATCH函数的用法图解教程
- excel中怎么用公式判断质数和合数
- Excel公式返回的各种错误简介
- 利用Excel的HEX2BIN函数将十六进制转化为二进制
- 怎么在Excel中进行中国式排名
- excel中YEAR、MONTH和DAY函数的使用图解教程
- excel怎么快速查看工作表中的所有公式
- 求《合气道1972》百度网盘无删减完整版在线观看,茅瑛主演的
- 天猫店铺装修在哪里?如何装修?