Tämä opetusohjelma osoittaa, kuinka Excel IFERROR -toiminnon avulla voidaan havaita kaavavirheet ja korvata ne toisella kaavalla, tyhjällä arvolla, 0: lla tai mukautetulla viestillä.
IFERROR -toiminnon yleiskatsaus
IFERROR -toiminto tarkistaa, johtaako kaava virheeseen. Jos EPÄTOSI, palauta kaavan alkuperäinen tulos. Jos TOSI, palauta toinen määritetty arvo.
IFERROR Syntaksi
Jos haluat käyttää IFERROR Excel -laskentataulukkotoimintoa, valitse solu ja kirjoita:= IFERROR (
Huomaa, miten IFERROR -kaavan syötteet näkyvät:
IFERROR -toiminnon syntaksi ja tulot:
1 | = IFERROR (VALUE, value_if_error) |
arvo - Ilmaus. Esimerkki: 4/A1
value_if_error - Arvo tai laskenta suoritettavaksi, jos edellinen syöttö aiheuttaa virheen. Esimerkki 0 tai “” (tyhjä)
Mikä on IFERROR -toiminto?
IFERROR -toiminto kuuluu Microsoft Excelin loogisten toimintojen luokkaan, johon kuuluvat ISNA, ISERROR ja ISERR. Kaikki nämä toiminnot auttavat havaitsemaan ja käsittelemään kaavavirheitä.
IFERROR mahdollistaa laskennan suorittamisen. Jos laskenta ei aiheuttaa virheen, laskentatulos näytetään. Jos laskenta tekee tuloksena virhe, suoritetaan toinen laskutoimitus (tai staattinen arvo, kuten 0, tyhjä tai tulostetaan tekstiä).
Milloin käytät IFERROR -toimintoa?
- Kun jaat numerot välttääksesi 0: sta jakamisen aiheuttamat virheet
- Kun suoritat hakuja virheiden estämiseksi, jos arvoa ei löydy.
- Kun haluat suorittaa toisen laskelman, jos ensimmäinen johtaa virheeseen (esim. Hae arvo arvosta 2toinen taulukko, jos sitä ei löydy ensimmäisestä taulukosta)
Käsittelemättömät kaavavirheet voivat aiheuttaa virheitä työkirjassa, mutta näkyvät virheet tekevät myös laskentataulukostasi vähemmän houkuttelevan.
Jos virhe sitten 0
Katsotaanpa perusesimerkki. Alla jaat kaksi numeroa. Jos yrität jakaa nollalla, saat virheilmoituksen:
Lisää sen sijaan lasku IFERROR -funktioon ja jos jaat nollalla, tulostuu virheen sijasta 0:
1 | = VIRHE (A2/B2,0) |
Jos virhe, niin tyhjä
Sen sijaan, että asetat virheet 0: ksi, voit asettaa ne tyhjäksi lainausmerkeillä (""):
1 | = VIRHE (A2/B2, "") |
Tarkastelemme lisää IFERROR -käyttötapoja VLOOKUP -toiminnolla…
IFERROR ja VLOOKUP
Hakutoiminnot, kuten VLOOKUP, tuottavat virheitä, jos hakuarvoa ei löydy. Kuten yllä on esitetty, voit käyttää IFERROR -toimintoa virheiden korvaamiseen tyhjillä (“”) tai 0 -arvoilla:
1 | = IFERROR (VLOOKUP (A2, Hakutaulukko1! $ A $ 2: $ B $ 4,2, EPÄTOSI), "ei löydy") |
Jos virhe, tee jotain muuta
IFERROR -toimintoa voidaan käyttää myös toisen laskennan suorittamiseen, jos ensimmäinen laskelma aiheuttaa virheen:
12 | = VIRHE (VLOOKUP (A2, Hakutaulukko1! $ A $ 2: $ B $ 4,2, EPÄTOSI),VLOOKUP (A2, Hakutaulukko2! $ A $ 2: $ B $ 4,2, EPÄTOSI)) |
Tässä tapauksessa, jos tietoja ei löydy LookupTable1 -luettelosta, VLOOKUP suoritetaan sen sijaan LookupTable2 -sivustolla.
Lisää IFERROR -kaavan esimerkkejä
Sisäkkäiset IFERROR - VLOOKUP Useat arkit
Voit liittää IFERRORin toiseen IFERRORiin suorittaaksesi kolme erillistä laskentaa. Tässä käytämme kahta IFERRORIA VLOOKUPien suorittamiseen kolmella erillisellä laskentataulukolla:
123 | = VIRHE (VLOOKUP (A2, Hakutaulukko1! $ A $ 2: $ B $ 4,2, EPÄTOSI),IFERROR (VLOOKUP (A2, Hakutaulukko2! $ A $ 2: $ B $ 4,2, FALSE),VLOOKUP (A2, Hakutaulukko3! $ A $ 2: $ B $ 4,2, EPÄTOSI))) |
Hakemisto / Match & XLOOKUP
Tietysti IFERROR toimii myös Index / Match- ja XLOOKUP -kaavojen kanssa.
IFERROR XLOOKUP
XLOOKUP -toiminto on VLOOKUP -toiminnon edistynyt versio.
1 | = IFERROR (XLOOKUP (A2, Hakutaulukko1! $ A $ 2: $ A $ 4, Hakutaulukko1! $ B $ 2: $ B $ 4), "Ei löydy") |
IFERROR INDEX / MATCH
INDEXin ja MATCHin avulla voidaan luoda tehokkaampia VLOOKUP -tiedostoja (samanlainen kuin uuden XLOOKUP -toiminnon toiminta) Excelissä.
1 | = IFERROR (INDEX (Hakutaulukko1! $ B $ 2: $ B $ 4, MATCH (A3, Hakutaulukko1! $ A $ 2: $ A $ 4,0)), "Ei löydy") |
IFERROR Arrayissa
Excelin taulukkokaavoja käytetään useiden laskelmien suorittamiseen yhden kaavan avulla. Oletetaan, että on kolme saraketta Vuosi, Myynti ja Keskimääräinen hinta. Voit selvittää kokonaismäärän seuraavalla kaavalla E -sarakkeesta.
1 | {= SUMMA ($ B $ 2: $ B $ 4/$ C $ 2: $ C $ 4)} |
Kaava toimii hyvin, kunnes se yrittää jakaa nollalla, jolloin tuloksena on #DIV/0! virhe.
Voit korjata virheen käyttämällä IFERROR -toimintoa seuraavasti:
1 | {= SUMMA (VIRHE ($ B $ 2: $ B $ 4/$ C $ 2: $ C $ 4,0))} |
Huomaa, että IFERROR -funktion on oltava sisäkkäin SUM -funktion sisällä, muuten IFERROR -arvoa sovelletaan kokonaissummaan eikä jokaiseen yksittäiseen taulukon kohteeseen.
IFNA vs. IFERROR
IFNA -toiminto toimii täsmälleen samalla tavalla kuin IFERROR -toiminto, paitsi että IFNA -toiminto havaitsee vain #N/A -virheet. Tämä on erittäin hyödyllistä hakutoimintojen kanssa työskenneltäessä: tavalliset kaavavirheet havaitaan edelleen, mutta virheilmoitusta ei näy, jos hakuarvoa ei löydy.
1 | = IFNA (VLOOKUP (A2, Hakutaulukko1! $ A $ 2: $ B $ 4,2, EPÄTOSI), "Ei löydy") |
Jos ISERROR
Jos käytät edelleen Microsoft Excel 2003: ta tai vanhempaa versiota, voit korvata IFERROR: n IF- ja ISERROR -yhdistelmällä. Tässä on lyhyt esimerkki:
1 | = JOS (VIRHE (A2/B2), 0, A2/B2) |
IFERROR Google Sheetsissä
IFERROR -toiminto toimii täsmälleen samalla tavalla Google Sheetsissä kuin Excelissä:
IFERROR Esimerkkejä VBA: sta
VBA: ssa ei ole sisäänrakennettua IFERROR Fucntionia, mutta voit käyttää myös Excel IFERROR -toimintoa VBA: n sisällä:
12 | Dim n niin kauann = Application.WorksheetFunction.IfError (Arvo, arvo_ja_virhe) |
Application.WorksheetFunction antaa sinulle pääsyn moniin (ei kaikkiin) Excel -toimintoihin VBA: ssa.
Tyypillisesti IFERRORia käytetään lukemalla arvoja soluista. Jos solussa on virhe, VBA voi lähettää virheilmoituksen, kun se yrittää käsitellä solun arvoa. Kokeile tätä alla olevalla esimerkkikoodilla (jossa solu B2 sisältää virheen):
1234567891011 | Osa IFERROR_VBA ()Dim n Niin pitkä, m Niin pitkä'IFERRORn = Application.WorksheetFunction.IfError (Alue ("b2"). Arvo, 0)'Ei IFERRORm = Alue ("b2"). ArvoEnd Sub |
Koodi määrittää solun B2 muuttujalle. Toinen muuttujamääritys antaa virheen, koska solun arvo on #N/A, mutta ensimmäinen toimii hyvin IFERROR -funktion vuoksi.
Voit myös luoda VBA: n avulla IFERROR -funktion sisältävän kaavan:
1 | Alue ("C2"). KaavaR1C1 = "= VIRHE (RC [-2]/RC [-1], 0)" |
Virheiden käsittely VBA: ssa on paljon erilaista kuin Excelissä. Yleensä VBA: n virheiden käsittelyssä käytetään VBA -virheiden käsittelyä. VBA -virheiden käsittely näyttää tältä:
12345678910111213141516171819 | AlatestiWS ()MsgBox Onko WSExist ("testi")End SubToiminto Onko WSExist (wsName As String) Boolen muodossaDim ws laskentataulukkonaVirhe Jatka seuraavaksiAseta ws = Sheets (wsName)'Jos virhe WS ei ole olemassaJos Er.Numero 0 SittenOnkoWSExist = FalseMuuOnkoWSExist = TottaLoppu JosVirhe GoTo -1Lopeta toiminto |
Huomaa, että käytämme Jos Er.Numero 0 Sitten tunnistaa, onko tapahtunut virhe. Tämä on tyypillinen tapa saada virheitä VBA: sta. IFERROR -toiminnolla on kuitenkin joitain käyttötarkoituksia vuorovaikutuksessa Excel -solujen kanssa.