Sisällysluettelo
Ohjeessa tarkastellaan Excelin ISERROR-funktion käytännön käyttöä ja näytetään, miten eri kaavoja testataan virheiden varalta.
Kun kirjoitat kaavan, jota Excel ei ymmärrä tai jota se ei pysty laskemaan, se kiinnittää huomiosi ongelmaan näyttämällä virheilmoituksen. ISERROR-funktio voi auttaa sinua havaitsemaan virheet ja tarjoamaan vaihtoehdon, kun virhe löytyy.
ISERROR-funktio Excelissä
Excelin ISERROR-funktio havaitsee kaikenlaisia virheitä, kuten #CALC!, #DIV/0!, #N/A, #NAME?, #NUM!, #NULL!, #REF!, #VALUE! ja #SPILL!. Tuloksena on boolen arvo: TRUE, jos virhe havaitaan, FALSE muuten.
Toiminto on käytettävissä kaikissa Excel 2000-2021- ja Excel 365 -versioissa.
ISERROR-funktion syntaksi on näin yksinkertainen:
ISERROR(arvo)Missä arvo on solun arvo tai kaava, joka tarkistetaan virheiden varalta.
Excel ISERROR -kaava
Luodaksesi ISERROR-kaavan yksinkertaisimmassa muodossaan, anna viittaus soluun, jonka haluat testata virheiden varalta. Esimerkiksi:
=ISERROR(A2)
Jos virhe löytyy, saat tulokseksi TRUE. Jos testatussa solussa ei ole virhettä, saat tulokseksi FALSE:
IF ISERROR -kaava Excelissä
Jos haluat palauttaa mukautetun viestin tai suorittaa erilaisen laskutoimituksen virheen sattuessa, käytä ISERROR yhdessä IF-funktion kanssa. Yleinen kaava näyttää seuraavalta:
IF(ISERROR( kaava (...), text_or_calculation_if_error (teksti_tai_laskenta_jos_virhe) , kaava ())Ihmiskielelle käännettynä se sanoo: jos pääkaava johtaa virheeseen, näytä määritetty teksti tai suorita toinen laskutoimitus, muuten palauta kaavan normaali tulos.
Alla olevassa kuvassa kokonaissumman jakaminen määrällä tuottaa pari virhettä luvussa Hinta sarake:
Jos haluat korvata kaikki eri virhekoodit mukautetulla tekstillä, voit käyttää seuraavaa IF ISERROR -kaavaa:
=IF(ISERROR(A2/B2), "Tuntematon", A2/B2)
Excel 2007:ssä ja sitä uudemmissa versioissa sama tulos voidaan saavuttaa sisäänrakennetun IFERROR-toiminnon avulla:
=IFERROR(A2/B2, "Tuntematon")
On huomattava, että IFERROR-kaava toimii hieman nopeammin, koska se suorittaa A2/B2-laskennan vain kerran, kun taas IF ISERROR laskee sen kahdesti - ensin nähdäkseen, tuottaako se virheen, ja sitten uudelleen, jos testi on FALSE.
IF ISERROR VLOOKUP-kaava
ISERRORin käyttäminen VLOOKUPin kanssa on itse asiassa edellä käsitellyn IF ISERROR -kaavan erityistapaus. Kun VLOOKUP-funktio ei löydä hakuarvoa tai epäonnistuu jostain muusta syystä, voit näyttää mukautetun tekstiviestin käyttämällä tätä syntaksia:
IF(ISERROR(VLOOKUP(...)), " custom_text ", VLOOKUP(...)))Tässä esimerkissä vedetään ajat hakutaulukosta (D3:E10) päätaulukkoon (A3:B15). Jos hakuarvoa (osallistujan nimi) ei ole hakutaulukossa, palautetaan "Not qualified".
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$10, 2, FALSE)), "Not qualified", VLOOKUP(A3, $D$3:$E$10, 2, FALSE)))
Vihje. Jos haluat näyttää mukautetun tekstin vain silloin, kun on olemassa hakuarvoa ei löydy (#N/A-virhe) ja jättää muut virheet huomiotta, käytä IFNA VLOOKUP-kaavaa Excel 2013:ssa ja uudemmissa versioissa tai IF ISNA VLOOKUP-kaavaa vanhemmissa versioissa.
IF ISERROR INDEX MATCH kaava
Kun suoritat haun INDEX MATCH -yhdistelmän (tai INDEX XMATCH -kaavan Excel 365:ssä) avulla, voit vangita ja käsitellä mahdolliset virheet käyttämällä samaa tekniikkaa - ISERROR-funktio tarkistaa virheet ja IF näyttää määritetyn tekstin, kun virhe ilmenee.
IF(ISERROR(INDEX ( return_column , MATCH ( lookup_value , lookup_column , 0)))), " custom_text ", INDEX ( return_column , MATCH ( lookup_value , lookup_column , 0)))Oletetaan, että hakutaulukon ensimmäisessä sarakkeessa on aikoja. Koska VLOOKUP ei pysty katsomaan vasemmalle, käytämme INDEX MATCH-kaavaa vetääksemme ajat sarakkeesta D:
=INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))
Sen jälkeen voit liittää sen edellä mainittuun yleiseen kaavaan ja korvata havaitut virheet haluamallasi tekstillä:
=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))))
Huomautus: Kuten IF ISERROR VLOOKUP -kaavan kohdalla, on järkevämpää vangita vain #N/A-virheitä eikä peittää mahdollisia ongelmia itse kaavassa. Kääri INDEX MATH -kaava tätä varten Excel 2013:ssa ja sitä uudemmissa versioissa IFNA-kaavaan tai aikaisemmissa versioissa IF ISNA-kaavaan.
IF ISERROR Kyllä/Ei -kaava
Kaikissa edellisissä esimerkeissä IF ISERROR palautti pääkaavan tuloksen, jos se ei ole virhe. Se voi kuitenkin toimia myös toisella tavalla - palauttaa jotain, jos virhe ja jotain muuta, jos ei ole virhettä.
IF(ISERROR( kaava (...)), " text_if_error ", " text_if_no_error ")Oletetaan, että esimerkkitietoaineistossamme et ole kiinnostunut tarkoista kellonajoista, vaan haluat vain tietää, mitkä ryhmän A osallistujat ovat päteviä ja mitkä eivät. Tätä varten vertaa sarakkeessa A olevaa nimeä sarakkeessa D olevaan pätevien osallistujien luetteloon MATCH-funktiolla ja anna tulokset ISERROR:lle. Jos nimeä ei löydy sarakkeesta D (MATCH palauttaa virheen), saatteJos nimi näkyy sarakkeessa D (ei virhettä), palautetaan "Kyllä" tai "pätevä".
=IF(ISERROR(MATCH(A3, $D$3:$D$10, 0)), "Ei", "Kyllä" )
Kuinka laskea virheiden määrä
Jos haluat saada tietyssä sarakkeessa olevien virheiden määrän, sinun on tarkistettava alue, ei vain yksi solu. Tätä varten "syötät" kohdealueen ISERROR-funktiolle ja muutat palautetut boolen arvot 1:ksi ja 0:ksi käyttämällä kaksinkertaista unaarista operaattoria (--). SUMMA- tai SUMPRODUCT-funktio voi laskea luvut yhteen ja antaa lopputuloksen.
Esimerkiksi:
=SUM(--ISERROR(C2:C10))
Huomaa, että tämä toimii tavallisena kaavana vain Excel 365:ssä ja Excel 2021:ssä, jotka tukevat dynaamisia matriiseja. Excel 2019:ssä ja sitä aikaisemmissa versioissa sinun on painettava Ctrl + Shift + Enter, jotta voit luoda matriisikaavan (älä kirjoita sulkuja manuaalisesti, se ei toimi!):
{=SUM(--ISERROR(C2:C10))}
Vaihtoehtoisesti voit käyttää SUMPRODUCT-funktiota, joka käsittelee matriiseja natiivisti, joten kaava voidaan täydentää tavallisella Enter-näppäimellä kaikissa versioissa:
=SUMPRODUCT(--ISERROR(C2:C10))
Ero ISERRORin ja IFERRORin välillä Excelissä
Sekä ISERROR- että IFERROR-funktioita käytetään virheiden tallentamiseen ja käsittelyyn Excelissä. Ero on seuraava:
- Puhtaassa muodossaan ISERROR testaa vain, onko arvo virhe vai ei. Se on käytettävissä kaikissa Excel-versioissa.
- IFERROR-funktio on suunniteltu virheiden peittämiseen tai häivyttämiseen - kun virhe löytyy, se palauttaa toisen määrittämäsi arvon. Se on käytettävissä Excel 2007:ssä ja uudemmissa versioissa.
Ensisilmäyksellä IFERROR näyttää lyhennetyltä vaihtoehdolta IF ISERROR -kaavalle. Tarkemmin tarkasteltuna voit kuitenkin huomata eron:
- IFERRORin avulla voit määrittää vain value_if_error Jos virhettä ei tapahdu, se palauttaa aina testatun arvon/kaavan tuloksen.
- IF ISERROR tarjoaa enemmän joustavuutta, ja sen avulla voit käsitellä molempia tilanteita - mitä pitäisi tapahtua, jos tapahtuu virhe, ja mitä, jos ei tapahdu virhettä.
Asiaa havainnollistetaan paremmin seuraavilla kaavoilla:
=IFERROR(A1, "Laskuvirhe")
=IF(ISERROR(A1), "Laskuvirhe", A1)
Nämä kaksi kaavaa vastaavat toisiaan - molemmat tarkistavat kaavan mukaisen arvon A1:ssä ja palauttavat "Laskuvirhe", jos kyseessä on virhe, muutoin - palauttavat arvon.
Mutta entä jos haluat suorittaa jonkin laskutoimituksen, jos arvo A1:ssä ei ole virhe? IFERROR-funktio ei pysty siihen. Jos kyseessä on IF ISERROR, kirjoita vain haluttu laskutoimitus viimeiseen argumenttiin. Esim:
=IF(ISERROR(A1), "Laskuvirhe", A1*2)
Kuten näet, tämä IFERROR-kaavan pidempi muunnos, jota pidetään usein vanhentuneena, voi silti olla hyödyllinen :)
Saatavilla olevat lataukset
Esimerkkejä ISERROR-kaavoista (.xlsx-tiedosto)