Mal

Denne opplæringen viser hvordan du bruker Excel IFERROR -funksjonen til å fange formelfeil, erstatte dem med en annen formel, tom verdi, 0 eller en egendefinert melding.

IFERROR Funksjonsoversikt

IFERROR -funksjonen sjekker om en formel resulterer i en feil. Hvis FALSK, returnerer du det opprinnelige resultatet av formelen. Hvis SANN, returnerer du en annen spesifisert verdi.

IFERROR Syntaks

For å bruke IFERROR Excel -regnearkfunksjonen, velg en celle og skriv:
= FEIL (
Legg merke til hvordan IFERROR -formelinngangene vises:

IFERROR Funksjon Syntaks og innganger:

= IFERROR (VALUE, verdi_if_feil)

verdi - Et uttrykk. Eksempel: 4/A1

value_if_error - Verdi eller beregning som skal utføres hvis forrige inngang resulterer i en feil. Eksempel 0 eller “” (tomt)

Hva er IFERROR -funksjonen?

IFERROR -funksjonen faller inn under kategorien logiske funksjoner i Microsoft Excel, som inkluderer ISNA, ISERROR og ISERR. Alle disse funksjonene hjelper til med å oppdage og håndtere formelfeil.

IFERROR lar deg utføre en beregning. Hvis beregningen gjør ikke resultere i en feil, så blir beregningsresultatet vist. Hvis beregningen gjør resultere i en feil, så utføres en ny beregning (eller en statisk verdi som 0, tom, eller noe tekst sendes ut).

Når ville du brukt IFERROR -funksjonen?

  • Når du deler tall for å unngå feil forårsaket av å dele med 0
  • Når du utfører oppslag for å forhindre feil hvis verdien ikke blir funnet.
  • Når du vil utføre en ny beregning hvis den første resulterer i en feil (f.eks. Slå opp en verdi i en 2nd tabellen hvis den ikke finnes i den første tabellen)

Uhåndterte formelfeil kan forårsake feil i arbeidsboken din, men synlige feil gjør også regnearket mindre synlig tiltalende.

Hvis feil, så 0

La oss se på et grunnleggende eksempel. Nedenfor deler du to tall. Hvis du prøver å dele på null, får du en feilmelding:

I stedet setter du inn beregningen i IFERROR -funksjonen, og hvis du deler med null, blir det sendt ut 0 i stedet for en feil:

= FEIL (A2/B2,0)

Hvis feilen er tom

I stedet for å sette feil til 0, kan du sette dem til "tomme" med doble anførselstegn (""):

= FEIL (A2/B2, "")

Vi vil se på flere IFERROR -bruksområder med VLOOKUP -funksjonen …

IFERROR med VLOOKUP

Oppslagsfunksjoner som VLOOKUP vil generere feil hvis oppslagsverdien ikke blir funnet. Som vist ovenfor kan du bruke IFERROR -funksjonen til å erstatte feil med mellomrom (“”) eller 0s:

Hvis feil, så gjør noe annet

IFERROR -funksjonen kan også brukes til å utføre en andre beregning hvis den første beregningen resulterer i en feil:

= IFERROR (VLOOKUP (A2, LookupTable1! $ A $ 2: $ B $ 4,2, FALSE), VLOOKUP (A2, LookupTable2! $ A $ 2: $ B $ 4,2, FALSE))

Her hvis dataene ikke finnes i 'LookupTable1', utføres en VLOOKUP på 'LookupTable2' i stedet.

Flere IFERROR -formeleksempler

Nestet IFERROR - VLOOKUP Flere ark

Du kan hekke en IFERROR inne i en annen IFERROR for å utføre 3 separate beregninger. Her vil vi bruke to IFERROR for å utføre VLOOKUP på 3 separate regneark:

= 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, FALSK)))

Indeks / kamp og XLOOKUP

Selvfølgelig vil IFERROR også fungere med Index / Match og XLOOKUP formler.

IFERROR XLOOKUP

XLOOKUP -funksjonen er en avansert versjon av VLOOKUP -funksjonen.

IFERROR INDEX / MATCH

Du kan også slå opp verdier ved å bruke INDEX og MATCH -funksjoner i Excel.

IFERROR i matriser

Arrayformler i Excel brukes til å utføre flere beregninger gjennom en enkelt formel. La oss anta at det er tre kolonner i året, salg og gjennomsnittlig pris. Du kan finne ut den totale mengden med følgende formel i E -kolonnen.

{= SUM ($ B $ 2: $ B $ 4/$ C $ 2: $ C $ 4)}

