这些奇葩的公式错误原因困扰了很多人英文,公式出现错误解决方法

小伙伴们好啊。

今天和大家来分享一些困扰了很多人的公式错误原因。

1,EDATE和EOMONTH到底能不能返回数组?

有些时候需要引用数据源返回相关的数组结果,但很多小盆友引用了区域后发现EOMONTH这些函数结果是报错的。

因此得出一个结论,这批函数在引用区域后是不能返回数组的。

但是,这只是因为这批函数性质特殊而已,稍微加点料就可以返回数组了。

数据源区域只要*1,- -等把直接引用转化为内存数组,就可以使这批函数在引用区域后成功返回数组结果。

这是个很偏门的性质,具有这种性质的函数有EDATE,EOMONTH,WEEKNUM,QUOTIENT/DELTA等等。

2)高精度浮点

这个性质也是坑过无数老司机的:

这个性质在于,这种浮点数在目前函数阶段,F9,公式求值,格式小数位数,等号比较等等多种方法都无法检测出来,但就是会造成MATCH,VLOOKUP,RANK,MODE,FREQUENCY等函数的结果异常。

因为这种浮点超过了Excel的15位精度,所以无法显示,但部分函数还是会识别这种差异,重点是影响上面几个函数的结果(这种精度差异可以使用DELTA函数检查)。

解决方法是使用ROUND等修正这类数值的实际精度,或者换成不识别这种精度的函数或判断式(等号比较不识别这种差异)。

3)真伪内存数组和365动态数组性质差异

365前的版本VLOOKUP和INDEX等函数有一类性质。如果VLOOKUP的第1参数和INDEX的第2/3参数,直接使用数组,并不能使整个VLOOKUP或INDEX返回内存数组。

虽然可以以区域数组方式录入多个单元格返回对应的多个结果,但并不能作为真内存数组用于后续计算,因此这个性质被称为伪内存数组。

如果要把INDEX的结果变成真内存数组,必须加N/T IF结构来进行转化。

而office 365下部分公式使用三键和不使用三键,结果是会有区别的,通常在不使用三键环境下,365版本会把早期版本的伪内存结构直接形成真内存数组,但如果使用三键,还是早期版本的伪内存数组性质,这个性质主要在早期版本的伪内存数组和多维引用两种公式结构下存在。

4) 1和{1}的区别

这类性质,通常出现在涉及INDIRECT或OFFSET的动态引用问题内,INDIRECT或OFFSET函数配合ROW或COLUMN函数时容易出现。

很多人会被这个错误困扰不知道如何解决,其实这个公式之所以错误,根源在于ROW函数,因为ROW(A1)的结果为{1},注意这是1个单元素的数组。

而INDIRECT和OFFSET都是容易构造多维引用的,所以目前的观点上面公式错误和这两个函数的多维引用下的降维理论有关。

解决方法也很简单,1是在ROW外面套个聚合函数,SUM/MAX/MIN等等均可,目的是把{1}变成常量1,就不会出现类似错误了。

5)时间精度

Excel里的时间精度到千分之一毫秒,即YYYY/MM/DDHH:MM:SS.000

到了时间阶段,Excel里的日期函数会出现两大阵营。部分日期函数对日期的识别仅到日期部分,不考虑时间范围。

但还有部分日期函数,对日期的识别精度达到了这个毫秒级,时间不大于23:59:59.499的日期识别为当天,但23:59:59.500-23:59:59.999的范围会被识别为第2天。

测试表明DAY、WEEKDAY、YEAR、MONTH、HOUR、MINUTE、SECOND、DAYS360与TEXT的日期时间格式处理,对日期时间的识别不完全按照日期部分,

这几个函数对日期的识别范围至少到毫秒的精度,23:59:59.499(含)前识别为当日日期,23:59:59.500开始识别为第2天。

而DAYS、EDATE、EOMONTH、WEEKNUM、ISOWEEKNUM、WORKDAY(.INTL)、NETWORKDAYS(.INTL)、YEARFRAC这10个函数对日期时间的识别仅识别日期部分,严格取整,与时间范畴无关。

