Menu
flag Ar iconالعربيةdown icon

خطأ #N/A في الاكسل: حل عدم العثور في VLOOKUP وXLOOKUP

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

كل ورقة في هذه الصفحة تفاعلية: غيّر رقمًا أو صيغة وسيُعاد الحساب.

يعني #N/A "غير متاح": لم يجد بحث مثل VLOOKUP أو XLOOKUP أو MATCH القيمة التي يبحث عنها. في الأسفل، تعيد =VLOOKUP(E2,A2:B6,2,FALSE) الخطأ #N/A لأن Kiwi ليست في القائمة. غيّر E2 إلى Pear فتعيد 1.5.

البحث عن منتج غير موجود
F2
ABCDEF
1ProductPriceLook forPrice
2Apple1.2Kiwi#N/A
3Pear1.5
4Plum0.8
5Bread2.4
6Milk1.1
#N/A القيمة التي تبحث عنها غير موجودة في نطاق البحث.

عندما تكون القيمة مفقودة فعلًا، يكون #N/A هو الجواب الصحيح، وتحوّله IFNA (في الأسفل) إلى رسالة. أما الحالات التي تستحق الإصلاح فهي التي تكون فيها القيمة موجودة ومع ذلك يفشل البحث. ويعرض الاكسل في بعض اللغات الخطأ باسمه الخاص، مثل #NV في الألمانية، و#N/D في البرتغالية والإيطالية، و#Н/Д في الروسية، و#YOK في التركية؛ وهو الخطأ نفسه.

خطأ #N/A بعد نسخ البحث إلى الأسفل

أشيع سبب في الأوراق الحقيقية: تعمل الصيغة في الصف الأول، وتعرض بعض الصفوف تحته #N/A مع أن المنتجات موجودة في القائمة.

نطاق جدول بلا $
F4
ABCDEF
1ProductPriceOrderPrice
2Apple1.2Apple1.2
3Pear1.5Plum0.8
4Plum0.8Pear#N/A
5Bread2.4Milk1.1
6Milk1.1Apple#N/A
#N/A القيمة التي تبحث عنها غير موجودة في نطاق البحث.

انقر F4: نطاق جدولها A4:B8، أدنى بصفين من نطاق F2. نسخ الصيغة إلى الأسفل حرّك النطاق معها، فخرجت Pear (الصف 3) وApple (الصف 2) منه. وتعمل F3 وF5 فقط لأن Plum وMilk لا تزالان داخل نطاقيهما. انقر F2 وغيّر النطاق إلى $A$2:$B$6: يتبعها العمود كله وتظهر كل الأسعار. تثبّت علامات $ النطاق، راجع المراجع المطلقة.

خطأ #N/A بسبب المسافات الزائدة

"Pear " مع مسافة في آخرها و"Pear" قيمتان مختلفتان بالنسبة إلى الاكسل. تأتي المسافات من البيانات المكتوبة يدويًا، أو المنسوخة من صفحات الويب، أو المصدّرة من أنظمة أخرى، وهي غير مرئية في الخلية.

مسافة في الآخر داخل الجدول
E2
ABCDEF
1ProductPriceLook forPriceLength of A2
2Pear 1.5Pear#N/A5
3Apple1.2
4Plum0.8
#N/A القيمة التي تبحث عنها غير موجودة في نطاق البحث.

تعيد E2 الخطأ #N/A. وتُظهر F2 السبب: في Pear أربعة أحرف، لكن طول A2 خمسة أحرف. احذف المسافة في A2 فيعمل البحث. ثلاث طرق لإصلاحه نهائيًا:

  • نظّف العمود: ضع =TRIM(A2) في عمود مساعد وانسخها إلى الأسفل، ثم انسخه واختر الصفحة الرئيسية > لصق > قيم فوق الأصل.
  • نظّف قيمة البحث عندما تكون المسافات فيما تكتبه: =VLOOKUP(TRIM(D2),A2:B4,2,FALSE).
  • نظّف عمود البحث كله داخل الصيغة (Excel 2021 أو Microsoft 365): =XLOOKUP(D2,TRIM(A2:A4),B2:B4).

قد يحتوي النص الملصوق من صفحات الويب على مسافة غير منقسمة، لا تحذفها TRIM. وتوضح صفحة TRIM كيف تستبدلها بالصيغة SUBSTITUTE(A2,CHAR(160)," ").

خطأ #N/A عندما لا تكون القيمة في العمود الأول

تبحث VLOOKUP في العمود الأول من نطاقها فقط وتعيد عمودًا على يمينه. والبحث عن قيمة من أي عمود آخر يعيد #N/A، حتى عندما تكون في الجدول.

البحث بالرمز
F2
ABCDEFG
1ProductCodePriceCodeVLOOKUPXLOOKUP
2AppleA-171.2P-22#N/APear
3PearP-221.5
4PlumP-310.8
5BreadB-052.4
6MilkM-401.1
#N/A القيمة التي تبحث عنها غير موجودة في نطاق البحث.

الرموز في العمود B، فتبحث VLOOKUP على A2:C6 عن P-22 بين أسماء المنتجات وتفشل. ولا تستطيع أيضًا إرجاع اسم المنتج، الذي يقع قبل الرمز. أما XLOOKUP فتأخذ عمود البحث وعمود الإرجاع بشكل منفصل وتجد Pear. وفي Excel 2019 وما قبله، تفعل =INDEX(A2:A6,MATCH(E2,B2:B6,0)) الشيء نفسه.

