怎样计算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函数即可,公式也是相同的。

六、负数有效吗

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

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-15 23:46:02       91 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-15 23:46:02       97 阅读
  3. 在Django里面运行非项目文件

    2024-05-15 23:46:02       78 阅读
  4. Python语言-面向对象

    2024-05-15 23:46:02       88 阅读

热门阅读

  1. LeetCode算法题:两数之和

    2024-05-15 23:46:02       44 阅读
  2. Unity学习笔记---软件介绍

    2024-05-15 23:46:02       31 阅读
  3. nginx 详解

    2024-05-15 23:46:02       33 阅读
  4. 二刷算法训练营Day08 | 字符串(1/2)

    2024-05-15 23:46:02       34 阅读
  5. MATLAB数组

    2024-05-15 23:46:02       29 阅读
  6. ACAT2021纳新题(C语言)(旧)

    2024-05-15 23:46:02       34 阅读
  7. element ui Tree树形控件

    2024-05-15 23:46:02       32 阅读