ISERROR funkcija "Excel" programoje su formulės pavyzdžiais

  • Pasidalinti
Michael Brown

Šioje pamokoje nagrinėjamas praktinis "Excel" funkcijos ISERROR naudojimas ir parodoma, kaip patikrinti, ar įvairiose formulėse nėra klaidų.

Kai parašote formulę, kurios "Excel" nesupranta arba negali apskaičiuoti, ji atkreipia jūsų dėmesį į problemą rodydama klaidos pranešimą. Funkcija ISERROR gali padėti užfiksuoti klaidas ir pateikti alternatyvą, kai randama klaida.

    ISERROR funkcija programoje "Excel

    "Excel" funkcija ISERROR fiksuoja visų rūšių klaidas, įskaitant #CALC!, #DIV/0!, #N/A, #NAME?, #NUM!, #NULL!, #REF!, #VALUE! ir #SPILL!. Rezultatas yra loginė reikšmė: TRUE, jei aptikta klaida, FALSE, jei ne.

    Šią funkciją galima naudoti visose "Excel 2000-2021" ir "Excel 365" versijose.

    Funkcijos ISERROR sintaksė yra tokia paprasta:

    ISERROR(vertė)

    Kur vertė yra ląstelės vertė arba formulė, kurioje bus tikrinama, ar nėra klaidų.

    "Excel" ISERROR formulė

    Norėdami sukurti paprasčiausią formulę ISERROR, pateikite nuorodą į ląstelę, kurioje norite patikrinti, ar nėra klaidų. Pavyzdžiui:

    =ISERROR(A2)

    Jei bus rasta kokia nors klaida, gausite TRUE. Jei tikrinamame langelyje klaidos nėra, gausite FALSE:

    IF ISERROR formulė programoje "Excel

    Norėdami grąžinti pasirinktinį pranešimą arba atlikti kitokį skaičiavimą, kai įvyksta klaida, naudokite ISERROR kartu su funkcija IF. Bendroji formulė atrodo taip:

    IF(ISERROR( formulė (...), text_or_calculation_if_error , formulė ())

    Išvertus į žmonių kalbą, čia sakoma: jei pagrindinė formulė sukelia klaidą, rodykite nurodytą tekstą arba atlikite kitą skaičiavimą, kitu atveju grąžinkite įprastą formulės rezultatą.

    Toliau pateiktame paveikslėlyje, dalijant bendrą sumą iš kiekio, atsiranda kelios klaidos Kaina stulpelis:

    Norėdami pakeisti visus skirtingus klaidų kodus pasirinktiniu tekstu, galite naudoti šią formulę IF ISERROR:

    =IF(ISERROR(A2/B2), "Nežinomas", A2/B2)

    "Excel 2007" ir vėlesnėse versijose tą patį rezultatą galima pasiekti naudojant integruotą funkciją IFERROR:

    =IFERROR(A2/B2, "Nežinomas")

    Reikėtų pažymėti, kad formulė IFERROR veikia šiek tiek greičiau, nes ji atlieka A2/B2 skaičiavimą tik vieną kartą. Tuo tarpu IF ISERROR jį apskaičiuoja du kartus - iš pradžių, kad patikrintų, ar nesukelia klaidos, o paskui dar kartą, jei testas yra FALSE.

    IF ISERROR VLOOKUP formulė

    ISERROR naudojimas su VLOOKUP iš tikrųjų yra specifinis pirmiau aptartos IF ISERROR formulės atvejis. Kai VLOOKUP funkcija neranda paieškos reikšmės arba nepavyksta jos rasti dėl kitos priežasties, naudodami šią sintaksę galite rodyti pasirinktinį teksto pranešimą:

    IF(ISERROR(VLOOKUP(...)), " custom_text ", VLOOKUP(...))

    Šiame pavyzdyje iš paieškos lentelės (D3:E10) į pagrindinę lentelę (A3:B15) perkelsime laikus. Jei paieškos vertė (dalyvio vardas) neegzistuoja paieškos lentelėje, grąžinsime "Neatitinka reikalavimų".

    =IF(ISERROR(VLOOKUP(A3, $D$3:$E$10, 2, FALSE)), "Neatitinka reikalavimų", VLOOKUP(A3, $D$3:$E$10, 2, FALSE))

    Patarimas. Jei norite rodyti pasirinktinį tekstą tik tada, kai nerandama paieškos vertė (#N/A klaida), ignoruodami kitas klaidas, tada "Excel 2013" ir vėlesnėse versijose naudokite IFNA VLOOKUP formulę, o senesnėse versijose - IF ISNA VLOOKUP.

    IF ISERROR INDEX MATCH formulė

    Atlikdami paiešką pagal INDEX MATCH derinį (arba INDEX XMATCH formulę programoje "Excel 365"), galite gaudyti ir tvarkyti galimas klaidas naudodami tą patį metodą - funkcija ISERROR tikrina, ar nėra klaidų, ir IF rodo nurodytą tekstą, kai įvyksta kokia nors klaida.

    IF(ISERROR(INDEX ( return_column , MATCH ( lookup_value , lookup_column , 0)))), " custom_text ", INDEX ( return_column , MATCH ( lookup_value , lookup_column , 0)))

    Tarkime, kad paieškos lentelės pirmajame stulpelyje yra laikai. Kadangi VLOOKUP negali žiūrėti į kairę, laikams iš D stulpelio ištraukti naudojame INDEX MATCH formulę:

    =INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))

    Tada ją įterpkite į pirmiau minėtą bendrąją formulę, kad sugautas klaidas pakeistumėte bet kokiu norimu tekstu:

    =IF(ISERROR(INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0)), "Neatitinka reikalavimų", INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0)))

    Pastaba. Kaip ir su VLOOKUP formule IF ISERROR, prasmingiau gaudyti tik #N/A klaidas ir neslėpti galimų problemų pačioje formulėje. Šiuo tikslu "Excel 2013" ir naujesnėse versijose savo INDEX MATH formulę apgaubkite IFNA, o ankstesnėse versijose - IF ISNA.

    IF ISERROR Taip/Ne formulė

    Visuose ankstesniuose pavyzdžiuose IF ISERROR grąžino pagrindinės formulės rezultatą, jei tai nėra klaida. Tačiau ji gali veikti ir kitaip - grąžinti ką nors, jei klaida, ir ką nors kita, jei klaidos nėra.

    IF(ISERROR( formulė (...)), " text_if_error ", " text_if_no_error ")

    Tarkime, kad mūsų pavyzdiniame duomenų rinkinyje jums neįdomūs tikslūs laikai, tiesiog norite sužinoti, kurie A grupės dalyviai atitinka reikalavimus, o kurie ne. Norėdami tai padaryti, naudokite funkciją MATCH, kad palygintumėte A stulpelyje esantį vardą su D stulpelyje esančiu reikalavimus atitinkančių dalyvių sąrašu, o tada rezultatus pateikite ISERROR. Jei D stulpelyje vardo nėra (MATCH grąžina klaidą), gaukiteJei pavadinimas yra D stulpelyje (klaidos nėra), grąžinama "Taip" arba "Kvalifikuotas".

    =IF(ISERROR(MATCH(A3, $D$3:$D$10, 0)), "Ne", "Taip" )

    Kaip suskaičiuoti klaidų skaičių

    Norėdami sužinoti klaidų skaičių tam tikrame stulpelyje, turite tikrinti ne vieną langelį, o diapazoną. Šiuo tikslu "paduokite" tikslinį diapazoną į ISERROR ir, naudodami dvigubą vienaženklį operatorių (--), paverskite gautas logines reikšmes 1 ir 0. Funkcija SUM arba SUMPRODUCT gali sudėti skaičius ir pateikti galutinį rezultatą.

    Pavyzdžiui:

    =SUM(--ISERROR(C2:C10))

    Atkreipkite dėmesį, kad tai veikia kaip įprasta formulė tik "Excel 365" ir "Excel 2021" programose, kurios palaiko dinaminius masyvus. 2019 m. ir ankstesnėse programose, norėdami sukurti masyvo formulę, turite paspausti Ctrl + Shift + Enter (neįveskite lenktųjų skliaustų rankiniu būdu, tai neveiks!):

    {=SUM(--ISERROR(C2:C10))}

    Taip pat galite naudoti funkciją SUMPRODUCT, kuri natūraliai apdoroja masyvus, todėl formulę galima užbaigti naudojant visose versijose įprastą Enter klavišą:

    =SUMPRODUKT(--ISERROR(C2:C10))

    Skirtumas tarp ISERROR ir IFERROR programoje "Excel

    Ir ISERROR, ir IFERROR funkcijos naudojamos "Excel" klaidoms gaudyti ir tvarkyti. Skirtumas yra toks:

    • Grynuoju pavidalu ISERROR tiesiog tikrina, ar reikšmė yra klaida, ar ne. Ją galima naudoti visose "Excel" versijose.
    • Funkcija IFERROR skirta klaidoms slopinti arba užmaskuoti - nustačius klaidą, ji grąžina kitą jūsų nurodytą reikšmę. Ši funkcija veikia "Excel 2007" ir naujesnėse versijose.

    Iš pirmo žvilgsnio IFERROR atrodo kaip sutrumpinta IF ISERROR formulės alternatyva. Tačiau pažvelgę atidžiau pastebėsite skirtumą:

    • IFERROR leidžia nurodyti tik value_if_error Jei klaidos nėra, visada grąžinamas testuojamos reikšmės (formulės) rezultatas.
    • IF ISERROR suteikia daugiau lankstumo ir leidžia tvarkyti abi situacijas - kas turėtų nutikti, jei įvyko klaida, ir kas, jei klaidos nėra.

    Norėdami geriau iliustruoti šią mintį, panagrinėkite šias formules:

    =IFERROR(A1, "Skaičiavimo klaida")

    =IF(ISERROR(A1), "Skaičiavimo klaida", A1)

    Šios dvi formulės yra lygiavertės - abi tikrina A1 formulės reikšmę ir grąžina "Skaičiavimo klaida", jei tai klaida, kitu atveju - grąžina reikšmę.

    Tačiau ką daryti, jei norite atlikti kokį nors skaičiavimą, jei A1 reikšmė nėra klaida? Funkcija IFERROR to padaryti negali. Funkcijos IF ISERROR atveju paskutiniame argumente tiesiog įveskite norimą skaičiavimą. Pvz:

    =IF(ISERROR(A1), "Skaičiavimo klaida", A1*2)

    Kaip matote, šis ilgesnis IFERROR formulės variantas, kuris dažnai laikomas pasenusiu, vis dar gali būti naudingas :)

    Galimi atsisiuntimai

    ISERROR formulės pavyzdžiai (.xlsx failas)

    Michaelas Brownas yra atsidavęs technologijų entuziastas, mėgstantis supaprastinti sudėtingus procesus naudojant programinės įrangos įrankius. Turėdamas daugiau nei dešimtmetį patirtį technologijų pramonėje, jis patobulino savo įgūdžius „Microsoft Excel“ ir „Outlook“, taip pat „Google“ skaičiuoklėse ir dokumentuose. Michaelio tinklaraštis skirtas dalytis savo žiniomis ir patirtimi su kitais, jame pateikiami lengvai įgyvendinami patarimai ir vadovėliai, kaip pagerinti produktyvumą ir efektyvumą. Nesvarbu, ar esate patyręs profesionalas, ar pradedantysis, Michaelo tinklaraštyje rasite vertingų įžvalgų ir praktinių patarimų, kaip išnaudoti visas šių pagrindinių programinės įrangos įrankių galimybes.