Excel的IFERROR和IFNA函数,有效避免非实质性错误信
在Excel中,有一些专门用来处理错误的逻辑函数,如:IFERROR和IFNA函数。有时我们看到的错误是因计算有误造成的,在此情况下我们最好要及时修改;而有的错误的出现则是因为输入的信息遗失或错误,对于一些用户来说,看到此类错误同样会令其不安。
例如,在数据表格中,Average New Balance右侧的单元格R5返回的除零错误“#DIV/0!”:在使用AVERAGE函数时,尝试除以0。
如果单元格为空时,不视为一个数据输入。在此数据表格中,意味着在计算平均值时,“New Balance”列的数据单元格都为空,即用空单元格所得的值(为0)除以单元格个数(全部为空单元格,所以个数为0),这样的话就返回了以上的除零错误。
在使用数据表格时,此情况是常见的:用户尚未输入数据或计算出所需数据(如“New Balance”列),则与之关联的计算也无法进行有效的运算。
IFERROR函数的作用就在于,可以不让用户看到此类错误。我们双击除零错误所在的单元格R5,可看到其应用了AVERAGE函数。
在AVERAGE之前输入函数IFERROR,该函数的第一个参数是一个值(value),这里即为AVERAGE函数返回的值,而如果这个值返回的是一个错误,则第二个参数令其为空("")。
按Enter键后,R5单元格返回的结果为空,而不再是错误信息。
接下来我们来处理“New Balance”列的数据,其运算的过程是将“Previous Balance”加上“Invoice Amount”再减去“Paid Amount”。
按Enter键后,O4单元格得到相应结果的同时,R5单元格中也会返回对应的值。
我们对“New Balance”列使用快速填充功能后,发现有些单元格中返回了“#N/A”错误,此类型的错误出现的原因是在运算过程中,我们用到了“Paid Amount”列中的数据,而该列中的数据有该错误出现。
“Paid Amount”列中的某些单元格出现该错误则是因为引用了“BPay”工作表的数据。
“BPay”工作表中的数据并不完全满足“Paid Amount”列中VLOOKUP函数所引用的参数,换句话说,相应的数据不完整;而如果VLOOKUP函数未找到相应的数据,则其返回“#N/A”错误。
我们回到“Invoice Data”工作表中,双击N4单元格,在VLOOKUP函数前输入IFNA函数,其第一个参数为VLOOKUP函数返回的值,如果返回的为N/A,则第二个参数设置为0。
按Enter键后,再使用快速填充功能,我们可以将“Paid Amount”中原有的“#N/A”错误避免,以“0”值来代替。
与此同时,“New Balance”列的数据、“Total Paid”与“Average New Balance”的数据均返回正常的值,不再显示有错误信息。这些错误并不是实质性的错误,只是因为缺乏数据而导致运算无法正常进行。
通过使用IFERROR和IFNA函数,可以有效地帮助我们在数据表格解决那些并非错误的问题,这样我们的工作表也会显得更具有吸引力和更容易使用。
在本期的内容介绍中,我们提到了VLOOKUP函数,在后续的更新中,我们会进一步来了解VLOOKUP函数的应用,在此之前,我们还是要多熟悉一下所学习的Excel逻辑函数:IF、AND、OR以及相互的嵌套使用、IFERROR和IFNA。