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

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

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

c4d963b26ea4599d62b73135c4bc02cb.png

如何用函数公式来解决?

具体操作步骤如下:

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

679bff3acc833b6b6d1f30314538203e.png

2、动图演示如下。

2e281fa3821cc19eecb0934f6efcbca2.gif

3、公式解析。

①LEN(B3):

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

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

1e01e7e9ddd4ee3013463597cf382d09.png

②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}。

4f81cdc0210d46abf1312c18303f12af.png

④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是把文本型的数字转成数值型的数字。

931ff891ab211ec79933ca68febe2994.png

⑤=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!。

a9062fd70cbf95134e6ef254f91f3b9a.png

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值