Ši pamoka parodo, kaip naudoti „Excel IFERROR“ funkciją formulių klaidoms surasti, pakeičiant jas kita formule, tuščia reikšme, 0 arba pasirinktiniu pranešimu.
IFERROR funkcijų apžvalga
Funkcija IFERROR tikrina, ar formulė sukelia klaidą. Jei klaidinga, grąžinkite pradinį formulės rezultatą. Jei TRUE, grąžinkite kitą nurodytą vertę.
Norėdami naudoti „IFERROR Excel“ darbalapio funkciją, pasirinkite langelį ir įveskite:
(Atkreipkite dėmesį, kaip atrodo formulės įvestys)
IFERROR funkcijos sintaksė ir įvestys:
= IFERROR (VALUE, value_if_error)
vertės - Išraiška. Pavyzdys: 4/A1
value_if_error - Reikšmė arba skaičiavimas, kurį reikia atlikti, jei dėl ankstesnio įvesties įvyko klaida. 0 pavyzdys arba „“ (tuščia)
Kas yra IFERROR funkcija?
Funkcija IFERROR priklauso „Microsoft Excel“ loginių funkcijų kategorijai, į kurią įeina ISNA, ISERROR ir ISERR. Visos šios funkcijos padeda aptikti ir tvarkyti formulės klaidas.
IFERROR leidžia atlikti skaičiavimus. Jei skaičiavimas neturi atsiranda klaida, tada rodomas skaičiavimo rezultatas. Jei skaičiavimas daro atsiranda klaida, tada atliekamas kitas skaičiavimas (arba statinė reikšmė, pvz., 0, tuščias arba pateikiamas tam tikras tekstas).
Kada norėtumėte naudoti IFERROR funkciją?
- Dalijant skaičius, kad būtų išvengta klaidų, padarytų dalijant iš 0
- Atliekant paieškas, kad būtų išvengta klaidų, jei vertė nerasta.
- Jei norite atlikti kitą skaičiavimą, jei pirmasis sukelia klaidą (pvz., Ieškokite vertės 2antra lentelė, jei jos nėra pirmoje lentelėje)
Neapdorotos formulės klaidos gali sukelti klaidų darbaknygėje, tačiau dėl matomų klaidų skaičiuoklė tampa mažiau patraukli.
Jei klaida, tada 0
Pažvelkime į pagrindinį pavyzdį. Žemiau jūs padalijate du skaičius. Jei bandysite padalyti iš nulio, gausite klaidą:
Vietoj to, įterpkite skaičiavimą į funkciją IFERROR ir jei padalinsite iš nulio, vietoj klaidos bus išvestas 0:
= IFERROR (A2/B2,0)
Jei klaida, tada tuščia
Užuot nustatę klaidas į 0, galite jas nustatyti į „tuščias“ su dvigubomis kabutėmis („“):
= IFERROR (A2/B2, "")
Mes apžvelgsime daugiau IFERROR naudojimo būdų naudojant funkciją VLOOKUP …
IFERROR su VLOOKUP
Peržiūros funkcijos, tokios kaip „VLOOKUP“, sukurs klaidas, jei paieškos vertė nebus rasta. Kaip parodyta aukščiau, galite naudoti funkciją IFERROR, kad klaidas pakeistumėte tuščiais („“) arba 0:
= IFERROR (VLOOKUP (A2, „LookupTable1“! $ A $ 2: $ B $ 4,2, FALSE), „nerasta“)
Jei klaida, darykite ką nors kita
Funkcija IFERROR taip pat gali būti naudojama atliekant antrąjį skaičiavimą, jei dėl pirmojo skaičiavimo atsiranda klaida:
= IFERROR (VLOOKUP (A2, LookupTable1! $ A $ 2: $ B $ 4,2, FALSE), VLOOKUP (A2, LookupTable2! $ A $ 2: $ B $ 4,2, FALSE))
Čia, jei duomenų nerasta „LookupTable1“, VLOOKUP atliekamas „LookupTable2“.
Daugiau IFERROR formulės pavyzdžių
Įdėti IFERROR - VLOOKUP Keli lapai
Jei norite atlikti 3 atskirus skaičiavimus, galite įdėti IFERROR į kitą IFERROR. Čia mes naudosime du IFERRORS, norėdami atlikti VLOOKUP 3 atskiruose darbalapiuose:
= IFERROR (VLOOKUP (A2, LookupTable1! $ A $ 2: $ B $ 4,2, FALSE), IFERROR (VLOOKUP (A2, LookupTable2! $ A $ 2: $ B $ 4,2, FALSE), VLOOKUP (A2, LookupTable3! $ A $ 2: $ B $ 4,2, FALSE)))
Indeksas / rungtynės ir XLOOKUP
Žinoma, IFERROR taip pat veiks su „Index / Match“ ir „XLOOKUP“ formulėmis.
IFERROR XLOOKUP
Funkcija XLOOKUP yra išplėstinė VLOOKUP funkcijos versija.
= IFERROR (XLOOKUP (A2, „LookupTable1“! $ A $ 2: $ A $ 4, „LookupTable1“! $ B $ 2: $ B $ 4), „Nerasta“)
IFERROR INDEX / MATCH
INDEX ir MATCH gali būti naudojami kuriant galingesnius VLOOKUP (panašiai kaip veikia nauja XLOOKUP funkcija) programoje „Excel“.
= IFERROR (INDEX („LookupTable1“! $ B $ 2: $ B $ 4, MATCH (A3, „LookupTable1“! $ A $ 2: $ A $ 4,0)), „Nerasta“)
IFERROR masyvuose
„Excel“ masyvo formulės naudojamos keliems skaičiavimams atlikti naudojant vieną formulę. Tarkime, yra trys stulpeliai „Metai“, „Pardavimai“ ir „Vidutinė kaina“. Visą kiekį galite sužinoti naudodami šią stulpelio E formulę.
{= SUMA ($ B $ 2: $ B $ 4/$ C $ 2: $ C $ 4)}
Formulė veikia gerai, kol nebando padalyti iš nulio, todėl gaunamas #DIV/0! klaida.
Norėdami išspręsti klaidą, galite naudoti IFERROR funkciją:
{= SUMA (IFERROR ($ B $ 2: $ B $ 4/$ C $ 2: $ C $ 4,0))}
Atkreipkite dėmesį, kad funkcija IFERROR turi būti įdėta į funkciją SUM, kitaip IFERROR bus taikoma sumai, o ne kiekvienam atskiram masyvo elementui.
IFNA prieš IFERROR
IFNA funkcija veikia lygiai taip pat, kaip ir IFERROR funkcija, išskyrus tai, kad IFNA funkcija užfiksuos tik #N/A klaidas. Tai labai naudinga dirbant su peržiūros funkcijomis: įprastos formulės klaidos vis tiek bus aptiktos, tačiau klaida nebus rodoma, jei nerasite paieškos vertės.
= IFNA (VLOOKUP (A2, „LookupTable1“! $ A $ 2: $ B $ 4,2, FALSE), „Nerasta“)
Jei ISERROR
Jei vis dar naudojate „Microsoft Excel 2003“ ar senesnę versiją, IFERROR galite pakeisti IF ir ISERROR deriniu. Štai trumpas pavyzdys:
= IF (ISERROR (A2/B2), 0, A2/B2)
IFERROR „Google“ skaičiuoklėse
Funkcija IFERROR „Google“ skaičiuoklėse veikia taip pat, kaip ir „Excel“:
IFERROR VBA pavyzdžiai
VBA neturi integruotos IFERROR Fucntion, tačiau taip pat galite pasiekti Excel IFERROR funkciją iš VBA:
Dim n kaip ilgas n = Application.WorksheetFunction.IfError (reikšmė, value_if_error)
Application.WorksheetFunction suteikia prieigą prie daugelio (ne visų) „Excel“ funkcijų VBA.
Paprastai IFERROR naudojamas skaitant reikšmes iš langelių. Jei langelyje yra klaida, VBA gali išmesti klaidos pranešimą bandydamas apdoroti langelio vertę. Išbandykite tai naudodami toliau pateiktą kodo pavyzdį (kur B2 langelyje yra klaida):
Sub IFERROR_VBA () Dim n As Long, m As Long 'IFERROR n = Application.WorksheetFunction.IfError (Range ("b2"). Value, 0)' No IFERROR m = Range ("b2"). Value End Sub
Kodas kintamajam priskiria langelį B2. Antrasis kintamojo priskyrimas sukelia klaidą, nes langelio vertė yra #N/A, tačiau pirmasis veikia gerai dėl funkcijos IFERROR.
Taip pat galite naudoti VBA, kad sukurtumėte formulę, kurioje yra funkcija IFERROR:
Diapazonas ("C2"). FormulėR1C1 = "= IFERROR (RC [-2]/RC [-1], 0)"
Klaidų tvarkymas VBA yra daug kitoks nei „Excel“. Paprastai VBA klaidoms tvarkyti naudosite VBA klaidų tvarkymą. VBA klaidų tvarkymas atrodo taip:
Antrinis testas WS () „MsgBox“ ar „WSExist“ („testas“) Pabaigos poskyrio funkcija „WSExist“ („wsName As String“) kaip „Boolean Dim“ „ws“ kaip darbalapis apie klaidą Tęskite kitą nustatymą DoesWSExist = False Else DoesWSExist = True End if On Error GoTo -1 End Function
Atkreipkite dėmesį, kad mes naudojame Jei klaidos numeris 0 Tada nustatyti, ar įvyko klaida. Tai tipiškas būdas surasti klaidas VBA. Tačiau IFERROR funkcija gali būti naudojama sąveikaujant su „Excel“ langeliais.