因此如果你们的软件导出数据时间精度达到毫秒级,请注意这个精度差异对结果的影响。

6)参数上限

有些函数具有内置上限,这个上限会限制这些函数的使用,其中大部分函数在超过上限后是会报错的,例如MOD函数:

但是,少数函数在超过上限后不会报错而是返回特殊结果,这类性质比较隐蔽,会影响函数运算结果,例如DATE函数:

这个函数的优势是例如第3参数大于本月天数时,会自动把函数结果转化为对应的有效日期。但这个函数有内置参数,第3参数有效的最大值只有32767,超过32767的数值都会缩减到32767进行日期换算,故需要注意这个性质避免转化的日期结果异常。

7)你不知道的性质

Excel有大量简写模式和特殊识别的字符串规则:

0-12的整数 空格 A / P 为整点时间的缩写表达式,可以被Excel直接识别为时间的(12 A 为12:00 AM实际为0:00故结果为0)。

这些特殊规则很多,都可能影响你的计算结果:

(小编测试过很多最特殊的,大概是下面这个从2013版本开始出现的以空格 冒号开头的特殊表达式)

很多时候,你自认为公式是正确的,但结果异常,很多时候就是因为你并没有了解Excel的这些特殊规则和机制造成的。

因此,学习函数不是一朝一夕的事情,只有多练习,多看别人的文章和公式,才能随心所欲,否则就可能出现各式各样的问题。

好了,今天的内容就是这些吧,我是流浪铁匠,点个赞,咱们一起走天涯。

图文制作:流浪铁匠

这些奇葩的公式错误原因困扰了很多人英文,公式出现错误解决方法

Excel中出现公式常见显示错误原因与解决方法

  Excel2007的公式如果写错,就会在单元格中显示各种各样的错误信息。看到这些奇怪的错误代码,有的朋友可能会手忙脚乱,甚至感到烦躁。今天,我就教大家在Excel中出现公式常见显示错误原因与解决方法。

  Excel中出现公式常见显示错误原因与解决步骤:

  其实,任何错误均有它内在的原因,下面我们就和大家探讨根据公式返回错误值的代码识别错误的类型和原因,以及相应的处理方法,帮助朋友们轻松地应对各种常见错误。

  错误显示1:#####!

  原因:单册掘元格所包含的数字、日期或时间占位比单元格宽。

  解决方案:拖动鼠标指针更改列宽。

  错误显示2:咐弊#NUM!

  原因:顾名思义,公式中的数字出现问题——类型错误,或者数字超出Excel表示的有效范围。

  解决方案:让数字类型和大小都符合要求。

  错误显示3:#REF!

  原因:公式引用的单元格被删除或者被错误覆盖。

  解决方案:临时修改后及时“撤销”,恢复单元格原状。

  错误显示4:#VALUE!

  原因a:需要数字或逻辑值时输入了文本,如单元格B1为数字15,单元格B2为文本,则B3中输入公式“=B1 B2”将返回错误值#VALUE!

  解决方案a:确保公式引用的单元格中包含有效值。上例中可在B3中输入=SUM(B1:B2),SUM函数忽略文本,所以结果显示15。

  原因b:本来应该衡姿族引用单一数值,却引用了一个区域。

  解决方案b:将数值区域改成单一数值,或者修改数值区域,使其包含公式所在的数据行或列。

这些奇葩的公式错误原因困扰了很多人英文,公式出现错误解决方法

哪位大神告诉我这错在哪里了

