龙空技术网

如何把单元格的数值每位数字进行相加?又学会一个Excel技巧

跟小小筱学办公技能 1452

前言:

现在姐妹们对“数组中的数字相加”大致比较关心,我们都想要了解一些“数组中的数字相加”的相关资讯。那么小编在网上收集了一些有关“数组中的数字相加””的相关资讯,希望我们能喜欢,看官们快快来学习一下吧!

问题:单元格中有一个值,如何将这个值中的所有数字进行相加?

例如:下图中,B3单元格的值为:1845,每个数字进行相加,即:1+8+4+5=18,也就是D3单元格中显示的结果。

如何用函数公式来解决?

具体操作步骤如下:

1、选中D3单元格,在编辑栏中输入公式:=SUMPRODUCT(1*MID(B3,ROW(INDIRECT("1:"&LEN(B3))),1)),按回车键回车,并将公式下拉填充至D8单元格即可。

2、动图演示如下。

3、公式解析。

①LEN(B3):

LEN函数:返回文本字符串中的字符个数。

LEN(B3)就是返回B3单元格的字符个数,结果为4。

②INDIRECT("1:"&LEN(B3)):

INDIRECT函数:返回文本字符串所指定的引用。

由①可知,公式LEN(B3)返回的结果为4,所以该公式可简化为:INDIRECT("1:4")。

③ROW(INDIRECT("1:"&LEN(B3))):

ROW函数:返回一个引用的行号。

由②可知,公式INDIRECT("1:"&LEN(B3))公式简化为:INDIRECT("1:4"),所以公式ROW(INDIRECT("1:"&LEN(B3)))可以简化为ROW(INDIRECT("1:4")),结果为:{1;2;3;4}。

④1*MID(B3,ROW(INDIRECT("1:"&LEN(B3))),1):

MID函数:从文本字符串中指定的起始位置起返回指定长度的字符。

由③可知,公式ROW(INDIRECT("1:"&LEN(B3)))返回的结果为:{1;2;3;4},代入公式得:1*MID(B3,{1;2;3;4},1),该公式的意思是:在B3单元格中,分别从位置1、2、3和4开始,提取一个字符,得到的结果为:{1;8;4;5}。前面*1是把文本型的数字转成数值型的数字。

⑤=SUMPRODUCT(1*MID(B3,ROW(INDIRECT("1:"&LEN(B3))),1)):

SUMPRODUCT函数:返回相应的数组或区域乘积的和。

由④可知,公式1*MID(B3,ROW(INDIRECT("1:"&LEN(B3))),1)返回的结果为:{1;8;4;5},代入公式得:=SUMPRODUCT({1;8;4;5})。用SUMPRODUCT函数把数组{1;8;4;5}中的每个值相加,即可得到结果:18。

注意:如果要计算的值中,有负数或者非正整数,那么计算的结果将返回错误值:#VALUE!。

好的,今天的分享就到这里了,如果您对以上操作与什么不懂之处,可以评论区留言或私信找我哦~创作不易,希望您的点赞转发支持!

本文首发公众号【Word和Excel达人先生】,如需转载请联系小编!

标签: #数组中的数字相加