كيفيه تصحيح خطا #N/A في الدالة VLOOKUP

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

تلميح: يمكنك أيضا الرجوع إلى البطاقة المرجعية السريعة: تلميحات استكشاف أخطاء VLOOKUP التي تقدم الأسباب الشائعة ل#NA المشاكل في ملف PDF مناسب. يمكنك مشاركه ملف PDF مع الآخرين أو الطباعة للرجوع اليك.

المشكلة: قيمه البحث غير موجودة في العمود الأول في الوسيطة table_array

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

في الجدول التالي ، نريد استرداد عدد الوحدات المباعة ل كالي.

#NA خطا في VLOOKUP: قيمه البحث غير موجودة في العمود الأول من صفيف الجدول

ينتج الخطا #N/A لان قيمه البحث "كالي" تظهر في العمود الثاني (فاكهة) الوسيطة Table_array A2: C10. في هذه الحالة ، يبحث Excel عنه في العمود A ، وليس العمود B.

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

ضع في اعتبارك استخدام الفهرس/التطابق بدلا من ذلك

يعتبر الفهرسوالتطابق خيارات جيده للعديد من الحالات التي لا يفي بها الدالة VLOOKUP باحتياجاتك. ان الميزة الاساسيه للفهرس/التطابق هي انه يمكنك البحث عن قيمه في عمود في اي موقع في جدول البحث. ترجع الدالة INDEX قيمه من جدول/نطاق محدد ، وفقا لموضعها. المطابقة ترجع الموضع النسبي لقيمه في جدول/نطاق. استخدم INDEX و MATCH معا في صيغه للبحث عن قيمه في جدول/صفيف عن طريق تحديد الموضع النسبي للقيمة في الجدول/الصفيف.

هناك العديد من فوائد استخدام الفهرس/المطابقة بدلا من الدالة VLOOKUP:

  • باستخدام الفهرس والتطابق ، يجب الا تكون القيمة المرجعة في العمود نفسه لعمود البحث. هذا يختلف عن VLOOKUP ، حيث يجب ان تكون القيمة المرجعة في النطاق المحدد. كيف يحدث هذا الأمر ؟ باستخدام VLOOKUP ، يجب ان تعرف رقم العمود الذي يحتوي علي القيمة المرجعة. علي الرغم من ان هذا الأمر لا يبدو في التحدي ، يمكن ان يكون بطيئا عندما يكون لديك جدول كبير ويجب عليك حساب عدد الاعمده. أيضا ، إذا أضفت/تزيل عمودا في الجدول ، ستحتاج إلى ريكونت col_index_num الوسيطة وتحديثها. باستخدام INDEX و MATCH ، لا يوجد عد مطلوب لان عمود البحث يختلف عن العمود الذي يحتوي علي القيمة المرجعة.

  • باستخدام INDEX و MATCH ، يمكنك تحديد اما صف أو عمود في صفيف — أو تحديد كليهما. هذا يعني انه يمكنك البحث عن القيم عموديا وأفقيا.

  • يمكن استخدام الفهرس والتطابق للبحث عن القيم في اي عمود. بعكس الدالة VLOOKUP ، والتي يمكنك فيها البحث عن قيمه في العمود الأول في جدول ، سيتم استخدام الدالة INDEX و MATCH إذا كانت قيمه البحث في العمود الأول أو الأخير أو في اي مكان بينهما.

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

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

بناء الجملة

لبناء بناء الجملة للفهرس/التطابق ، يجب استخدام الوسيطة array/reference من الدالة INDEX وتداخل بناء جمله MATCH داخلها. هذا ياخذ النموذج:

= INDEX (array أو مرجع ، مطابقه (lookup_value ، lookup_array ، [match_type])

دعنا نستخدم الفهرس/التطابق لاستبدال VLOOKUP من المثال أعلاه. سيبدو بناء الجملة كالتالي:

= INDEX (C2: C10, MATCH (B13, B2: B10, 0))

باللغة الانجليزيه البسيطة ، فهذا يعني:

= INDEX (إرجاع قيمه من C2: C10 ، التي ستطابق (كل ، وهو في مكان ما في الخلية B2: B10 ، حيث تكون القيمة التي يتم إرجاعها هي القيمة الاولي المقابلة لكل))

يمكن استخدام الدالتين INDEX و MATCH كبديل إلى VLOOKUP

تبحث الصيغة عن القيمة الاولي في C2: C10 التي تتوافق مع كالي (في B7) وترجع القيمة في C7 (100) ، وهي القيمة الاولي التي تطابق كالي.

المشكلة: لم يتم العثور علي التطابق التام

عندما تكون الوسيطة RANGE_LOOKUP FALSE ، وتعذر علي الدالة VLOOKUP العثور علي تطابق تام في البيانات الخاصة بك ، سيتم إرجاع الخطا #N/a.

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

يمكنك أيضا استخدام الدالة clean أو TRIM لتنظيف البيانات في الخلايا.

المشكلة: قيمه البحث أصغر من أصغر قيمه في الصفيف

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

في المثال التالي ، تكون قيمه البحث 100، ولكن لا توجد قيم في النطاق B2: C10 اقل من 100 ؛ ولهذا الخطا.

خطا غير متوفر في VLOOKUP عندما تكون قيمه البحث أصغر من أصغر قيمه في الصفيف

الحل:

  • صحح قيمه البحث إذا لزم الأمر.

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

المشكلة: لم يتم فرز عمود البحث بترتيب تصاعدي

إذا تم تعيين الوسيطة range_lookup إلى TRUE ، ولم يتم فرز أحد أعمده البحث في الترتيب التصاعدي (a-z) ، سيظهر الخطا #N/a.

الحل:

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

  • استخدم الدالة INDEX/MATCH للبحث عن قيمه في جدول غير مفروز.

المشكلة: القيمة عبارة عن رقم نقطه عائمه كبير

إذا كانت لديك قيم زمنيه أو أرقام عشريه كبيره في الخلايا ، سيقوم Excel بإرجاع الخطا #N/A بسبب دقه الفاصلة العائمة. أرقام الفاصلة العائمة هي الأرقام التي تليها بعد الفاصلة العشرية. (يخزن Excel قيم الوقت كارقام الفاصلة العائمة). يتعذر علي Excel تخزين الأرقام ذات النقاط العائمة الكبيرة جدا ، لكي تعمل الدالة بشكل صحيح ، يجب ان يتم تقريب أرقام الفاصلة العائمة إلى 5 منازل عشريه.

الحل: تقصير الأرقام عن طريق تقريبها إلى خمسه منازل عشريه باستخدام الدالة ROUND .

هل لديك أسئلة خاصة تتعلق بالدالة؟

نشر سؤال في منتدى مجتمع Excel‏

ساعدنا في تحسين Excel

هل لديك اقتراحات حول كيف يمكننا تحسين الإصدار التالي من Excel؟ إذا كان الأمر كذلك ، فالرجاء الاطلاع علي المواضيع في صوت مستخدم Excel.

اطلع أيضاً على

ملاحظة:  وقد تمت ترجمة هذه الصفحة آلياً وقد تحتوي على أخطاء نحوية أو أخطاء تتعلق بالدقة. إن هدفنا هو أن يكون هذا المحتوى مفيداً لك. هل يمكنك إعلامنا إذا ما كانت المعلومات مفيدة؟ فيما يلي المقالة باللغة الإنجليزية لتكون مرجعاً لك.

تعزيز مهارات Office
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى Office Insider

هل كانت المعلومات مفيدة؟

نشكرك على ملاحظاتك!

شكراً لك على الملاحظات! يبدو أنه من المفيد إيصالك بأحد وكلاء دعم Office لدينا.

×