Fungsi IfError

Pada saat kita bekerja dengan Pembagian yang melibatkan dengan angka Nol atau fungsi-fungsi seperti VLOOKUP dan kebetulan datanya yang dicari tidak ada atau tidak sesuai maka hasilnya adalah ‘ #N/A ‘. Padahal kita seringkali menginginkan nilainya kosong atau ‘ 0 ‘ jika hasilnya rumus salah.

Jika kita menggunakan Ms Excel 2007 maka ada fungsi IFERROR yang dapat digunakan untuk menyelesaikan dengan sintaks:

IFERROR(value,value_if_error)

Sebagai contoh:

Jika A2 sebuah angka (23937) sedangkan B2 adalah 0 maka dengan rumus di bawah ini hasilnya adalah “Pembagian dengan Nol”

=IFERROR(A2/B2, “ Pembagian dengan Nol “)

Akan tetapi di Ms Excel 2003 kita tidak menemukan fungsi ini oleh karena itu kita dapat membuat fungsi iferror dengan code VBA yang diperoleh dari Situs Microsoft.

Untuk memasukkan kode VBA tersebut langkahnya adalah:

Menu Tools à Macro ààVisual Basic Editor (or hit ALT-F11)
Pilih Insert àModule
Tempel/Paste kode di bawah ini:

Function IfError(formula As Variant, show As String)

On Error GoTo ErrorHandler

If IsError(formula) Then
IfError = show
Else
IfError = formula
End If

Exit Function

ErrorHandler:
Resume Next

End Function

Lalu File àClose and return to Excel.

IFERROR is basically used like this:
=IFERROR(Perhitungan atau Fungsi, Hasil Jika False)

Jika perhitungan atau fungsi tidak menghasilkan error maka hasil akan ditampilkan sebaliknya jika error maka akan ditampilkan parameter kedua.

Good luck .!!

Share

5 comments for “Fungsi IfError

  1. December 22, 2012 at 9:31 am

    Terima kasih sangat membantu sekali

  2. agung
    April 10, 2013 at 6:59 am

    bagaimana membuat code pada vba, untuk menghindari input data ber ulang2?

    trima kasih

    • April 11, 2013 at 9:01 pm
      @agung: coba Lihat
      Untuk menghindari input ganda tidak harus menggunakan VBA, Bisa menggunakan data validasi lihat:
      Contoh di kolom a adalah adalah data yang tidak boleh double
      maka buat data validation di kolom a dengan pilihan
        custom

      dan formulanya =COUNTIF(A:A,A1)=1

      kalau mau kode VBA sbb: lihat
      Kode ini harus diletakkan di sheet data, bukan di module

      Private Sub Worksheet_Change(ByVal Target As Range)
      Dim rng As Range, r As Range, msg As String, x As Range, temp, check
      Set rng = Intersect(Columns(1), Target)
      If Not rng Is Nothing Then
      Application.EnableEvents = False
      For Each r In rng
      If Not IsEmpty(r.Value) Then
      If Application.CountIf(Columns(1), r.Value) > 1 Then
      msg = msg & vbLf & r.Address(0, 0) & vbTab & r.Value
      If x Is Nothing Then
      r.Activate
      Set x = r
      Else
      Set x = Union(x, r)
      End If
      End If
      End If
      Next
      If Len(msg) Then
      MsgBox “Invalid Entry” & msg
      x.Select
      For Each r In x
      r.Activate
      Do
      temp = Application.InputBox(“Enter Name for ” & _
      r.Address(0, 0), “Invalid ; ” & IIf(Len(temp), temp, r.Value))
      check = Application.CountIf(Columns(1), temp)
      Loop Until (check = 0) * (temp <> “”) * (temp <> False)
      r.Value = temp
      temp = “”
      Next
      End If
      Set rng = Nothing
      Set x = Nothing
      Application.EnableEvents = True
      End If
      End Sub

  3. zae
    April 17, 2013 at 10:29 am

    *bedanya fungsi IFERROR dengan IF(ISERROR) apa ya pak??

    • April 17, 2013 at 11:29 pm
      Iferror adalah pengembangan fungsi dari If dan Iserror Jadi kalau sudah ada fungsi iferror tdk perlu lagi pakai If(iserror(. Tapi kalau jawaban If kondisi benar berbeda dengan kondisi yang diperiksa maka gunakan If(iserror().

      Misalnya Iferror(A3*A3=10,”Salah”) kalau tidak error jawabannya :”true” kalau error jawabannya “salah”
      If(iserror(A3*A3=10),”Benar”,”Salah”) kalau kondisi tidak error maka jawaban “Benar” kalau error jawaban “Salah”

Leave a Reply