خطأ #N/A من أرقام مخزنة كنص

رقم الطلب المكتوب كنص ('1001، أو المستورد من ملف CSV) لا يطابق أبدًا الرقم 1001، والعكس صحيح. تعرض الخليتان 1001، لذا يصعب رؤية هذه الحالة. في الاكسل:

A2:B6 holds order numbers stored as text, E2 holds the number 1001
=VLOOKUP(E2,A2:B6,2,FALSE)          #N/A
=VLOOKUP(E2&"",A2:B6,2,FALSE)       found: E2&"" turns the number into text

A2:B6 holds real numbers, E2 holds "1001" as text
=VLOOKUP(E2,A2:B6,2,FALSE)          #N/A
=VLOOKUP(--E2,A2:B6,2,FALSE)        found: -- turns the text into a number

تخبرك =ISTEXT(A2) أي الطرفين نص، والمثلث الأخضر الصغير في زاوية الخلية يميّز الرقم المخزن كنص. ولتحويل عمود كامل، راجع تحويل النص إلى رقم.

IFNA أم IFERROR: عرض رسالة عندما لا يُعثر على شيء

عندما يمكن أن تكون القيمة مفقودة بشكل مشروع، اعرض شيئًا أنفع من #N/A. استخدم IFNA، لا IFERROR:

IFNA مقابل IFERROR حول بحث معطوب
F2
ABCDEFG
1ProductPriceLook forIFNAIFERROR
2Apple1.2Pear#REF!Not found
3Pear1.5
4Plum0.8
5Bread2.4
6Milk1.1
#REF! تشير الصيغة إلى خلية غير موجودة.

تطلب الصيغتان العمود 3 من نطاق فيه عمودان، وهذا خطأ. تترك IFNA الخطأ #REF! يمر، فترى الخلل. أما IFERROR فتخفيه وتقول "Not found" عن Pear، وهي موجودة في القائمة. غيّر الرقمين 3 إلى 2: تعرض كل منهما الآن 1.5، ومع ضبط E2 على Kiwi تعرض كل منهما "Not found". وتحتوي XLOOKUP على الرسالة مدمجة: =XLOOKUP(E2,A2:A6,B2:B6,"Not found"). المزيد عن الفرق في IFERROR.

إصلاح بحث أفسدته المسافات

إيجاد السعر رغم المسافات
F2
ABCDEF
1ProductPriceLook forPrice
2Apple 1.2Plum
3Pear 1.5
4Plum 0.8
5Bread 2.4
6Milk 1.1
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

دورك: استُورد كل منتج في القائمة مع مسافة في آخره، لذا تعيد =VLOOKUP(E2,A2:B6,2,FALSE) الخطأ #N/A. اكتب في F2 صيغة تظل تعيد سعر المنتج الموجود في E2.

تنظّف =XLOOKUP(E2,TRIM(A2:A6),B2:B6) القائمة داخل الصيغة. وتعمل =VLOOKUP(E2&" ",A2:B6,2,FALSE) هنا أيضًا، لكن فقط ما دام لكل منتج مسافة واحدة بالضبط في آخره؛ أما تنظيف العمود بالدالة TRIM فهو الإصلاح الذي يدوم.

الأسئلة الشائعة

ماذا يعني #N/A في الاكسل؟

N/A اختصار لعبارة "not available" أي "غير متاح". ويعني أن دالة بحث (VLOOKUP أو HLOOKUP أو XLOOKUP أو MATCH أو XMATCH) لم تجد القيمة التي أُعطيت لها. وتعيده =NA() عمدًا أيضًا، مثلًا ليتخطى المخطط نقطة بدلًا من رسمها كصفر.

لماذا تعيد VLOOKUP الخطأ #N/A والقيمة موجودة؟

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

لماذا تعيد VLOOKUP الخطأ #N/A في بعض الصفوف دون غيرها؟

لم يُثبَّت نطاق الجدول قبل نسخ الصيغة إلى الأسفل، فيبدأ في كل صف أدنى بصف واحد: يصبح A2:B6 في الصف الأول بالشكل A4:B8 بعد صفين، فلا يُعثر على القيم الواقعة فوق النطاق. ثبّته بالرمز $: =VLOOKUP(E2,$A$2:$B$6,2,FALSE).

لماذا تعيد XLOOKUP الخطأ #N/A؟

لأن القيمة ليست في مصفوفة البحث، أو تختلف عنها بمسافة أو بكونها نصًا بدلًا من رقم. تطابق XLOOKUP مطابقة تامة افتراضيًا، فلا تقبل شيئًا قريبًا. ويستبدل وسيطها الرابع الخطأ: =XLOOKUP(E2,A2:A6,B2:B6,"Not found").

لماذا تعيد MATCH الخطأ #N/A؟

مع نوع المطابقة 0 تكون القيمة غير موجودة في النطاق، تمامًا كما مع VLOOKUP. ومع نوع المطابقة 1 أو حذفه، يجب أن يكون النطاق مرتبًا تصاعديًا وألا تكون القيمة أصغر من أول عنصر فيه؛ استخدم =MATCH(E2,A2:A6,0) للمطابقة التامة.

رسم توضيحي للغات البرمجة في Coddy

تعلّم البرمجة مع Coddy

ابدأ الآن