دالة ISERROR في Excel مع أمثلة الصيغة

  • شارك هذا
Michael Brown

يبحث البرنامج التعليمي في الاستخدامات العملية لوظيفة Excel ISERROR ويوضح كيفية اختبار الصيغ المختلفة للأخطاء.

عندما تكتب صيغة لا يفهمها Excel أو لا يستطيع حسابها ، فإنها تلفت انتباهك إلى المشكلة من خلال إظهار رسالة خطأ. يمكن أن تساعدك وظيفة ISERROR في اكتشاف الأخطاء وتوفير بديل عند العثور على خطأ.

    دالة ISERROR في Excel

    تقوم وظيفة Excel ISERROR بالتقاط جميع أنواع الأخطاء ، بما في ذلك #CALC !، # DIV / 0 !، # N / A ، #NAME ؟، #NUM !، #NULL !، #REF !، #VALUE !، و # SPILL !. تكون النتيجة قيمة منطقية: TRUE إذا تم اكتشاف خطأ ، و FALSE خلاف ذلك.

    تتوفر الوظيفة في كافة إصدارات Excel 2000 حتى 2021 و Excel 365.

    بناء جملة ISERROR الوظيفة بسيطة مثل هذه:

    ISERROR (القيمة)

    حيث القيمة هي قيمة الخلية أو الصيغة التي يجب التحقق منها بحثًا عن أخطاء.

    صيغة ISERROR في Excel

    لإنشاء صيغة ISERROR في أبسط أشكالها ، قم بتوفير مرجع للخلية التي تريد اختبارها بحثًا عن الأخطاء. على سبيل المثال:

    =ISERROR(A2)

    في حالة العثور على أي خطأ ، ستحصل على TRUE. إذا لم يكن هناك خطأ في الخلية التي تم اختبارها ، فستحصل على FALSE:

    IF صيغة ISERROR في Excel

    لإرجاع رسالة مخصصة أو تنفيذ عملية حسابية مختلفة عند حدوث خطأ ، استخدم ISERROR مع الدالة IF. تبدو الصيغة العامة كما يلي:

    إذا كانت (ISERROR ( الصيغة(...) ، text_or_calculation_if_error، الصيغة())

    تُترجم إلى لغة بشرية ، فإنها تقول: إذا كانت الصيغة الرئيسية نتائج في حالة حدوث خطأ ، اعرض النص المحدد أو قم بإجراء عملية حسابية أخرى ، وإلا قم بإرجاع نتيجة طبيعية للصيغة.

    في الصورة أدناه ، يؤدي قسمة الإجمالي على الكمية إلى حدوث خطأين في السعر العمود:

    لاستبدال جميع رموز الأخطاء المختلفة بنص مخصص ، يمكنك استخدام صيغة IF ISERROR التالية:

    =IF(ISERROR(A2/B2), "Unknown", A2/B2)

    في Excel 2007 والإصدارات الأحدث ، يمكن تحقيق نفس النتيجة بمساعدة وظيفة IFERROR الداخلية:

    =IFERROR(A2/B2, "Unknown")

    يجب أن تكون لاحظ أن صيغة IFERROR تعمل بشكل أسرع قليلاً لأنها تؤدي عملية حساب A2 / B2 مرة واحدة فقط. في حين أن IF ISERROR تحسبها مرتين - أولاً لمعرفة ما إذا كانت تولد خطأ ثم مرة أخرى إذا كان الاختبار FALSE.

    إذا كانت صيغة ISERROR VLOOKUP

    استخدام ISERROR مع VLOOKUP هي ، في الواقع ، حالة معينة من IF IS صيغة الخطأ التي نوقشت أعلاه. عندما لا تتمكن الدالة VLOOKUP من العثور على قيمة البحث أو تفشل لأي سبب آخر ، فإنك تعرض رسالة نصية مخصصة باستخدام بناء الجملة هذا:

    IF (ISERROR (VLOOKUP (…)) ، " custom_text" ، VLOOKUP (…))

    في هذا المثال ، دعنا نسحب الأوقات من جدول البحث (D3: E10) إلى الجدول الرئيسي (A3: B15). إذا كانت قيمة البحث (اسم المشارك) غير موجودة في ملفجدول البحث ، سنقوم بإرجاع "غير مؤهل".

    =IF(ISERROR(VLOOKUP(A3, $D$3:$E$10, 2, FALSE)), "Not qualified", VLOOKUP(A3, $D$3:$E$10, 2, FALSE))

    نصيحة. إذا كنت تريد عرض نص مخصص فقط عندما لا يتم العثور على قيمة بحث (خطأ # N / A) مع تجاهل الأخطاء الأخرى ، فاستخدم صيغة IFNA VLOOKUP في Excel 2013 والإصدارات الأحدث أو IF ISNA VLOOKUP في الإصدار الأقدم الإصدارات.

    إذا كانت صيغة ISERROR INDEX MATCH

    عند إجراء بحث بمساعدة مجموعة INDEX MATCH (أو صيغة INDEX XMATCH في Excel 365) ، يمكنك تعويض أي أخطاء محتملة ومعالجتها باستخدام نفس الأسلوب - تتحقق الدالة ISERROR من وجود أخطاء وتعرض IF النص المحدد عند حدوث أي خطأ.

    IF (ISERROR (INDEX ( return_column ، MATCH ( lookup_value ، lookup_column ، 0))))، " custom_text "، INDEX ( return_column ، MATCH ( lookup_value ، lookup_column ، 0)))

    افترض أن جدول البحث يحتوي على أوقات في العمود الأول. نظرًا لأن VLOOKUP غير قادر على النظر إلى يساره ، فإننا نستخدم صيغة INDEX MATCH لسحب الأوقات من العمود D:

    =INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))

    وبعد ذلك ، يمكنك تضمينها في الصيغة العامة المذكورة أعلاه لاستبدال الأخطاء التي تم اكتشافها بأي نص تريده:

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

    ملاحظة. كما هو الحال مع صيغة IF ISERROR VLOOKUP ، فمن المنطقي أن تقوم بتعويض أخطاء # N / A فقط ولا تخفي المشاكل المحتملة في الصيغة نفسها. لهذا الغرض ، قم بلف صيغة INDEX MATH في IFNA في Excel 2013 والإصدارات الأحدث أو IF ISNA في الإصدارات السابقة.

    إذاISERROR صيغة نعم / لا

    في جميع الأمثلة السابقة ، إذا أرجع ISERROR نتيجة الصيغة الرئيسية إذا لم يكن خطأ. ومع ذلك ، يمكن أن يعمل أيضًا بطريقة مختلفة - إرجاع شيء ما إذا كان هناك خطأ وشيء آخر إذا لم يكن هناك خطأ.

    IF (ISERROR (صيغة (…)) ، " text_if_error " ، " text_if_no_error ")

    في عينة مجموعة البيانات الخاصة بنا ، افترض أنك لست مهتمًا بالأوقات المحددة ، فأنت تريد فقط معرفة أي المشاركين من المجموعة "أ" مؤهلين وأيهم غير مؤهلين. للقيام بذلك ، استخدم الدالة MATCH لمقارنة الاسم الموجود في العمود A مقابل قائمة المشاركين المؤهلين في العمود D ، ثم عرض النتائج على ISERROR. إذا لم يكن الاسم متاحًا في العمود D (تعرض MATCH خطأً) ، فاحصل على الدالة IF لعرض "لا" أو "غير مؤهل". إذا ظهر الاسم في العمود D (بدون خطأ) ، فارجع "نعم" أو "مؤهل".

    =IF(ISERROR(MATCH(A3, $D$3:$D$10, 0)), "No", "Yes" )

    كيفية حساب عدد الأخطاء

    للحصول على عدد الأخطاء في عمود معين ، تحتاج إلى التحقق من نطاق ، وليس خلية واحدة فقط. لهذا ، "قم بتغذية" النطاق المستهدف لـ ISERROR وإجبار القيم المنطقية التي تم إرجاعها على قيم 1 و 0 باستخدام عامل التشغيل الأحادي المزدوج (-). يمكن للدالة SUM أو SUMPRODUCT جمع الأرقام وتقديم النتيجة النهائية.

    على سبيل المثال:

    =SUM(--ISERROR(C2:C10))

    يرجى ملاحظة أن هذا يعمل كصيغة عادية فقط في Excel 365 و Excel 2021 ، اللذان يدعمان المصفوفات الديناميكية. في Excel 2019 والإصدارات الأقدم ، أنتتحتاج إلى الضغط على Ctrl + Shift + Enter لإنشاء صيغة صفيف (لا تكتب الأقواس المتعرجة يدويًا ، فلن يعمل ذلك!):

    {=SUM(--ISERROR(C2:C10))}

    بدلاً من ذلك ، يمكنك استخدام SUMPRODUCT دالة تتعامل مع المصفوفات أصلاً ، بحيث يمكن إكمال الصيغة باستخدام مفتاح الإدخال المعتاد في جميع الإصدارات:

    =SUMPRODUCT(--ISERROR(C2:C10))

    الفرق بين ISERROR و IFERROR في Excel

    يتم استخدام الدالتين ISERROR و IFERROR لتعويض الأخطاء ومعالجتها في Excel. الفرق هو كما يلي:

    • في شكله النقي ، يختبر ISERROR فقط ما إذا كانت القيمة خطأ أم لا. إنه متاح في جميع إصدارات Excel.
    • تم تصميم وظيفة IFERROR لإخفاء أو إخفاء الأخطاء - عند العثور على خطأ ، فإنها ترجع قيمة أخرى تحددها. وهي متوفرة في Excel 2007 والإصدارات الأحدث.

    للوهلة الأولى ، يبدو IFERROR كبديل مختصر لصيغة IF ISERROR. ومع ذلك ، عند إلقاء نظرة فاحصة ، يمكنك ملاحظة الفرق:

    • يسمح لك IFERROR بتحديد value_if_error فقط. إذا لم يكن هناك خطأ ، فإنه يعرض دائمًا نتيجة القيمة / الصيغة التي تم اختبارها.
    • إذا كان ISERROR يوفر مزيدًا من المرونة ويتيح لك التعامل مع كلتا الحالتين - ما الذي يجب أن يحدث إذا حدث خطأ وماذا إذا لم يكن هناك خطأ.

    لتوضيح النقطة بشكل أفضل ، ضع في اعتبارك هذه الصيغ:

    =IFERROR(A1, "Calculation error")

    =IF(ISERROR(A1), "Calculation error", A1)

    هاتان الصيغتان متكافئتان - كلاهما يتحقق من قيمة تعتمد على الصيغة في A1 والعودة"خطأ في الحساب" إذا كان خطأ ، وإلا - قم بإرجاع القيمة.

    ولكن ماذا لو كنت تريد إجراء بعض العمليات الحسابية إذا لم تكن القيمة في A1 خطأ؟ وظيفة IFERROR غير قادرة على القيام بذلك. في حالة IF ISERROR ، اكتب فقط الحساب المطلوب في الوسيطة الأخيرة. على سبيل المثال:

    =IF(ISERROR(A1), "Calculation error", A1*2)

    كما ترى ، يمكن أن يظل هذا الاختلاف الأطول لصيغة IFERROR ، والذي غالبًا ما يعتبر قديمًا ، مفيدًا :)

    التنزيلات المتاحة

    أمثلة صيغة ISERROR (ملف .xlsx)

    مايكل براون متحمس للتكنولوجيا ولديه شغف لتبسيط العمليات المعقدة باستخدام أدوات البرمجيات. مع أكثر من عشر سنوات من الخبرة في صناعة التكنولوجيا ، صقل مهاراته في Microsoft Excel و Outlook ، بالإضافة إلى جداول بيانات Google والمستندات. مدونة مايكل مكرسة لمشاركة معرفته وخبرته مع الآخرين ، وتقديم نصائح ودروس تعليمية سهلة المتابعة لتحسين الإنتاجية والكفاءة. سواء كنت محترفًا متمرسًا أو مبتدئًا ، تقدم مدونة مايكل رؤى قيمة ونصائح عملية للحصول على أقصى استفادة من أدوات البرامج الأساسية هذه.