VLOOKUP函数在会计应用中的常见#N/A错误分析及对策

来源 :中小企业管理与科技·上旬刊 | 被引量 : 0次 | 上传用户:qq0123456456789
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:VLOOKUP函数在会计实务中被广泛应用。本文通过分析VLOOKUP函数在会计应用中的常见#N/A错误,可以让财务人员在对VLOOKUP函数有进一步的了解,并能在以后的会计实务中,采用本文提供的处理办法,轻松应对类似的错误。
  关键词:EXCEL 单元格
  
  EXCEL作为一个优秀的数据处理软件,经常被财务人员用在会计实务中,其中VLOOKUP函数以其强大的功能被广泛应用。然而在实际应用时,稍有不慎,就会产生错误,返回一些奇怪的错误代码,其中最常见的是#N/A错误。本文通过实例就一些常见的#N/A错误作一个探讨,并提出相应的解决方案。
  实例:某公司2007年12月1日从银行提取现金300元。在图一中,左边是简化的总账科目表,右边是简化的会计凭证表。要求在填制会计凭证表总账科目一栏时,根据科目代号,从总账科目表中找出相应的总账科目。 正确的做法是,在J3单元格中输入公式“=VLOOKUP($I$3,$A$3:$B$4,2,0)”,公式计算结果是“库存现金”。在J4单元格中输入公式“=VLOOKUP($I$4,$A$3:$B$4,2,0)”,公式计算结果是“银行存款”。 在实际工作中,计算J3和J4单元格的值时,经常会产生一些#N/A错误。
  1 精确匹配查找时出现#N/A错误
  1.1 查询表相关单元格中的字符或者查询字符存在空格或者其它字符 在图二中,在J3单元格中输入公式“=VLOOKUP($I$3,$A$3:$B$4,2,0)”, 在J4单元格中输入公式“=VLOOKUP($I$4,$A$3:$B$4,2,0)”,结果出现了#N/A错误。
  我们用LEN函数和CODE函数来测试A4和I3。LEN(A4)=5,CODE(RIGHT(A4))=32;LEN(I3)=5,CODE(RIGHT(I3))=32。通过测试,我们知道,J3的#N/A错误是因为I3单元格包含5个字符,最后一个不可见字符的ASCII码是32,也就是空格,导致A3和I3不匹配。J4的#N/A错误是因为A4单元格包含5个字符,最后一个不可见字符的ASCII码是32,也就是空格,导致A4和I4不匹配。
  对于J3的#N/A错误,有两种办法处理,一是删除或者替换I3单元格尾部空格,二是使用TRIM函数清除空格,相应的公式为“=VLOOKUP(TRIM($I$3),$A$3:$B$4,2,0)”。
  对于J4的#N/A错误,是函数的第二个参数中包含空格,同样也有两种办法处理,一是删除或者替换A4单元格尾部空格,二是使用TRIM函数清除空格,在使用第二种方法时,第二个参数已不再是直接引用单元格区域,而是引用对$A$3:$B$4运算TRIM后的内存数组,因此公式就应该应用数组公式,需要按CTRL+SHIFT+ENTER(请注意:此处不用用户输入“{}”)。相应的公式为“{=VLOOKUP($I$4,TRIM($A$3:$B$4),2,0)}”。
  如果我们测试CODE(RIGHT(I3))≠32,也就是说I3单元格的最后一个字符是非空格的不可见字符(由网页复制、其他程序转出的表格,经常会出现这类字符),可以删除该字符或者先复制该字符,然后替换该字符为空白。
  1.2 查询表相关单元格中的字符与查询字符的格式不一致 在图三中,在J3单元格中输入公式“=VLOOKUP($I$3,$A$3:$B$4,2,0)”, 在J4单元格中输入公式“=VLOOKUP($I$4,$A$3:$B$4,2,0)”,结果出现了#N/A错误。
  J3和J4单元格的#N/A错误都是由于查询表相关单元格中的字符与查询字符的格式不一致造成的。A3是文本格式,I3是常规格式,J3是按数值查文本。A4是常规格式,I4是文本格式,J4是按文本查数值。
  对于此类错误,有两种处理方法。 ①可以修改查询字符或者查询表相关单元格的格式,使之统一 修改单元格的格式很简单,但是要注意以下几点:
  a仅仅将单元格格式更改还不行。例如对于包含数值的常规单元格将格式改为文本后,单元格中的值仍是数值形式,需要激活(双击)才会真正转为文本。
  b需要更改的单元格很多时,可以采用分列或选择性粘贴的方法。 采用分列的方法是,点击菜单栏上的“数据”,选择“分列”,然后根据提示进行操作。 由文本格式转为数值格式也可以采用选择性粘贴的方法,是复制一格式为常规的空白单元格或者在其中输入“0”,然后选定需转换的数据区,进行选择性粘贴,在“运算”区域下选择“加”。例如要把A3单元格转为数值格式,可以在格式为常规的单元格A5中输入数字“0”,接着将其复制,然后选定A3进行选择性粘贴,在“运算”区域下选择“加”即可。 ②用公式处理 在J3单元格中输入公式“=VLOOKUP($I$3&"",$A$3:$B$4,2,0)”,这个公式将数值1001用&连接空字符串"",强制转为文本。 在J4单元格中输入公式“=VLOOKUP($I$4*1,$A$3:$B$4,2, 0)”,这个公式将文本1002用乘1进行运算,强制转为数值。
  1.3 查询字符不在查询表的第一列 我们在图一所示的表中最前面插入一列,如图四所示。在K3单元格中输入公式“=VLOOKUP($J$3,$A$3:$C$4,2,0)”,在K4单元格中输入公式“=VLOOKUP($J$4,$A$3:$C$4,2,0)”,结果出现了#N/A错误。 K3和K4单元格出现#N/A错误都是由于查询字符不在查询表的第一列,而是在第二列。VLOOKUP一般要求查询字符在查询表的第一列,如果区域选择错误不在第一列,则查找错误,解决方法为重新选择数据区域。在这里,K3和K4单元格公式中的$A$3:$C$4更改为$B$3:$C$4即可。
  1.4 查询字符在查询表中不存在 在图五中,在J3单元格中输入公式“=VLOOKUP($I$3,$A$3:$B$4,2,0)”,结果出现了#N/A错误。 错误的原因是因为查询字符“1000”在查询表中不存在。
  2 近似匹配查找时出现#N/A错误 近似匹配查找时出现#N/A错误,除了前述的格式等原因,还有以下两种情况。
  2.1 查询表的第一列没有升序排列
  我们在图一所示的表中,把B3:C3与B4:C4的位置互换一下,如图六所示。在J3单元格中输入公式“=VLOOKUP($I$3,$A$3:$B$4,2,1)”, 在J4单元格中输入公式“=VLOOKUP($I$4,$A$3:$B$4,2,1)”,结果在J3单元格出现了#N/A错误。
  在这里,我们一般使用精确匹配查找,也就是把上述两个公式的第四个参数由“1”更改为“0”。当然也可以使用近似匹配查找,这里出现的#N/A错误是因为查询表的第一列没有升序排列。
  如果公式中第四个参数省略,或为true,或为非0数值时,查询表的第一列必须升序排列,否则不会返回期望的结果(不一定报错误)。
  2.2 查询字符小于查询表第一列数据的最小值
  我们返回去看看图五,如果在J3单元格中用近似匹配查找,输入公式“=VLOOKUP($I$3,$A$3:$B$4,2,1)”,结果同样出现#N/A错误。这是因为查询字符小于查询表第一列数据的最小值。对于此类错误,只要建立可能的最小值,使数据区设计合理就可避免。
  3 错误处理
  在图五中,在J3单元格中输入公式“=VLOOKUP($I$3,$A$3:$B$4,2,0)”,结果出现了#N/A错误。为了使表格更美观而不要显示#N/A错误,可以使用条件格式或直接使用公式处理。
  3.1 使用条件格式
  在图五所示的工作表中,选定J3单元格,选择菜单中的“格式-条件格式”,输入公式“=ISNA(J3)”,设定字体颜色与底色(一般是白色)相同。使用这种方式进行错误处理,仍然会显示代表错误的绿色三角。操作结果如图七所示。
  3.2 使用公式处理 ①综合应用IF、ISNA和VLOOKUP函数。在图七所示的工作表中,选定J3单元格,输入公式“=IF(ISNA(VLOOKUP($I$3,$A$3:$B$4,2,0)),"", VLOOKUP($I$3,$A$3:$B$4,2,0))”。操作结果如图八所示。 ②综合应用IF、TYPE和VLOOKUP函数。在图七所示的工作表中,选定J3单元格,输入公式“=IF(TYPE(VLOOKUP($I$3,$A$3:$B$4,2,0))=16,"",VLOOKUP($I$3,$A$3:$B$4,2,0))”。操作结果如图八所示。 ③综合应用COUNTIF和VLOOKUP函数。在图七所示的工作表中,选定J3单元格,输入公式“=IF(COUNTIF($A$3:$B$4,$I$3),VLOOKUP($I$3,$A$3:$B$4,2,0),"")”。操作结果如图八所示。 ④综合应用IF、ISERROR和VLOOKUP函数。在图七所示的工作表中,选定J3单元格,输入公式“=IF(ISERROR(VLOOKUP($I$3,$A$3:$B$4,2,0)),"",VLOOKUP($I$3,$A$3:$B$4,2,0))”。操作结果如图八所示。 需要说明的是,在上述四种公式中的空字符,也可以根据需要改写成“查无此人”等类似的提示。在这个示例中,可以改写成“无此科目”之类的提示。
  通过以上分析,相信对VLOOKUP函数有了进一步的了解,并能在以后的工作中,轻松应对类似的错误。
  
  参考文献:
  [1]伊娜.Excel在会计中的应用.高等教育出版社.
  [2](美)John Walkenbach.中文版Excel2007高级VBA编程宝典.清华大学出版社.
  注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文
