Turinys
Šioje pamokoje parodoma, kaip naudoti IFERROR "Excel" programoje, kad būtų galima užfiksuoti klaidas ir pakeisti jas tuščiu langeliu, kita verte arba pasirinktiniu pranešimu. Sužinosite, kaip naudoti funkciją IFERROR su "Vlookup" ir "Index Match" ir kaip ją palyginti su IF ISERROR ir IFNA.
"Duokite man vietą, kur stovėti, ir aš pajudinsiu žemę", - kartą pasakė Archimedas. "Duokite man formulę, ir aš priverčiu ją grąžinti klaidą", - pasakytų "Excel" naudotojas. Šioje pamokoje nenagrinėsime, kaip "Excel" programoje grąžinti klaidas, verčiau mokysimės, kaip jų išvengti, kad jūsų darbalapiai būtų švarūs, o formulės skaidrios.
"Excel" funkcija IFERROR - sintaksė ir pagrindiniai naudojimo būdai
"Excel" funkcija IFERROR skirta formulėse ir skaičiavimuose esančioms klaidoms fiksuoti ir valdyti. Tiksliau, funkcija IFERROR tikrina formulę ir, jei ji įvertinama kaip klaida, grąžina kitą nurodytą reikšmę; priešingu atveju grąžinamas formulės rezultatas.
"Excel" funkcijos IFERROR sintaksė yra tokia:
IFERROR(value, value_if_error)Kur:
- Vertė (privaloma) - ką tikrinti dėl klaidų. Tai gali būti formulė, išraiška, reikšmė arba ląstelės nuoroda.
- Value_if_error (privaloma) - ką grąžinti, jei randama klaida. Tai gali būti tuščia eilutė (tuščias langelis), tekstinis pranešimas, skaitinė reikšmė, kita formulė arba skaičiavimas.
Pavyzdžiui, dalydami du skaičių stulpelius galite gauti daugybę skirtingų klaidų, jei viename iš stulpelių yra tuščių langelių, nulių arba teksto.
Kad taip nenutiktų, naudokite funkciją IFERROR, kad klaidas gaudytumėte ir tvarkytumėte taip, kaip norite.
Jei klaida, tada tuščia
Į komandą "Tuščias eilutė" (") įveskite tuščią eilutę value_if_error argumentas, kad būtų grąžinamas tuščias langelis, jei randama klaida:
=IFERROR(A2/B2, "")
Jei klaida, rodomas pranešimas
Taip pat galite rodyti savo pranešimą vietoj "Excel" standartinio klaidos užrašo:
=IFERROR(A2/B2, "Skaičiavimo klaida")
5 dalykai, kuriuos turėtumėte žinoti apie "Excel" funkciją IFERROR
- Funkcija IFERROR "Excel" tvarko visų tipų klaidas, įskaitant #DIV/0!, #N/A, #NAME?, #NULL!, #NUM!, #REF! ir #VALUE!.
- Priklausomai nuo turinio value_if_error argumentas, IFERROR gali pakeisti klaidas pasirinktiniu tekstiniu pranešimu, skaičiumi, data ar logine verte, kitos formulės rezultatu arba tuščia eilute (tuščiu langeliu).
- Jei vertė argumentas yra tuščias langelis, jis laikomas tuščia eilute ('''), bet ne klaida.
- IFERROR buvo įdiegta "Excel 2007" ir yra visose vėlesnėse "Excel 2010", "Excel 2013", "Excel 2016", "Excel 2019", "Excel 2021" ir "Excel 365" versijose.
- Norėdami "Excel 2003" ir ankstesnėse versijose užfiksuoti klaidas, naudokite funkciją ISERROR kartu su IF, kaip parodyta šiame pavyzdyje.
IFERROR formulės pavyzdžiai
Toliau pateiktuose pavyzdžiuose parodyta, kaip "Excel" programoje naudoti IFERROR kartu su kitomis funkcijomis sudėtingesnėms užduotims atlikti.
"Excel" IFERROR su Vlookup
Vienas iš dažniausiai pasitaikančių funkcijos IFERROR panaudojimo būdų - pranešti naudotojams, kad ieškoma reikšmė duomenų rinkinyje neegzistuoja. Šiuo tikslu VLOOKUP formulę į IFERROR įtraukite taip:
IFERROR(VLOOKUP( ... ), "Nerastas")Jei paieškos reikšmės nėra ieškomoje lentelėje, naudojant įprastą Vlookup formulę bus grąžinta klaida #N/A:
Kad naudotojai būtų ramūs, VLOOKUP įrašykite į IFERROR ir rodykite informatyvesnį ir patogesnį pranešimą:
=IFERROR(VLOOKUP(A2, 'Lookup table'!$A$2:$B$4, 2,FALSE), "Nerastas")
Toliau pateiktame paveikslėlyje parodyta ši Iferror formulė "Excel" programoje:
Jei norite gaudyti tik #N/A klaidas, bet ne visas klaidas, vietoj funkcijos IFERROR naudokite funkciją IFNA.
Daugiau "Excel" IFERROR VLOOKUP formulės pavyzdžių rasite šiuose vadovėliuose:
- "Iferror" su "Vlookup" klaidoms gaudyti ir tvarkyti
- Kaip gauti N-ąjį paieškos vertės atsiradimą
- Kaip gauti visus paieškos vertės pasikartojimus
Įterptinės IFERROR funkcijos, skirtos atlikti nuoseklią Vlookup programą "Excel
Kai reikia atlikti kelis Vlookup, atsižvelgiant į tai, ar ankstesnis Vlookup pavyko, ar ne, galite įterpti dvi ar daugiau IFERROR funkcijų vieną į kitą.
Tarkime, kad turite keletą pardavimo ataskaitų iš regioninių įmonės filialų ir norite gauti tam tikro užsakymo ID sumą. Kai A2 yra einamojo lapo paieškos reikšmė, o A2:B5 yra paieškos intervalas 3 paieškos lapuose (1 ataskaita, 2 ataskaita ir 3 ataskaita), formulė yra tokia:
=IFERROR(VLOOKUP(A2,'Ataskaita 1'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Ataskaita 2'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Ataskaita 3'!A2:B5,2,0), "nerasta"))))
Rezultatas bus panašus į šį:
Išsamų formulės logikos paaiškinimą rasite straipsnyje Kaip atlikti nuoseklią Vlookup programą "Excel".
IFERROR masyvo formulėse
Kaip tikriausiai žinote, masyvų formulės "Excel" programoje skirtos atlikti kelis skaičiavimus vienoje formulėje. Jei pateikiate masyvų formulę arba išraišką, kurios rezultatas yra masyvas vertė funkcijos IFERROR argumentą, būtų grąžinamas kiekvienos nurodyto intervalo ląstelės reikšmių masyvas. Toliau pateiktame pavyzdyje parodyta išsami informacija.
Tarkime, turite Iš viso B stulpelyje ir Kaina C stulpelyje ir norite apskaičiuoti Bendras kiekis . Tai galima padaryti naudojant šiuos veiksmus masyvo formulė, kuris kiekvieną intervalo B2:B4 langelį padalina iš atitinkamo intervalo C2:C4 langelio ir sudeda rezultatus:
=SUM($B$2:$B$4/$C$2:$C$4)
Formulė veikia gerai, jei daliklio intervale nėra nulių arba tuščių langelių. Jei yra bent viena 0 reikšmė arba tuščias langelis, grąžinama #DIV/0! klaida:
Norėdami ištaisyti šią klaidą, tiesiog atlikite padalijimą per funkciją IFERROR:
=SUM(IFERROR($B$2:$B$4/$C$2:$C$4,0))
Ši formulė kiekvienoje eilutėje (100/2, 200/5 ir 0/0) B stulpelio reikšmę dalina iš C stulpelio reikšmės ir grąžina rezultatų masyvą {50; 40; #DIV/0!}. Funkcija IFERROR fiksuoja visas #DIV/0! klaidas ir pakeičia jas nuliais. Tada funkcija SUM sudeda gauto masyvo {50; 40; 0} reikšmes ir pateikia galutinį rezultatą (50+40=90).
Pastaba. Atminkite, kad masyvų formules reikia užbaigti paspaudus spartųjį klavišą Ctrl + Shift + Enter.
IFERROR ir IF ISERROR
Dabar, kai jau žinote, kaip lengva naudoti funkciją IFERROR "Excel" programoje, jums gali kilti klausimas, kodėl kai kurie žmonės vis dar linkę naudoti kombinaciją IF ISERROR. Ar ji turi kokių nors pranašumų, palyginti su IFERROR? Jokių. Senais blogais "Excel 2003" ir vėlesniais laikais, kai IFERROR nebuvo, IF ISERROR buvo vienintelis įmanomas klaidų gaudymo būdas. 2007 m. ir vėlesnėse "Excel" programose tai tik šiek tiek sudėtingesnis būdaspasiekti tą patį rezultatą.
Pavyzdžiui, norėdami užfiksuoti "Vlookup" klaidas, galite naudoti vieną iš toliau pateiktų formulių.
"Excel 2007" - "Excel 2016":
IFERROR(VLOOKUP( ... ), "Nerastas")Visose "Excel" versijose:
IF(ISERROR(VLOOKUP(...)), "Nerastas", VLOOKUP(...))Atkreipkite dėmesį, kad formulėje IF ISERROR VLOOKUP reikia du kartus atlikti Vlookup. Paprastai formulę galima perskaityti taip: Jei Vlookup rezultatas yra klaida, grąžinkite "Not found", kitu atveju išveskite Vlookup rezultatą.
Štai realus "Excel" formulės If Iserror Vlookup pavyzdys:
=IF(ISERROR(VLOOKUP(D2, A2:B5,2,FALSE)), "Nerastas", VLOOKUP(D2, A2:B5,2,FALSE ))
Daugiau informacijos rasite skyriuje ISERROR funkcijos naudojimas "Excel" programoje.
IFERROR ir IFNA
Nuo "Excel 2013" įdiegta funkcija IFNA yra dar viena funkcija, skirta patikrinti, ar formulėje nėra klaidų. Jos sintaksė panaši į IFERROR:
IFNA(value, value_if_na)Kuo funkcija IFNA skiriasi nuo funkcijos IFERROR? Funkcija IFNA sugauna tik #N/A klaidos o IFERROR tvarko visų tipų klaidas.
Kokiais atvejais gali tekti naudoti IFNA? Kai neprotinga paslėpti visas klaidas. Pavyzdžiui, dirbant su svarbiais ar jautriais duomenimis, gali tekti įspėti apie galimas duomenų rinkinio klaidas, o standartiniai "Excel" klaidų pranešimai su simboliu "#" gali būti ryškūs vizualiniai indikatoriai.
Pažiūrėkime, kaip galima sukurti formulę, kuri vietoj klaidos "N/A", kuri rodoma, kai paieškos reikšmės duomenų rinkinyje nėra, rodytų pranešimą "Nerastas", bet atkreiptų jūsų dėmesį į kitas "Excel" klaidas.
Tarkime, norite iš paieškos lentelės į suvestinę lentelę perkelti Qty. kaip parodyta toliau pateiktoje ekrano kopijoje. Naudojant "Excel" Iferror Vlookup formulę gautumėte estetiškai patrauklų rezultatą, kuris yra techniškai neteisingas, nes Citrinos yra paieškos lentelėje:
Jei norite užfiksuoti #N/A, bet rodyti klaidą #DIV/0, "Excel 2013" ir "Excel 2016" naudokite funkciją IFNA:
=IFNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE), "Nerastas")
Arba IF ISNA kombinacija "Excel 2010" ir ankstesnėse versijose:
=IF(ISNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE)), "Nerastas", VLOOKUP(F3,$A$3:$D$6,4,FALSE))
IFNA VLOOKUP ir IF ISNA VLOOKUP formulių sintaksė panaši į anksčiau aptartą IFERROR VLOOKUP ir IF ISERROR VLOOKUP sintaksę.
Kaip parodyta toliau pateiktoje ekrano kopijoje, "Ifna Vlookup" formulė grąžina "Nerastas" tik tam elementui, kurio nėra paieškos lentelėje ( Persikai ). Citrinos rodoma #DIV/0!, o tai reiškia, kad mūsų paieškos lentelėje yra dalybos iš nulio klaida:
Išsamesnės informacijos rasite skyriuje Funkcijos IFNA naudojimas programoje "Excel".
Geriausia "Excel" programos IFERROR naudojimo praktika
Dabar jau žinote, kad funkcija IFERROR yra lengviausias būdas "Excel" programoje užfiksuoti klaidas ir užmaskuoti jas tuščiais langeliukais, nulinėmis reikšmėmis arba pasirinktiniais pranešimais. Tačiau tai nereiškia, kad kiekvieną formulę turėtumėte apipinti klaidų tvarkymu. Toliau pateiktos paprastos rekomendacijos gali padėti išlaikyti pusiausvyrą.
- Nepaimkite klaidų be priežasties.
- Mažiausią įmanomą formulės dalį įvyniokite į IFERROR.
- Jei norite tvarkyti tik konkrečias klaidas, naudokite mažesnės apimties klaidų tvarkymo funkciją:
- IFNA arba IF ISNA, kad būtų gautos tik #N/A klaidos.
- ISERR, kad būtų gautos visos klaidos, išskyrus #N/A.
Taip "Excel" programoje naudojate funkciją IFERROR klaidoms gaudyti ir tvarkyti. Jei norite atidžiau susipažinti su šiame vadovėlyje aptartomis formulėmis, kviečiame atsisiųsti pavyzdinę IFERROR "Excel" darbo knygą. Dėkoju, kad perskaitėte, ir tikiuosi, kad kitą savaitę susitiksime mūsų tinklaraštyje.