Преглед садржаја
Водич се бави практичним коришћењем функције Екцел ИСЕРРОР и показује како да тестирате различите формуле за грешке.
Када напишете формулу коју Екцел не разуме или не може да израчуна, она вам скреће пажњу на проблем тако што приказује поруку о грешци. Функција ИСЕРРОР може вам помоћи да ухватите грешке и пружите алтернативу када се пронађе грешка.
функција ИСЕРРОР у Екцел-у
Екцел функција ИСЕРРОР хвата све врсте грешака, укључујући #ЦАЛЦ!, #ДИВ/0!, #Н/А, #НАМЕ?, #НУМ!, #НУЛЛ!, #РЕФ!, #ВАЛУЕ! и #СПИЛЛ!. Резултат је Боолеан вредност: ТРУЕ ако је грешка откривена, ФАЛСЕ у супротном.
Функција је доступна у свим верзијама програма Екцел 2000 до 2021 и Екцел 365.
Синтакса ИСЕРРОР Ова функција је једноставна:
ИСЕРРОР(валуе)Где је валуе вредност ћелије или формула коју треба проверити да ли има грешака.
Екцел формула ИСЕРРОР
Да бисте креирали формулу ИСЕРРОР у њеном најједноставнијем облику, наведите референцу на ћелију коју желите да тестирате на грешке. На пример:
=ISERROR(A2)
У случају да се пронађе било каква грешка, добићете ТРУЕ. Ако нема грешке у тестираној ћелији, добићете ФАЛСЕ:
ИФ ИСЕРРОР формулу у Екцел
Да бисте вратили прилагођену поруку или извршили другачији прорачун када дође до грешке, користите ИСЕРРОР заједно са функцијом ИФ. Генеричка формула изгледа овако:
ИФ(ИСЕРРОР( формула(…), тект_ор_цалцулатион_иф_еррор, формула())Преведено на људски језик, каже: ако је резултат главне формуле у грешци, прикажите наведени текст или покрените други прорачун, у супротном вратите нормалан резултат формуле.
На слици испод, дељење укупне количине са количином генерише неколико грешака у Цена колона:
Да бисте заменили све различите кодове грешака прилагођеним текстом, можете користити следећу формулу ИФ ИСЕРРОР:
=IF(ISERROR(A2/B2), "Unknown", A2/B2)
У Екцел 2007 и новијим верзијама, исти резултат се може постићи уз помоћ уграђене функције ИФЕРРОР:
=IFERROR(A2/B2, "Unknown")
Требало би да буде приметио је да формула ИФЕРРОР ради мало брже јер извршава израчунавање А2/Б2 само једном. Док је ИФ ИСЕРРОР израчунава двапут - прво да види да ли генерише грешку, а затим поново да ли је тест ФАЛСЕ.
ИФ ИСЕРРОР ВЛООКУП формула
Коришћење ИСЕРРОР са ВЛООКУП је, у ствари, посебан случај ИФ ИС Формула ГРЕШКА о којој је било речи горе. Када функција ВЛООКУП не може да пронађе тражену вредност или не успе из било ког другог разлога, приказујете прилагођену текстуалну поруку користећи ову синтаксу:
ИФ(ИСЕРРОР(ВЛООКУП(…)), " цустом_тект", ВЛООКУП(…))За овај пример, хајде да повучемо времена из табеле за претраживање (Д3:Е10) у главну табелу (А3:Б15). Ако тражена вредност (име учесника) не постоји утабела за претрагу, вратићемо „Није квалификован“.
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$10, 2, FALSE)), "Not qualified", VLOOKUP(A3, $D$3:$E$10, 2, FALSE))
Савет. Ако желите да прикажете прилагођени текст само када вредност тражења није пронађена (#Н/А грешка) игноришући друге грешке, онда користите формулу ИФНА ВЛООКУП у програму Екцел 2013 и новијим или ИФ ИСНА ВЛООКУП у старијим верзијама верзије.
ИФ ИСЕРРОР ИНДЕКС МАТЦХ формула
Када обављате претрагу уз помоћ комбинације ИНДЕКС МАТЦХ (или формуле ИНДЕКС КСМАТЦХ у Екцел 365), можете ухватити и руковати свим могућим грешкама користећи исту технику - функција ИСЕРРОР проверава да ли постоје грешке и ИФ приказује наведени текст када дође до грешке.
Претпоставимо да табела за тражење има времена у првој колони. Пошто ВЛООКУП не може да гледа улево, користимо формулу ИНДЕКС МАТЦХ да извучемо времена из колоне Д:
=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)))
Напомена. Као и код формуле ИФ ИСЕРРОР ВЛООКУП, има смисла ухватити само грешке #Н/А и не прикривати потенцијалне проблеме са самом формулом. За ово, умотајте своју ИНДЕКС МАТХ формулу у ИФНА у програму Екцел 2013 и новијим или ИФ ИСНА у старијим верзијама.
ИФИСЕРРОР Да/Не формула
У свим претходним примерима, ИФ ИСЕРРОР је вратио резултат главне формуле ако није грешка. Међутим, може да функционише и на другачији начин - врати нешто ако грешка и нешто друго ако нема грешке.
ИФ(ИСЕРРОР( формула (…)), " тект_иф_еррор " , " тект_иф_но_еррор ")У нашем узорку скупа података, претпоставимо да вас не занимају тачна времена, само желите да знате који учесници из групе А су квалификовани, а који нису. Да бисте то урадили, користите функцију МАТЦХ да упоредите име у колони А са листом квалификованих учесника у колони Д, а затим уручите резултате ИСЕРРОР. Ако име није доступно у колони Д (МАТЦХ враћа грешку), активирајте функцију ИФ да прикаже „Не“ или „Није квалификован“. Ако се име појави у колони Д (без грешке), вратите „Да“ или „Квалификовано“.
=IF(ISERROR(MATCH(A3, $D$3:$D$10, 0)), "No", "Yes" )
Како пребројати број грешака
Да бисте добили број грешака у одређеној колони, потребно је да проверите опсег, а не само једну ћелију. За ово, „нахраните“ циљни опсег на ИСЕРРОР и принудите враћене Булове вредности у 1 и 0 користећи двоструки унарни оператор (--). Функција СУМ или СУМПРОДУЦТ може да сабере бројеве и пружи коначни резултат.
На пример:
=SUM(--ISERROR(C2:C10))
Имајте на уму да ово ради као обична формула само у Екцел-у 365 и Екцел 2021, који подржавају динамичке низове. У програму Екцел 2019 и раније, випотребно је да притиснете Цтрл + Схифт + Ентер да бисте креирали формулу низа (не куцајте ручно заграде, то неће радити!):
{=SUM(--ISERROR(C2:C10))}
Алтернативно, можете користити СУМПРОДУЦТ функција која природно обрађује низове, тако да формула може да се заврши уобичајеним тастером Ентер у свим верзијама:
=SUMPRODUCT(--ISERROR(C2:C10))
Разлика између ИСЕРРОР и ИФЕРРОР у Екцел-у
И ИСЕРРОР и ИФЕРРОР функције се користе за хватање и руковање грешкама у Екцел-у. Разлика је у следећем:
- У свом чистом облику, ИСЕРРОР само тестира да ли је вредност грешка или не. Доступна је у свим верзијама Екцел-а.
- Функција ИФЕРРОР је дизајнирана да потисне или прикрије грешке – када се пронађе грешка, враћа другу вредност коју наведете. Доступан је у програму Екцел 2007 и новијим верзијама.
На први поглед, ИФЕРРОР изгледа као скраћена алтернатива формули ИФ ИСЕРРОР. Међутим, ако боље погледате, можете приметити разлику:
- ИФЕРРОР вам омогућава да наведете само валуе_иф_еррор . Ако нема грешке, увек враћа резултат тестиране вредности/формуле.
- ИФ ИСЕРРОР пружа већу флексибилност и омогућава вам да решите обе ситуације – шта би требало да се деси ако дође до грешке, а шта ако нема грешке.
Да бисте боље илустровали поенту, размотрите ове формуле:
=IFERROR(A1, "Calculation error")
=IF(ISERROR(A1), "Calculation error", A1)
Ове две формуле су еквивалентне – обе проверавају вредност засновану на формули у А1 и повратак"Грешка у прорачуну" ако је грешка, у супротном - вратите вредност.
Али шта ако желите да извршите неки прорачун ако вредност у А1 није грешка? Функција ИФЕРРОР не може то да уради. У случају ИФ ИСЕРРОР, само унесите жељени прорачун у последњи аргумент. На пример:
=IF(ISERROR(A1), "Calculation error", A1*2)
Као што видите, ова дужа варијација формуле ИФЕРРОР, која се често сматра застарелом, и даље може бити корисна :)
Доступна преузимања
Примери формуле ИСЕРРОР (.клск датотека)