excel里countifs函数计算结果不为0但是显示出来为0是为啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel里countifs函数计算结果不为0但是显示出来为0是为啥相关的知识,希望对你有一定的参考价值。

按下shift+ctrl+enter也是0,手动计算可以得出正确结果,但是要计算的公式非常多,没法一个一个手动计算,请问问题出在哪儿?

估计是公式中查找的项(1、EJZ2、EJZ3、B7)与对应的查找列中的数据格式不一样或者是有的是存在肉眼看不到的空格的,也就是说这几个项没有办法在对应的列中查找到,所以就显示结果为0。
而你手工核算的时候,眼睛看到的数据是一样的,其实在表格中存在的数据是不一样的……
参考技术A 可能的原因:
1,真的没有满足条件的单元格
2,把括号中的区域与条件的位置写反了
3,注意有没有空格什么的,可以先用trim等公式消去空格
4,如果是字母,请保证全角、半角的区别
参考技术B 按F9就好了追问

试了一下,直接变为数值了,但是是正确的值,可以保留公式吗?而且只能以单元格为单位操作,有批量操作的方法吗?

追答

不在公式里面按F9,那样只计算一个公式,而且计算了公式就没有了。按几下ESC,取消公式修改状态,再按F9能计算所有表格中的公式为正确的结果。

追问

我全选整张sheet以及一批要重算的单元格以及一个单元格“按几下ESC,再按F9”,都没有变化,依旧都是0。。。

追答

看看你的屏幕最后一行,是不是有【循环引用】?
此时你应该是有【循环引用】,实际上就是某个地方的公式错误(死循环),导致整表无法计算。

追问

谢谢!就是循环引用的问题!我的 EXCEL 2013 通过“文件-选项-公式 - 启用迭代计算(迭代次数为1)”更改后没问题了~!

本回答被提问者采纳

和身份证有关的5个Excel函数公式

和身份证有关的5个Excel函数公式


以下是一组和身份证有关的函数公式,如果你是财务人员或是一名HR,那就一起来看一下啦:

1、查找重复身份证号码:
=IF(COUNTIF(A:A,A2&"*")>1,"重复","")
技术图片

要点:
在COUNTIF函数的第二参数后加上一个星号 &"*"。
COUNTIF函数在计算文本型数字时,会默认按数值型进行处理,但是Excel中的数字精度只有15位,并且身份证号码是18位,因此会把前15位相同的身份证全部识别为相同的内容。在第二参数后加上一个星号 &"*",就是告诉Excel,要查找包含A2单元格内容的文本,通过这样变通的手段,COUTNIF函数就听话啦。

2、用出生年月来计算年龄:
=DATEDIF(A4,TODAY(),"y")
技术图片
要点:
DATEDIF函数用于计算两个日期之间的间隔。用法是:
=DATEDIF(开始日期,结束日期,指定要返回的类型)
第三参数是Y,表示年,是M,就表示月。
TODAY函数返回系统当前的日期。
DATEDIF函数是隐藏函数,输入时没有屏幕提示,需要手工录入哦。

3、根据身份证号计算出生年月:
=--TEXT(MID(A2,7,8),"0!/00!/00")
技术图片

要点:
身份证号码中的第8位到15位是出生年月信息。
首先使用MID函数从A2单元格的第7位开始,提取出8个字符,得到类似 19840727的结果。
再使用TEXT函数将这个字符串变成日期样式的文本,得到类似1984/07/27的结果。
由于TEXT函数的结果是文本型的内容,所以加上两个小减号 -- 就是计算负数的负数,通过四则运算,变成真正的日期序列。
公式也可以使用=--TEXT(MID(A2,7,8),"0-00-00"),原理是一样的。

4、根据身份证号码提取性别:
=IF(MOD(MID(A2,15,3),2),"男","女")
技术图片

要点:
身份证号码中的第17位是性别信息,单数表示男,双数表示女。
首先使用MID函数从A2单元格的第15位开始,提取出3个字符。
再使用MOD函数计算这个字符与2相除的余数。
最后使用IF函数判断,如果余数大于0,返回男,如果余数是0,则返回女。
这里使用MID(A2,15,3),是为了兼容15位的旧身份证,这部分公式也可以使用MID(A2,17,1)。

5、根据身份证号计算退休时间:
=EDATE(TEXT(MID(A2,7,8),"0!/00!/00"),MOD(MID(A2,15,3),2)*120+600)
技术图片

要点:
先用TEXT(MID(A2,7,8),"0!/00!/00"),计算出出生年月信息。
再使用MOD(MID(A2,15,3),2)计算性别码和2相除的余数,结果是1或是0。
如果性别码和2相除的余数是1,MOD(MID(A2,15,3),2)*120+600部分就相当于1*120+600,结果是720。
否则就是0*120+600,结果是600。
EDATE函数返回一个日期经过指定月份后的日期,也就是以出生年月为准,男性要经过720个月(60年),女性要经过600个月(50年)就是退休年龄了

以上是关于excel里countifs函数计算结果不为0但是显示出来为0是为啥的主要内容,如果未能解决你的问题,请参考以下文章

EXCEL函数IF公式里怎么可以判断单元格里包含指定的文字?

excel统计一个区域里共有多少个数

EXCEL用countifs算出结果都为0?

countifs函数的使用 excel表有一列0--9不规则的数字,怎么计算出2和5的单元格个数

Excel Countif函数用法

excel中countif函数显示的结果为啥不对?