其他文献
当今社会已经进入高度技术化的发展阶段,科技传播也成为最普遍的现象之一。创新扩散理论(diffusion of innovations theory)主要研究一种新事物在社会系统中传播扩散的过程,
本文从桥梁施工图预算中的常见问题,以及桥梁施工图预算产生问题的原因出发,寻找解决桥梁施工图预算产生问题的措施。笔者近几年从事桥梁造价工作,把桥梁施工图预算一些个人经验
摘要:中小企业在促进经济增长、扩大就业和活跃市场等方面有重要的作用;中小企业上市公司的成长性是中小板市场发展的核心问题。本文构建了中小企业板成长性评价指标体系,利用近三年中小企业板机械设备类64家上市公司的成长性及相关财务指标的数据进行回归分析。  关键词:中小企业板 上市公司 成长性    中小企业在我国经济发展中占有十分重要的地位,它在扩大就业、活跃市场、收入分配、社会稳定和国民经济结构布局等
本文分析了当前住宅建筑防水存在的主要问题,结合长期的实践经验,分别从设计和施工两个方面对屋面防水工程质量控制进行了阐述,供大家参考。
文章认为,由于出版技术环境的变化以及出版产业发展阶段性特征的作用,产业升级已成为当前我国出版产业发展的一个重大战略选择。作者在简要界定产业升级内涵的基础上,从产业
摘要:在公路施工中,路面平整度关系到公路使用后效果的好坏,笔者就施工路面不平整的现象、原因及机械的选用等方面作了具体的分析和阐述,这对于公路路面的施工具有现实的意义。  关键词:公路施工 路面平整度    1概述  高等级公路的迅猛发展对路面平整度提出了更高的要求,行车舒适程度及施工队伍水平的高低体现在路面平整度的合格率上。三年以来,我单位所施工的G312线眉苋段、G312线凤眉段及S304线安蔺
<正>"思想表达两分法"(the idea/expression dichotomy)是版权法最基本的法律原则。其基本内涵是版权法保护思想的表达,而不保护思想本身;其基本功能在于明确界定版权法的保
日前,新版《中国与非洲》创刊号暨第四届中非合作论坛部长级会议专刊出版招待会在北京举行。国家主席胡锦涛为新版《中国与非洲》创刊号暨第四届中非合作论坛部长级会议专刊发
我院心血管内科(内二科)采患者静脉血200ml后,用血疗仪进行紫外线照射及充氧,使采集的血液血红蛋白的饱和度达94~98%,快速回输给患者,再进行体外反搏治疗,每血疗一次后,再进行
自1984年以来,我院反搏室对23例特发性耳聋患者施行体外反搏治疗.结果:经过反搏治疗1~2疗程后,病程半年以内的15例病