盘点excel三大不给面子名场面:明明公式没写错,为什么结果却错?
个人微信号 | (ID:LiRuiExcel520)
微信服务号 | 跟李锐学Excel(ID:LiRuiExcel)
微信公众号 | Excel函数与公式(ID:ExcelLiRui)
上班经常使用Excel的同学们,肯定遇到过Excel不讲道理就是出错的时候,明明公式没写错,为什么Excel就是不给面子,结果出错呢?
对于这类奇怪的问题,首先要找到导致问题发生的原因才能根除,所以要结合具体情况给予解决方案,今天就来盘点一下Excel中三大不给面子名场面,并且给出对应解决方案。
本教程内容担心记不全的话,可以分享到朋友圈给自己备份一份。
名场面1:数据查询出错
要求按照业务员姓名查询对应金额,从左侧数据源中查找数据。这种简单问题用VLOOKUP函数基础用法即可搞定,左侧明明存在“李锐5”,但结果就是出错。
F2单元格中公式如下:
=VLOOKUP(E2,$B$2:$C$9,2,0)
示意图如下:

你能想到可能的原因是什么吗?
问题出在数据源D2单元格,其中包含空格,导致Excel在执行精确查询时,认为带空格的数据是完全不同的数据,所以返回查找错误值。
E2单元格中的内容截图如下。

这时候有两种解决方法,一种是删除E2单元格中的空格,一种是修改F2单元格的查询公式。
相比之下,后一种方法更合适,因为可能数据源不好修改,或其中存在多个空格不规范数据源,修改公式增加公式兼容性可以一劳永逸的帮我们解决问题。
增强公式兼容性的办法是采用TRIM函数清除多余空格,以下一个公式搞定。
=VLOOKUP(TRIM(E2),$B$2:$C$9,2,0)

名场面2:数据汇总出错
以下表格中B列金额采用SUM函数汇总,结果竟然是0,公式明明没错,为何结果为零呢?
公式如下:
=SUM(B2:B9)
效果请见下方示意图:

这是由于B列金额是文本格式,SUM函数忽略文本求和,所以汇总结果是0。
解决办法是将文本数字转换为数值再使用SUM函数求和,本案例可以通过减负运算--将文本数字转换为数值。
使用数组公式如下,记得输入Ctrl+Shift+Enter三键输入。
=SUM(--B2:B9)

名场面3:错误统计重复值
以下表格中的身份证号码明明不重复,但是使用COUNTIF统计出的结果却是重复的,为什么呢?
就拿A2和A3单元格的身份证号码来说,后三位明显不一样,但却显示重复,你知道原因吗?
公式如下:
=IF(COUNTIF(A:A,A2)>1,"重复","否")
效果请见下方示意图:

原因是COUNTIF函数的默认算法下只能识别前15位数字,由于身份证号码一共是18位数字,前15位数字相同则被判定为是重复值。
要改变这种情况,必须要强制转换为文本识别模式,所以修改COUNTIF函数第二参数连接&"*",使用兼容性的公式如下
=IF(COUNTIF(A:A,A2&"*")>1,"重复","否")

无论什么问题,只要找到原因,明白了原理,就可以找到对应的解决方案。
今天盘点的Excel三大不给面子名场面是平时上班时出现频率较高的场景,有心的人赶快收藏起来吧。
希望这篇文章能帮到你!怕记不住可以发到朋友圈自己标记。
请把这个公众号推荐给你的朋友:)
>>推荐阅读 <<
(点击蓝字可直接跳转)