怎样计算Excel一列数值中十位数为5的个数?

有一列数字,可能正数也可能是负数,有可能有小数,要怎么计算这列数字中十位数为5的数量有多少个?

一、按示例情况,数字均为整数

公式如下:

=SUM(--(MID(A1:A6,LEN(A1:A6)-1,1)="5"))

数组公式,Ctrl+Shift+Enter三键结束。

二、公式解析

LEN(A1:A6)-1,需要确定的是十位数字,它是倒数第二位,但是MID函数是正数的,这个公式就是得到数字的长度,向左侧一位就是十位数字。

用MID函数将十位数字提取出来,判断它是否等于“5”,如果是会返回TRUE,如果不是会返回FALSE。

这里需要提示的是,MID函数是文本函数,其结果是文本,因此等于号右侧的5也应是文本型,要用双引号包起来。然后用减负法将TRUE转换成数值1,FALSE转换成数值0,最后用SUM函数将结果累加起来,就得到了十位是5的数字个数。

三、如果数字有小数

如果数字中有小数,只需要确定小数点的位置,再减2就是十位数字,公式这样写:

=SUM(--(MID(A1:A6,FIND(".",A1:A6&".")-2,1)="5"))

数组公式,Ctrl+Shift+Enter三键结束。

FIND(".",A1:A6&".")-2,是查找数字中小数点的位置,再-2就是十位数字的位置了,其中&"."是给所有数字后面都加上小数点,这样FIND函数的返回结果就不会出现报错的情况,它返回的是第一个小数点的位置,对小数来讲并不影响结果正确性。

四、数字小于10

情况又复杂一些,数字不仅有小数,还有的数字是一位,那样话,FIND(".",A1:A6&".")-2返回0,MID函数就会报错了。好在这种情况肯定不符合题目要求,用IFERROR函数将它直接设置为0就好了,公式这样写:

=SUM(--(IFERROR(MID(A1:A6,FIND(".",A1:A6&".")-2,1)="5",0)))

数组公式,Ctrl+Shift+Enter三键结束。

五、如果有空单元格

情况再复杂一些,数字不仅有一位数字、小数,还有空单元格,那样话,FIND(".",A1:A6&".")-2对空单元格就会返回-1,这与第四种情况一位数字类似,用IFERROR函数即可,公式也是相同的。

六、负数有效吗

测试一下,以上公式在数据中有负数时,均能正常计算出需要的计数结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值