Mündəricat
Təlimat Excel ISERROR funksiyasının praktiki istifadələrinə baxır və müxtəlif düsturları səhvlər üçün necə sınaqdan keçirməyi göstərir.
Excel-in başa düşmədiyi və ya hesablaya bilmədiyi düstur yazdığınız zaman səhv mesajı göstərərək diqqətinizi problemə yönəldir. ISERROR funksiyası səhvləri tutmağa və səhv aşkar edildikdə alternativ təqdim etməyə kömək edə bilər.
Excel-də ISERROR funksiyası
Excel ISERROR funksiyası bütün növ xətaları tutur, o cümlədən #CALC!, #DIV/0!, #N/A, #NAME?, #SAY!, #NULL!, #REF!, #VALUE!, and #SPILL!. Nəticə Boolean dəyəridir: xəta aşkar edilərsə DOĞRU, əks halda YANLIŞ.
Funksiya Excel 2000-2021 və Excel 365-in bütün versiyalarında mövcuddur.
ISERROR-un sintaksisi funksiyası bu qədər sadədir:
ISERROR(dəyər)Burada dəyər xətalar üçün yoxlanılan xana dəyəri və ya düsturdur.
Excel ISERROR formula
Ən sadə formada ISERROR düsturunu yaratmaq üçün səhvləri yoxlamaq istədiyiniz xanaya istinad təqdim edin. Məsələn:
=ISERROR(A2)
Hər hansı bir xəta aşkar edilərsə, siz TRUE alacaqsınız. Test edilmiş xanada heç bir xəta yoxdursa, siz FALSE alacaqsınız:
ƏGƏR ISERROR Excel-də formula
Fərdi mesajı qaytarmaq və ya xəta baş verdikdə fərqli hesablama üçün IF funksiyası ilə birlikdə ISERROR istifadə edin. Ümumi düstur aşağıdakı kimi görünür:
ƏGƏR(ISERROR( formula(…), mətn_və ya_hesablama_əgər_səhv, formula())İnsan dilinə tərcümə edilərsə, o deyir: əgər əsas düstur nəticə verərsə səhv olarsa, göstərilən mətni göstərin və ya başqa hesablama aparın, əks halda düsturun normal nəticəsini qaytarın.
Aşağıdakı şəkildə, cəmini kəmiyyətə bölmək Qiymətdə bir neçə xəta yaradır. sütunu:
Bütün müxtəlif xəta kodlarını fərdi mətnlə əvəz etmək üçün aşağıdakı IF ISERROR düsturundan istifadə edə bilərsiniz:
=IF(ISERROR(A2/B2), "Unknown", A2/B2)
Excel 2007 və sonrakı versiyalarında daxili IFERROR funksiyasının köməyi ilə eyni nəticə əldə edilə bilər:
=IFERROR(A2/B2, "Unknown")
Bu olmalıdır qeyd etdi ki, IFERROR düsturu A2/B2 hesablamasını cəmi bir dəfə yerinə yetirdiyi üçün bir az daha sürətli işləyir. Halbuki IF ISERROR onu iki dəfə hesablayır - əvvəlcə xəta yaradıb-yaratmadığını, sonra isə testin YANLIŞ olub-olmadığını yoxlamaq üçün.
ƏGƏR ISERROR VLOOKUP formula
VLOOKUP ilə ISERROR-dan istifadə, əslində, ƏGƏR VLOOKUP-un xüsusi halıdır. Yuxarıda müzakirə edilən ERROR düsturu. VLOOKUP funksiyası axtarış dəyərini tapa bilmədikdə və ya hər hansı digər səbəbdən uğursuz olduqda, siz bu sintaksisdən istifadə edərək fərdi mətn mesajı göstərirsiniz:
ƏGƏR(ISERROR(VLOOKUP(…)), " xüsusi_mətn", VLOOKUP(…))Bu nümunə üçün vaxtları axtarış cədvəlindən (D3:E10) əsas cədvələ (A3:B15) çəkək. Axtarış dəyəri (iştirakçının adı) mövcud deyilsəCədvəl axtarın, biz "İxtisaslı deyil"i qaytaracağıq.
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$10, 2, FALSE)), "Not qualified", VLOOKUP(A3, $D$3:$E$10, 2, FALSE))
İpucu. Fərdi mətni yalnız baxış dəyəri tapılmadıqda (#N/A xətası) digər xətalara məhəl qoymadan göstərmək istəyirsinizsə, Excel 2013 və sonrakı versiyalarda İFNA VLOOKUP düsturundan və ya köhnə versiyalarda İFNA VLOOKUP düsturundan istifadə edin. versiyaları.
ƏGƏR XƏTƏ INDEX MATCH düsturu
INDEX MATCH kombinasiyasının (və ya Excel 365-də INDEX XMATCH düsturunun) köməyi ilə axtarış apararkən eyni texnikadan istifadə edərək istənilən mümkün səhvləri tuta və idarə edə bilərsiniz - ISERROR funksiyası xətaları yoxlayır və IF hər hansı bir xəta baş verdikdə göstərilən mətni göstərir.
ƏGƏR(ISERROR(INDEX ( qaytarma_sütun , MATCH ( axtarma_dəyəri , axtarış_sütun<2)>, 0)))), " xüsusi_mətn ", INDEX ( qaytarma_sütun , MATCH ( axtarma_dəyəri , sütun axtarışı , 0)))Fərz edək ki, axtarış cədvəlinin ilk sütununda vaxtlar var. VLOOKUP sola baxa bilmədiyi üçün D sütunundan vaxtları çəkmək üçün INDEX MATCH düsturundan istifadə edirik:
=INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))
Və sonra onu yuxarıda qeyd olunan ümumi düsturda yerləşdirirsiniz tutulan səhvləri istədiyiniz mətnlə əvəz etmək üçün:
=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)))
Qeyd. IF ISERROR VLOOKUP düsturunda olduğu kimi, yalnız #N/A səhvlərini tutmaq və düsturun özü ilə potensial problemləri ört-basdır etməmək daha məntiqlidir. Bunun üçün INDEX MATH düsturunuzu Excel 2013 və daha yüksək versiyalarda IFNA-da və ya əvvəlki versiyalarda IF ISNA-da sarın.
ƏGƏRISERROR Bəli/Xeyr formula
Bütün əvvəlki nümunələrdə, ƏGƏR ISERROR səhv deyilsə, əsas düsturun nəticəsini qaytardı. Bununla belə, o, başqa cür də işləyə bilər - xəta olarsa nəyisə qaytarın, xəta yoxdursa başqasını qaytarın.
ƏGƏR(ISERROR( formula (…)), " mətn_if_səhv " , " text_if_no_error ")Nümunə verilənlər bazamızda, tutaq ki, sizi dəqiq vaxt maraqlandırmır, sadəcə olaraq, A qrupunun hansı iştirakçılarının uyğun, hansının uyğun olmadığını bilmək istəyirsiniz. Bunu etmək üçün A sütunundakı adı D sütunundakı ixtisaslı iştirakçıların siyahısı ilə müqayisə etmək üçün MATCH funksiyasından istifadə edin və sonra nəticələri ISERROR-a təqdim edin. Əgər ad D sütununda mövcud deyilsə (MATCH xəta qaytarır), "Xeyr" və ya "Xeyr"i göstərmək üçün ƏGƏR funksiyasını əldə edin. Əgər ad D sütununda görünürsə (xəta yoxdur), "Bəli" və ya "Qualified" qaytarın.
=IF(ISERROR(MATCH(A3, $D$3:$D$10, 0)), "No", "Yes" )
Səhvlərin sayını necə hesablamaq olar
Müəyyən sütunda xətaların sayını əldə etmək üçün bir xana yox, diapazonu yoxlamaq lazımdır. Bunun üçün hədəf diapazonunu ISERROR-a "qidalandırın" və ikiqat vahid operatordan (--) istifadə edərək qaytarılmış Boolean dəyərlərini 1 və 0-a məcbur edin. SUM və ya YAMAMLAMA funksiyası rəqəmləri toplaya və yekun nəticəni verə bilər.
Məsələn:
=SUM(--ISERROR(C2:C10))
Lütfən, bu, yalnız Excel-də adi düstur kimi işləyir. 365 və dinamik massivləri dəstəkləyən Excel 2021. Excel 2019 və əvvəlki versiyalarında sizmassiv düsturu yaratmaq üçün Ctrl + Shift + Enter düymələrini sıxmaq lazımdır (buruq mötərizələri əl ilə yazmayın, bu işləməyəcək!):
{=SUM(--ISERROR(C2:C10))}
Alternativ olaraq, SUMPRODUCT-dən istifadə edə bilərsiniz. massivləri yerli olaraq idarə edən funksiyadır, buna görə də formula bütün versiyalarda adi Enter düyməsi ilə tamamlana bilər:
=SUMPRODUCT(--ISERROR(C2:C10))
Excel-də ISERROR və IFERROR arasındakı fərq
Həm ISERROR, həm də IFERROR funksiyaları Excel-də səhvləri tutmaq və idarə etmək üçün istifadə olunur. Fərq aşağıdakı kimidir:
- Saf formada ISERROR sadəcə dəyərin xəta olub-olmadığını yoxlayır. O, Excel-in bütün versiyalarında mövcuddur.
- GƏLGƏRLƏR funksiyası səhvləri gizlətmək və ya gizlətmək üçün nəzərdə tutulmuşdur - xəta aşkar edildikdə, sizin təyin etdiyiniz başqa dəyəri qaytarır. O, Excel 2007 və daha yüksək versiyalarda mövcuddur.
İlk baxışda IFERROR IF ISERROR düsturuna stenoqrafiya alternativi kimi görünür. Lakin yaxından baxdıqda fərqi görə bilərsiniz:
- IFERROR sizə yalnız əgər_əgər_dəyər təyin etməyə imkan verir. Heç bir xəta yoxdursa, o, həmişə sınaqdan keçirilmiş dəyər/düsturun nəticəsini qaytarır.
- ƏGƏR ISERROR daha çox çeviklik təmin edir və sizə hər iki vəziyyəti idarə etməyə imkan verir - xəta baş verərsə və xəta olmadıqda nə baş verə bilər.
Mövzunu daha yaxşı izah etmək üçün bu düsturları nəzərdən keçirin:
=IFERROR(A1, "Calculation error")
=IF(ISERROR(A1), "Calculation error", A1)
Bu iki düstur ekvivalentdir - hər ikisi düsturla idarə olunan dəyəri yoxlayın A1 və qayıtƏgər bu xətadırsa, "Hesablama xətası", əks halda - dəyəri qaytarın.
Bəs A1-dəki dəyər xəta deyilsə, bəzi hesablamalar aparmaq istəsəniz nə etməli? IFERROR funksiyası bunu edə bilmir. XƏTƏ OLURSA, sadəcə olaraq son arqumentdə istədiyiniz hesablamanı yazın. Məsələn:
=IF(ISERROR(A1), "Calculation error", A1*2)
Gördüyünüz kimi, tez-tez köhnəlmiş hesab edilən IFERROR düsturunun bu daha uzun variantı hələ də faydalı ola bilər :)
Mövcud endirmələr
ISERROR formula nümunələri (.xlsx faylı)