Excel VLOOKUP لا يعمل - إصلاح أخطاء # N / A و # VALUE

  • شارك هذا
Michael Brown

جدول المحتويات

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

في بعض المقالات السابقة ، استكشفنا جوانب مختلفة من وظيفة Excel VLOOKUP. إذا كنت تتابعنا عن كثب ، فيجب أن تكون الآن خبيرًا في هذا المجال :)

ومع ذلك ، فليس بدون سبب أن العديد من المتخصصين في Excel يعتبرون VLOOKUP واحدة من أكثر وظائف Excel تعقيدًا. لديها الكثير من القيود ، والتي هي مصدر العديد من المشاكل والأخطاء.

في هذه المقالة ، ستجد تفسيرات بسيطة للأسباب الرئيسية لأخطاء VLOOKUP مثل # N / A و #NAME و #VALUE ، بالإضافة إلى الحلول والإصلاحات الخاصة بهم. سنبدأ بأكثر الأسباب وضوحًا لعدم عمل VLOOKUP ، لذلك قد يكون من الجيد التحقق من خطوات تحري الخلل وإصلاحه أدناه بالترتيب.

    إصلاح خطأ # N / A في VLOOKUP

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

    1. قيمة البحث بها أخطاء إملائية

    من الأفضل دائمًا التحقق من أكثر الأشياء وضوحًا أولاً:) تحدث عمليات الطباعة الخاطئة بشكل متكرر عندما تعمل مع مجموعات بيانات كبيرة بالفعل تتكون من آلاف الصفوف ، أو عند كتابة قيمة بحث مباشرة في الصيغة.

    2.لا يمكن لـ VLOOKUP اختيار صفيف جدول في ورقة عمل أخرى (على سبيل المثال ، عند تمييز نطاق في ورقة البحث ، لا يظهر أي شيء في الوسيطة table_array في الصيغة أو في المربع المقابل للصيغة المعالج) ، فمن المرجح أن تكون الورقتان مفتوحتين في مثيلات منفصلة من Excel ولا يمكن الاتصال ببعضهما البعض. لمزيد من المعلومات ، يرجى الاطلاع على كيفية تحديد ملفات Excel الموجودة في أي حالة. لإصلاح ذلك ، ما عليك سوى إغلاق جميع نوافذ Excel ، ثم إعادة فتح الأوراق / المصنفات في نفس المثيل (السلوك الافتراضي).

    How to Vlookup بدون أخطاء في Excel

    إذا إذا كنت لا تريد تخويف المستخدمين باستخدام رموز خطأ Excel القياسية ، يمكنك عرض نص سهل الاستخدام بدلاً من ذلك أو إرجاع خلية فارغة إذا لم يتم العثور على شيء. يمكن القيام بذلك باستخدام VLOOKUP مع IFERROR أو IFNA.

    اصطياد جميع الأخطاء

    في Excel 2007 والإصدارات الأحدث ، يمكنك استخدام الدالة IFERROR للتحقق من صيغة VLOOKUP بحثًا عن الأخطاء وإرجاع نص خاص (أو سلسلة فارغة) إذا تم اكتشاف أي خطأ .

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

    =IFERROR(VLOOKUP(E1, A2:B10, 2, FALSE), "Oops, something went wrong")

    في Excel 2003 والإصدارات الأقدم ، يمكنك استخدم صيغة IF ISERROR لنفس الغرض:

    =IF(ISERROR(VLOOKUP(E1, A2:B10, 2, FALSE)), "Oops, something went wrong", VLOOKUP(E1, A2:B10, 2, FALSE))

    لمزيد من التفاصيل ، يرجى الاطلاع على استخدام IFERROR مع VLOOKUP في Excel.

    معالجة أخطاء # N / A

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

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

    =IFNA(VLOOKUP(E1, A2:B10, 2, FALSE), "Oops, no match is found. Please try again!")

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2, FALSE)), "Oops, no match is found. Please try again!", VLOOKUP(E1, A2:B10, 2, FALSE))

    هذا كل شيء لهذا اليوم. نأمل أن يساعدك هذا البرنامج التعليمي في التخلص من أخطاء VLOOKUP وجعل الصيغ الخاصة بك تعمل بالطريقة التي تريدها.

    كيفية VLOOKUP في Excel - فيديو تعليمي

    # N / A في تطابق تقريبي VLOOKUP

    إذا كانت الصيغة الخاصة بك تبحث عن أقرب تطابق ، ( range_lookup الوسيطة مضبوطة على TRUE أو تم حذفها) ، يمكن أن يظهر الخطأ # N / A في حالتين :

    • قيمة البحث أصغر من أصغر قيمة في صفيف البحث.
    • لم يتم فرز عمود البحث بترتيب تصاعدي.

    3 . # N / A في المطابقة التامة VLOOKUP

    إذا كنت تبحث عن مطابقة تامة ( range_lookup تم تعيين الوسيطة على FALSE) ، يحدث الخطأ # N / A عندما تكون قيمة مساوية تمامًا للبحث لم يتم العثور على القيمة. لمزيد من المعلومات ، راجع المطابقة التامة لـ VLOOKUP مقابل المطابقة التقريبية.

    4. عمود البحث ليس العمود الموجود في أقصى اليسار من صفيف الجدول

    أحد أهم قيود Excel VLOOKUP هو أنه لا يمكن أن ينظر إلى اليسار. وبالتالي ، يجب أن يكون عمود البحث دائمًا هو العمود الموجود في أقصى اليسار في صفيف الجدول. من الناحية العملية ، غالبًا ما ننسى هذا الأمر وينتهي بنا الأمر مع أخطاء # N / A.

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

    5. يتم تنسيق الأرقام كنص

    مصدر شائع آخر أخطاء # N / A في صيغ VLOOKUP هو الأرقام المنسقة كنص ، إما في الجدول الرئيسي أو جدول البحث.

    هذا عادةيحدث عند استيراد البيانات من قاعدة بيانات خارجية أو إذا كتبت فاصلة عليا قبل رقم لإظهار الأصفار البادئة.

    فيما يلي المؤشرات الأكثر وضوحًا للأرقام المنسقة كنص:

    الحل: حدد جميع الأرقام التي بها مشكلات ، وانقر فوق رمز الخطأ واختر تحويل إلى رقم من قائمة السياق. لمزيد من المعلومات ، يرجى الاطلاع على كيفية تحويل النص إلى رقم في Excel.

    6. المسافات البادئة أو اللاحقة

    هذا هو السبب الأقل وضوحًا لخطأ VLOOKUP # N / A لأن العين البشرية بالكاد تستطيع تحديد تلك المسافات الزائدة ، خاصة عند العمل مع مجموعات البيانات الكبيرة حيث تكون معظم الإدخالات أسفل التمرير .

    الحل 1: مسافات إضافية في قيمة البحث

    لضمان العمل الصحيح لصيغة VLOOKUP ، قم بلف قيمة البحث في دالة TRIM:

    =VLOOKUP(TRIM(E1), A2:C10, 2, FALSE)

    الحل 2: مسافات إضافية في عمود البحث

    إذا حدثت مسافات إضافية في عمود البحث ، فهناك ليست طريقة سهلة لتجنب أخطاء # N / A في VLOOKUP. بدلاً من ذلك ، يمكنك استخدام مجموعة من وظائف INDEX و MATCH و TRIM كصيغة صفيف:

    =INDEX(B2:B10, MATCH(TRUE, TRIM(A$2:A$10)=TRIM(E1), 0))

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

    نصيحة. هناك بديل سريع وهو تشغيل أداة Trim Spaces التي ستزيلالمسافات الزائدة في كل من البحث والجداول الرئيسية في ثوانٍ ، مما يجعل صيغ VLOOKUP خالية من الأخطاء.

    #VALUE! خطأ في صيغ VLOOKUP

    بشكل عام ، يعرض Microsoft Excel الخطأ #VALUE! خطأ إذا كانت القيمة المستخدمة في الصيغة من نوع بيانات خاطئ. فيما يتعلق بـ VLOOKUP ، هناك مصدران شائعان لـ VALUE! خطأ.

    1. تتجاوز قيمة البحث 255 حرفًا

    يُرجى العلم أن VLOOKUP لا يمكنها البحث عن قيم تحتوي على أكثر من 255 حرفًا. إذا تجاوزت قيم البحث الخاصة بك هذا الحد ، فإن الخطأ #VALUE! سيتم عرض الخطأ:

    الحل : استخدم صيغة INDEX MATCH بدلاً من ذلك. في حالتنا ، تعمل هذه الصيغة بشكل مثالي:

    =INDEX(B2:B7, MATCH(TRUE, INDEX(A2:A7= E1, 0), 0))

    2. لم يتم توفير المسار الكامل لمصنف البحث

    إذا كنت تقوم بسحب البيانات من مصنف آخر ، فيجب عليك تضمين المسار الكامل إليه. بتعبير أدق ، يجب عليك إرفاق اسم المصنف بما في ذلك الامتداد في [أقواس مربعة] وتحديد اسم الورقة متبوعًا بعلامة التعجب. إذا كان اسم المصنف أو اسم الورقة ، أو كليهما ، يحتوي على مسافات أو أي أحرف غير أبجدية ، فيجب أن يكون المسار محاطًا بعلامات اقتباس مفردة.

    إليك بنية الوسيطة table_array لـ Vlookup من مصنف آخر:

    '[workbook name]sheet name'!range

    قد تبدو الصيغة الحقيقية مشابهة لهذا:

    =VLOOKUP($A$2,'[New Prices.xls]Sheet1'!$B:$D, 3, FALSE)

    ستبحث الصيغة أعلاه عن قيمة A2 في العمود B من الورقة 1 في جديدالأسعار المصنف ، وإرجاع قيمة مطابقة من العمود D.

    إذا كان أي عنصر من المسار مفقودًا ، فلن تعمل صيغة VLOOKUP الخاصة بك وإرجاع الخطأ #VALUE (ما لم يكن مصنف البحث حاليًا open).

    لمزيد من المعلومات ، يرجى الاطلاع على:

    • كيفية الرجوع إلى ورقة أو مصنف آخر في Excel
    • كيفية إجراء Vlookup من مصنف مختلف
    • 6> 9> 3. الوسيطة col_index_num أقل من 1

      من الصعب تخيل موقف عندما يقوم شخص ما عن قصد بإدخال رقم أقل من 1 لتحديد العمود الذي سيتم إرجاع القيم منه. ولكن قد يحدث ذلك إذا تم إرجاع هذه الوسيطة بواسطة دالة أخرى متداخلة في صيغة VLOOKUP الخاصة بك.

      لذلك ، إذا كانت الوسيطة col_index_num أكبر من 1 ، فستُرجع الصيغة #VALUE! خطأ أيضًا.

      إذا كان col_index_num أكبر من عدد الأعمدة في صفيف الجدول ، فإن VLOOKUP ينتج الخطأ #REF! خطأ.

      حل خطأ VLOOKUP #NAME

      هذه هي أسهل حالة - # NAME؟ يظهر خطأ إذا أخطأت في كتابة اسم الوظيفة عن طريق الخطأ.

      الحل واضح - تحقق من الإملاء :)

      الأسباب الرئيسية للأخطاء في Excel VLOOKUP

      بصرف النظر عن نظرًا لوجود صيغة معقدة إلى حد ما ، فإن VLOOKUP لديها قيود أكثر من أي وظيفة Excel أخرى. بسبب هذه القيود ، غالبًا ما تقدم الصيغة الصحيحة على ما يبدو نتائج مختلفة عما كنت تتوقعه. ستجد أدناهحلول لعدد قليل من السيناريوهات النموذجية عندما يفشل VLOOKUP.

      VLOOKUP غير حساس لحالة الأحرف

      لا تميز وظيفة VLOOKUP بين حالة الأحرف وتحلمات الأحرف الصغيرة والكبيرة على أنها متطابقة.

      الحل : استخدم VLOOKUP أو XLOOKUP أو INDEX MATCH مع الدالة EXACT التي يمكنها مطابقة حالة النص. يمكنك العثور على التفسيرات التفصيلية وأمثلة الصيغ في هذا البرنامج التعليمي: 5 طرق لإجراء Vlookup حساس لحالة الأحرف في Excel.

      تم إدراج عمود جديد أو إزالته من الجدول

      للأسف ، VLOOKUP تتوقف الصيغ عن العمل في كل مرة يتم فيها حذف عمود جديد من جدول البحث أو إضافته إليه. يحدث هذا لأن بناء جملة الدالة VLOOKUP يتطلب تحديد رقم الفهرس لعمود الإرجاع. عندما يتم إضافة عمود جديد إلى / إزالة من صفيف الجدول ، من الواضح أن رقم الفهرس يتغير.

      الحل : تأتي صيغة INDEX MATCH للإنقاذ مرة أخرى :) مع INDEX MATCH ، أنت حدد نطاقات البحث والعودة بشكل منفصل ، لذا فأنت حر في حذف أو إدراج العديد من الأعمدة كما تريد دون القلق بشأن تحديث كل صيغة مرتبطة.

      تتغير مراجع الخلية عند نسخ الصيغة إلى خلايا أخرى

      يقدم العنوان شرحًا شاملاً للمشكلة ، أليس كذلك؟

      الحل : استخدم دائمًا المراجع المطلقة (مع علامة $) للوسيطة table_array ، على سبيل المثال 2 دولار أسترالي: 100 دولار كندي أو$ أ: $ ج. يمكنك التبديل بسرعة بين أنواع المراجع المختلفة بالضغط على المفتاح F4.

      تُرجع VLOOKUP أول قيمة تم العثور عليها

      كما تعلم بالفعل ، يُرجع Excel VLOOKUP القيمة الأولى التي يجدها. ومع ذلك ، يمكنك إجبارها على إحضار الثاني أو الثالث أو الرابع أو أي حدث آخر تريده. هناك أيضًا طريقة للحصول على آخر تطابق أو جميع المطابقات التي تم العثور عليها.

      الحلول : أمثلة الصيغة متاحة هنا:

      • VLOOKUP وإرجاع Nth مرات
      • قيم متعددة لـ VLOOKUP
      • صيغة XLOOKUP للحصول على آخر تطابق

      لماذا يعمل VLOOKUP الخاص بي مع بعض الخلايا دون غيرها؟

      عندما تُرجع صيغة VLOOKUP البيانات الصحيحة في بعض الخلايا و # N / A أخطاء في أخرى ، يمكن أن يكون هناك بعض الأسباب المحتملة لحدوث ذلك.

      1. مصفوفة الجدول غير مؤمنة

      افترض أن لديك هذه الصيغة في الصف 2 (على سبيل المثال في E2) ، والتي تعمل بشكل جيد:

      =VLOOKUP(D2, A2:B10, 2, FALSE)

      عند نسخها إلى الصف 3 ، تتغير الصيغة إلى:

      =VLOOKUP(D3, A3:B11, 2, FALSE)

      نظرًا لاستخدام مرجع نسبي لـ table_array ، فإنه يتغير بناءً على الموضع النسبي للصف حيث يتم نسخ الصيغة ، في حالتنا من A2: B10 إلى A3: B11. لذلك ، إذا كانت المطابقة في الصف 2 ، فلن يتم العثور عليها!

      الحل : عند استخدام صيغة VLOOKUP لأكثر من خلية واحدة ، قم دائمًا بقفل صفيف الجدول مرجع بعلامة $ مثل $ A $ 2: $ B $ 10.

      2. لا تتطابق القيم النصية أو أنواع البيانات مع

      آخرالسبب الشائع لفشل VLOOKUP هو الاختلاف بين قيمة البحث وقيمة مماثلة في عمود البحث. في بعض الحالات ، يكون الاختلاف دقيقًا جدًا بحيث يصعب تحديده بصريًا.

      الحل : عندما تقوم VLOOKUP بإرجاع خطأ # N / A بينما يمكنك رؤية قيمة البحث بوضوح في عمود البحث ، ويبدو أنه تم تهجئة كليهما بالطريقة نفسها تمامًا ، فإن أول شيء عليك القيام به هو تحديد السبب الجذري للمشكلة - الصيغة أو بيانات المصدر.

      لمعرفة ما إذا كانت القيمتان هما نفس الشيء أو مختلف ، قم بإجراء مقارنة مباشرة بهذه الطريقة:

      =E1=A4

      حيث E1 هي قيمة البحث و A4 قيمة مماثلة في عمود البحث.

      إذا كان تُرجع الصيغة FALSE ، وهذا يعني أن القيم تختلف بطريقة ما ، على الرغم من أنها تبدو متشابهة تمامًا.

      في حالة القيم الرقمية ، فإن السبب الأكثر احتمالًا هو تنسيق الأرقام كنص.

      في حالة القيم النصية ، من المرجح أن تكون المشكلة في المسافات الزائدة. للتحقق من ذلك ، اكتشف الطول الإجمالي للسلسلتين باستخدام وظيفة LEN:

      =LEN(E1)

      =LEN(A4)

      إذا كانت الأرقام الناتجة مختلفة (كما في لقطة الشاشة أدناه ) ، ثم حددت الجاني - مسافات إضافية:

      لحل المشكلة ، إما إزالة المسافات الزائدة أو استخدام صيغة INDEX MATCH TRIM كحل بديل.

      لماذا يسحب VLOOKUP بيانات خاطئة؟

      قد يكون هناك المزيد من الأسباب وراء ذلكتقوم VLOOKUP بإرجاع قيمة خاطئة:

      1. وضع البحث غير الصحيح . إذا كنت تريد مطابقة تامة ، فتأكد من تعيين الوسيطة range_lookup على FALSE. القيمة الافتراضية هي TRUE ، لذلك إذا حذفت هذه الوسيطة ، فستفترض VLOOKUP أنك تبحث عن تطابق تقريبي وتبحث عن أقرب قيمة أصغر من قيمة البحث.
      2. عمود البحث ليس كذلك مرتبة . لمطابقة تقريبية VLOOKUP ( range_lookup مضبوطة على TRUE) للعمل بشكل صحيح ، يجب فرز العمود الأول في صفيف الجدول بترتيب تصاعدي ، من الأصغر إلى الأكبر.
      3. مكرر في عمود البحث . إذا احتوى عمود البحث على قيمتين مكررتين أو أكثر ، فسيرجع VLOOKUP أول تطابق تم العثور عليه ، والذي قد لا يكون هو الذي تتوقعه.
      4. عمود إرجاع غير صحيح . تحقق جيدًا من رقم الفهرس في الوسيطة الثالثة :)

      VLOOKUP لا يعمل بين ورقتين

      أولاً ، يجب ملاحظة أن الأسباب الشائعة لـ # N / A ، قد تتسبب أخطاء #VALUE و #REF التي تمت مناقشتها أعلاه في نفس المشكلات عند البحث من ورقة أخرى. إذا لم يكن الأمر كذلك ، فتحقق من النقاط التالية:

      1. تأكد من صحة المرجع الخارجي لورقة أخرى أو مصنف مختلف.
      2. عند إجراء Vlookup من مصنف آخر والذي هو مغلق في الوقت الحالي ، تحقق من أن الصيغة الخاصة بك تحتوي على المسار الكامل للمصنف المغلق.
      3. إذا

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