Грешките във формулата са често срещани. Ако имате набор от данни със стотици записи, от време на време ще се появят грешки с разделяне на нула и # N / A.
В миналото предотвратяването на грешки изискваше херкулесови усилия. Кимайте съзнателно, ако някога сте нокаутирали =IF(ISNA(VLOOKUP(A2,Table,2,0),"Not Found",VLOOKUP(A2,Table,2,0))
. Освен че е наистина дълго за въвеждане, това решение изисква два пъти повече VLOOKUP. Първо, правите VLOOKUP, за да видите дали VLOOKUP ще генерира грешка. След това правите отново същия VLOOKUP, за да получите резултата без грешка.
Excel 2010 представи значително подобрения =IFERROR(Formula,Value If Error)
. Знам, че IFERROR звучи като старите функции ISERROR, ISERR и ISNA, но е съвсем различно.
Това е блестящ функция: =IFERROR(VLOOKUP(A2,Table,2,0),"Not Found")
. Ако имате 1000 VLOOKUP и само 5 връщате # N / A, тогава 995, който е работил, изисква само един VLOOKUP. Само 5 VLOOKUP-а върнаха # N / A, които трябва да преминат към втория аргумент на IFERROR.
Странно, Excel 2013 добави функцията IFNA (). Това е точно като IFERROR, но търси само # N / A грешки. Може да си представим странна ситуация, при която стойността в справочната таблица е намерена, но полученият отговор е деление на 0. Ако искате да запазите грешка разделяне на нула по някаква причина, можете да използвате IFNA (), за да направите това.

Разбира се, човекът, който е създал справочната таблица, е трябвало да използва IFERROR, за да предотврати разделянето на нула на първо място. На фигурата по-долу „nm“ е код на бивш мениджър за „не е смислен“.

Благодарение на Джъстин Фишман, Стивън Гилмър и Excel от Джо.