Excel经常会显一些错误值信息,如#N/A!、#VALUE!、#DIV/O!等等。出现这些错误的原因有很多种,最主要是由于公式不能计算正确结果。例如,在需要数字的公式中使用文本、删除了被公式引用的单元格,或者使用了宽度不足以显示结果的单元格。以下是几种Excel常见的错误及其解决方法。  
1.#####!   原因:如果单元格所含的数字、日期或时间比单元格宽,或者单元格的日期时间公式产生了一个负值,就会产生#####!错误。
解决方法:如果单元格所含的数字、日期或时间比单元格宽,可以通过拖动列表之间的宽度来修改列宽。如果使用的是1900年的日期系统,那么Excel中的日期和时间必须为正值,用较早的日期或者时间值减去较晚的日期或者时间值就会导致#####!错误。如果公式正确,也可以将单元格的格式改为非日期和时间型来显示该值。  
2.#VALUE!   当使用错误的参数或运算对象类型时,或者当公式自动更正功能不能更正公式时,将产生错误值#VALUE!。 
原因一:在需要数字或逻辑值时输入了文本,Excel不能将文本转换为正确的数据类型。  解决方法:确认公式或函数所需的运算符或参数正确,并且公式引用的单元格中包含有效的数值。例如:如果单元格A1包含一个数字,单元格A2包含文本"学籍",则公式"=A1 A2"将返回错误值#VALUE!。可以用SUM工作表函数将这两个值相加毁圆(SUM函数忽略文本):=SUM(A1:A2)。  
原因二:将单元格引用、公式或函数作为数组常量输入。
解决方法:确认数组常量不是单元格引用、公式或函数。 
原因三:赋予需要单一数值的运算符或函数一个数值区域。
解决方法:将数值区域改为单一数值。修改数值区域,使其包含公式所在的数据行或列。   
3.#DIV/O!   当公式被零除时,将会产生错误值#DIV/O!。  
原因一:在公式中,除数使用了指向空单元格或包含零值单元格的单元格引用(在Excel中如果运算对象是空白单元格,Excel将此空值当作零值)。
解决方法:修改单元格引用,或者在用作除数的单元格中输入不为零的值。  
原因二:输入的公式中包含明显的除数零,例如:=5/0。
解决方法:将零改为非零值。   
4.#NAME?   在公式中使用了Excel不能识别的文本时将产生错误值#NAME?。  原因一:删除了公式中使用的名称,或者使用了不存在的名称。  解决方法:确认使用的名称确实存在。选择菜单"插入"&line;"名称"&line;"定义"命令,如果所需名称没有被列出,请使用"定义"命令添加相应的名称。  原因二:名称的拼写错误。  解决方法:修改拼写错误的名称。  
原因三:在公式中使用标志。  解决方法:选择菜单中"工具"&line;"选项"命令,打开"选项"对话框,然后单击"重新计算"标签,在"工作薄选项"下,选中"接受公式标志"复选框。 
 原因四:在公式中输入文本时没有使用双引号。  解决方法:Excel将其解释为名称,而不理会用户准备将其用作文本的想州氏法,将公式中的文本括在双引号中。例如册余散:下面的公式将一段文本"总计:"和单元格B50中的数值合并在一起:="总计:"&B50   原因五:在区域的引用中缺少冒号。  解决方法:确认公式中,使用的所有区域引用都使用冒号。例如:SUM(A2:B34)。  
5.#N/A   原因:当在函数或公式中没有可用数值时,将产生错误值#N/A。
解决方法:如果工作表中某些单元格暂时没有数值,请在这些单元格中输入"#N/A",公式在引用这些单元格时,将不进行数值计算,而是返回#N/A。   
6.#REF!   当单元格引用无效时将产生错误值#REF!。  原因:删除了由其他公式引用的单元格,或将移动单元格粘贴到由其他公式引用的单元格中。
解决方法:更改公式或者在删除或粘贴单元格之后,立即单击"撤消"按钮,以恢复工作表中的单元格。
7.#NUM!   当公式或函数中某个数字有问题时将产生错误值#NUM!。
原因一:在需要数字参数的函数中使用了不能接受的参数。
解决方法:确认函数中使用的参数类型正确无误。

上一篇: 女销售原来靠这样卖房(楼盘置业顾问提成大概多少)
下一篇: 油老虎轿车,中东老虎