Содржина
Упатството ги разгледува практичните употреби на функцијата Excel ISERROR и покажува како да тестирате различни формули за грешки.
Кога пишувате формула која Excel не ја разбира или не може да ја пресмета, тоа ви го привлекува вниманието на проблемот со прикажување порака за грешка. Функцијата ISERROR може да ви помогне да ги фатите грешките и да обезбедите алтернатива кога ќе се најде грешка.
ISERROR функцијата во Excel
Функцијата Excel ISERROR ги фаќа сите видови грешки, вклучувајќи #CALC!, #DIV/0!, #N/A, #NAME?, #NUM!, #NULL!, #REF!, #VALUE!, и #SPILL!. Резултатот е Булова вредност: TRUE ако се открие грешка, НЕТОЧНО во спротивно.
Функцијата е достапна во сите верзии на Excel 2000 до 2021 и Excel 365.
Синтаксата на ISERROR функцијата е едноставна како оваа:
ISERROR(вредност)Каде што вредност е вредноста или формулата на ќелијата што треба да се провери за грешки.
Formula ISERROR на Excel
За да креирате формула ISERROR во нејзината наједноставна форма, наведете референца до ќелијата што сакате да ја тестирате за грешки. На пример:
=ISERROR(A2)
Во случај да се најде некоја грешка, ќе добиете ТОЧНО. Ако нема грешка во тестираната ќелија, ќе добиете FALSE:
IF ISERROR формула во Excel
За да вратите приспособена порака или да извршите различна пресметка кога ќе се појави грешка, користете ISERROR заедно со функцијата IF. Генеричката формула изгледа вака:
IF(ISERROR( формула(...), текст_или_пресметување_ако_грешка, формула())Преведено на човечки јазик, вели: ако се добие главната формула во случај на грешка, прикажете го наведениот текст или извршете друга пресметка, инаку вратете нормален резултат од формулата.
На сликата подолу, делењето на вкупниот број со количината генерира неколку грешки во Цената колона:
За да ги замените сите различни кодови за грешка со прилагоден текст, можете да ја користите следнава формула IF ISERROR:
=IF(ISERROR(A2/B2), "Unknown", A2/B2)
Во Excel 2007 и подоцнежните верзии, истиот резултат може да се постигне со помош на вградената функција IFERROR:
=IFERROR(A2/B2, "Unknown")
Треба да биде забележа дека формулата IFERROR работи малку побрзо бидејќи ја врши пресметката A2/B2 само еднаш. Додека IF ISERROR ја пресметува двапати - прво за да види дали генерира грешка, а потоа повторно дали тестот е НЕТОЧЕН.
IF ISERROR VLOOKUP формула
Користењето ISERROR со VLOOKUP е, всушност, посебен случај на IF IS Формула ERROR дискутирана погоре. Кога функцијата VLOOKUP не може да ја пронајде вредноста за пребарување или не успее од која било друга причина, прикажувате приспособена текстуална порака користејќи ја оваа синтакса:
IF(ISERROR(VLOOKUP(…)), " прилагоден_текст", VLOOKUP(…))За овој пример, да ги повлечеме времињата од табелата за пребарување (D3:E10) до главната табела (A3:B15). Ако вредноста за пребарување (име на учесникот) не постои вотабела за пребарување, ќе ја вратиме „Не е квалификувана“.
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$10, 2, FALSE)), "Not qualified", VLOOKUP(A3, $D$3:$E$10, 2, FALSE))
Совет. Ако сакате да прикажете приспособен текст само кога не е пронајдена вредност за пребарување (#N/A грешка) игнорирајќи ги другите грешки, тогаш користете ја формулата IFNA VLOOKUP во Excel 2013 и понови или IF ISNA VLOOKUP во постарите верзии.
IF ISERROR INDEX MATCH формула
Кога вршите пребарување со помош на комбинацијата INDEX MATCH (или формулата INDEX XMATCH во Excel 365), можете да заробите и да се справите со сите можни грешки користејќи ја истата техника - функцијата ISERROR проверува дали има грешки и IF го прикажува наведениот текст кога ќе се појави грешка.
IF(ISERROR(INDEX ( turn_column , MATCH ( lookup_value , lookup_column >Да претпоставиме дека табелата за пребарување има времиња во првата колона. Бидејќи VLOOKUP не може да гледа лево, ја користиме формулата INDEX MATCH за да ги повлечеме времињата од колоната D:
=INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))
И потоа, го вгнездувате во гореспоменатата генеричка формула за да ги замените фатените грешки со кој било текст што го сакате:
=IF(ISERROR(INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))), "Not qualified", INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0)))
Забелешка. Како и со формулата IF ISERROR VLOOKUP, има повеќе смисла да се заробат само #N/A грешките и да не се прикријат потенцијалните проблеми со самата формула. За да го направите ова, завиткајте ја формулата за математика ИНДЕКС во IFNA во Excel 2013 и повисоко или IF ISNA во претходните верзии.
АКОISERROR Да/Не формула
Во сите претходни примери, IF ISERROR го врати резултатот од главната формула ако не е грешка. Сепак, може да работи и на поинаков начин - врати нешто ако е грешка и нешто друго ако нема грешка.
IF(ISERROR( формула (...)), " text_if_error " , " text_if_no_error ")Во нашиот примерок на база на податоци, да претпоставиме дека не сте заинтересирани за точните времиња, само сакате да знаете кои учесници од групата А се квалификувани, а кои не се. За да го направите ова, користете ја функцијата MATCH за да го споредите името во колоната А со списокот на квалификувани учесници во колоната D, а потоа сервирајте ги резултатите до ISERROR. Ако името не е достапно во колоната D (MATCH враќа грешка), добијте ја функцијата IF да прикажува „Не“ или „Не е квалификувано“. Ако името се појавува во колоната D (без грешка), вратете „Да“ или „Квалификувано“.
=IF(ISERROR(MATCH(A3, $D$3:$D$10, 0)), "No", "Yes" )
Како да го броите бројот на грешки
За да го добиете бројот на грешки во одредена колона, треба да проверите опсег, а не само една ќелија. За ова, „нахранете“ го целниот опсег на ISERROR и принудете ги вратените Булови вредности во 1 и 0 користејќи го двојниот унарен оператор (--). Функцијата SUM или SUMPRODUCT може да ги собере броевите и да го даде конечниот резултат.
На пример:
=SUM(--ISERROR(C2:C10))
Ве молиме имајте предвид, ова работи како обична формула само во Excel 365 и Excel 2021, кои поддржуваат динамички низи. Во Excel 2019 и порано, виетреба да притиснете Ctrl + Shift + Enter за да креирате формула за низа (не пишувајте загради рачно, тоа нема да работи!):
{=SUM(--ISERROR(C2:C10))}
Алтернативно, можете да го користите SUMPRODUCT функција која се справува со низи природно, така што формулата може да се комплетира со вообичаениот клуч Enter во сите верзии:
=SUMPRODUCT(--ISERROR(C2:C10))
Разлика помеѓу ISERROR и IFERROR во Excel
И ISERROR и IFERROR функциите се користат за заробување и справување со грешки во Excel. Разликата е како што следува:
- Во својата чиста форма, ISERROR само тестира дали вредноста е грешка или не. Достапно е во сите верзии на Excel.
- Функцијата IFERROR е дизајнирана да ги потиснува или прикрива грешките - кога ќе се најде грешка, враќа друга вредност што ќе ја наведете. Достапен е во Excel 2007 и понова верзија.
На прв поглед, IFERROR изгледа како стенографска алтернатива на формулата IF ISERROR. Меѓутоа, ако погледнете подетално, можете да ја забележите разликата:
- IFERROR ви овозможува да наведете само value_if_error . Ако нема грешка, секогаш го враќа резултатот од тестираната вредност/формула.
- АКО ISERROR обезбедува поголема флексибилност и ви овозможува да се справите со двете ситуации - што треба да се случи ако има грешка, а што ако нема грешка.
За подобро да се илустрира поентата, разгледајте ги овие формули:
=IFERROR(A1, "Calculation error")
=IF(ISERROR(A1), "Calculation error", A1)
Овие две формули се еквивалентни - и двете проверуваат вредност водена од формула во А1 и враќање„Грешка во пресметката“ ако е грешка, во спротивно - вратете ја вредноста.
Но, што ако сакате да извршите некоја пресметка ако вредноста во А1 не е грешка? Функцијата IFERROR не може да го направи тоа. Во случај на IF ISERROR, само напишете ја саканата пресметка во последниот аргумент. На пример:
=IF(ISERROR(A1), "Calculation error", A1*2)
Како што гледате, оваа подолга варијација на формулата IFERROR, која често се смета за застарена, сè уште може да биде корисна :)
Достапни преземања
Примери на формула ISERROR (датотека .xlsx)