Formelen fungerer godt til divisorområdet får en tom celle eller nuller. Som et resultat får du se #DIV/0! -Feilen igjen.

Denne gangen kan du bruke IFERROR -funksjonen slik:

{= SUMME (IFERROR ($ B $ 2: $ B $ 4/$ C $ 2: $ C $ 4,0))}

Legg merke til at IFERROR -funksjonen må være nestet inne i SUM -funksjonen, ellers vil IFERROR gjelde summen og ikke hvert enkelt element i matrisen.

IFNA vs. IFERROR

IFNA -funksjonen fungerer nøyaktig det samme som IFERROR -funksjonen, bortsett fra at IFNA -funksjonen bare fanger #I/A -feil. Dette er ekstremt nyttig når du arbeider med oppslagsfunksjoner: vanlige formelfeil vil fortsatt bli oppdaget, men ingen feil vises hvis oppslagsverdien ikke blir funnet.

= IFNA (VLOOKUP (A2, LookupTable1! $ A $ 2: $ B $ 4,2, FALSE), "Not Found")

Hvis FEIL

Hvis du fortsatt bruker Microsoft Excel 2003 eller en eldre versjon, kan du erstatte IFERROR med en kombinasjon av IF og ISERROR. Her er et kort eksempel:

= HVIS (FEIL (A2/B2), 0, A2/B2)

IFERROR i Google Regneark

IFERROR -funksjonen fungerer nøyaktig det samme i Google Regneark som i Excel:

IFERROR Eksempler i VBA

VBA har ikke en innebygd IFERROR Fucntion, men du kan også få tilgang til Excel IFERROR-funksjonen fra VBA:

Dim n som lang n = Application.WorksheetFunction.IfError (verdi, verdi_if_feil)

Søknad. Arbeidsark Funksjon gir deg tilgang til mange (ikke alle) Excel -funksjoner i VBA.

Vanligvis brukes IFERROR når du leser verdier fra celler. Hvis en celle inneholder en feil, kan VBA sende en feilmelding når du prøver å behandle celleverdien. Prøv dette med eksempelkoden nedenfor (der celle B2 inneholder en feil):

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

Koden tildeler celle B2 til en variabel. Den andre variabeltildelingen gir en feil fordi celleverdien er #N/A, men den første fungerer fint på grunn av IFERROR -funksjonen.

Du kan også bruke VBA til å lage en formel som inneholder IFERROR -funksjonen:

Område ("C2"). FormulaR1C1 = "= HVISFEIL (RC [-2]/RC [-1], 0)"

Feilhåndtering i VBA er mye annerledes enn i Excel. Vanligvis vil du bruke VBA feilhåndtering for å håndtere feil i VBA. VBA feilhåndtering ser slik ut:

Sub TestWS () MsgBox DoesWSExist ("test") Avslutt underfunksjon DoesWSExist (wsName As String) As Boolean Dim ws As Worksheet On Error Resume Next Set ws = Sheets (wsName) 'If Error WS does not exist If Err.Number 0 Then DoesWSExist = False Else DoesWSExist = True End If On Error GoTo -1 End Function

Legg merke til at vi bruker Hvis Err.Number 0 Da for å identifisere om det har oppstått en feil. Dette er en typisk måte å fange feil i VBA. IFERROR -funksjonen har imidlertid noen bruksområder når den samhandler med Excel -celler.

IFERROR Øvelser + eksempler

Dobbeltklikk i en celle for å se formelen og redigere den.

å gjøre:

fjern regnearkeksempler nederst for nå …

å teste / tenke på:

  • bilde vs gif øverst
  • gjøre oppmerksom på interaktive eksempler i leksjonen?
  • merke / blokkere kodeblokker på nytt …
  • TOC på toppen? fjerne dem fra disse sidene og legge til [TOC] manuelt?
    • legg VBA -koblingene "excel, googlesheets" på toppen og kanskje bli kvitt TOC? “IFERROR -funksjon tilgjengelig i…”
  • hva med noen andre bilder … som et Excel -ikon eller Google -ark eller VBA for å få det til å se bedre ut
    • jeg tror du ser utkast til e -post der excel -logoen blir brukt, og legg til det et sted …. og gjør det til en fancy header … det samme med g -ark og vba!
  • gjøre skriftstørrelsen mindre på stedet!
  • fikse CSS … TOC, syntaksområde … etc.!

legg til en nedlastingsknapp for å laste ned regnearket + be om e -post ETTER nedlastingen …

eller gjør noe som malprodusentene gjør … der de ber deg om å fullføre en undersøkelse

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave