الإجابة المختصرة: XLOOKUP هو الخيار الأفضل في تقريباً كل الحالات. تعطيه ثلاثة أشياء: ما الذي تبحث عنه، وأين تبحث، وما الذي تريد إرجاعه: =XLOOKUP(H2, A2:A6, B2:B6). وعلى عكس VLOOKUP، لا يحتوي XLOOKUP على رقم عمود يتعطل عندما يُدرج أحدهم عموداً جديداً. كما أنه يطابق تطابقاً تاماً افتراضياً، ويستطيع البحث نحو اليسار، ويمكنه أن يعرض رسالتك الخاصة بدلاً من #N/A. استخدم VLOOKUP فقط عندما يجب أن يُفتح الملف في Excel 2019 أو إصدار أقدم.
يرافق هذا الدليل فيديوي كيف تستخدم XLOOKUP في Excel: VLOOKUP مقابل XLOOKUP و7 أمثلة. تستخدم كل الأمثلة ملف قاعدة بيانات صغيراً لمكتب الدعم الفني، لذلك يمكنك إعادة بنائه في خمس دقائق ومتابعة الشرح خطوة بخطوة.
أين يعمل XLOOKUP
- Microsoft 365 (على Windows وMac)، وExcel 2021 وExcel 2024
- Excel على الويب، وتطبيقات Excel على iPad وiPhone وAndroid
- Google Sheets (لديه XLOOKUP خاص به بالفكرة نفسها)
- لا يعمل في Excel 2019 أو Excel 2016. ستحصل هناك على
#NAME?، لذلك استخدم INDEX وMATCH.
بناء جملة XLOOKUP
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
| الوسيطة | مطلوبة؟ | وظيفتها |
|---|---|---|
| lookup_value | نعم | القيمة التي تبحث عنها (رقم معرّف، أو بريد إلكتروني، أو رمز) |
| lookup_array | نعم | العمود (أو الصف) الذي تبحث فيه |
| return_array | نعم | العمود (أو الأعمدة) التي تُرجع منها النتيجة |
| if_not_found | لا | نص تكتبه بنفسك عندما لا يوجد تطابق، مثل "Not found" |
| match_mode | لا | 0 تطابق تام (الافتراضي)، -1 تطابق تام أو الأصغر التالي، 1 تطابق تام أو الأكبر التالي، 2 أحرف بدل (wildcards) |
| search_mode | لا | 1 من الأول إلى الأخير (الافتراضي)، -1 من الأخير إلى الأول، 2 / -2 بحث ثنائي في البيانات المرتبة |
VLOOKUP مقابل XLOOKUP: الفروق الأربعة المهمة
إليك البحث نفسه بالطريقتين:
=VLOOKUP(H2, A2:F6, 2, FALSE)
=XLOOKUP(H2, A2:A6, B2:B6)
| VLOOKUP | XLOOKUP | |
|---|---|---|
| عند إدراج عمود جديد | يصبح رقم العمود خاطئاً، دون ظهور أي خطأ | تتحرك النطاقات مع الورقة وتستمر الصيغة في العمل |
| المطابقة الافتراضية | تقريبية (إذا نسيت FALSE) | تامة |
| الاتجاه | لليمين فقط | في أي اتجاه |
| عند عدم وجود تطابق | #N/A | رسالتك الخاصة |
| Excel 2019 / 2016 | يعمل | غير متوفر |
الصف الأول هو الأكثر إزعاجاً في الواقع العملي. أصلحتُ مرة تقارير لعملاء كانت صحيحة يوم الاثنين وخاطئة يوم الثلاثاء، لأن أحدهم أضاف عمود “Phone”، فبدأت كل صيغ VLOOKUP التي رقم عمودها 4 تُرجع البريد الإلكتروني بدلاً من القسم، دون أن يلاحظ أحد. السرعة ليست السبب الذي يدفعك للتحويل، فلن تلاحظ فرقاً كبيراً في جداول المكتب العادية. حوّل لأنه أكثر أماناً.
القاعدة التي أتبعها في عملي مع العملاء: إذا أرسلت ملفاً إلى أشخاص خارج شركتك، فاسأل أولاً أي إصدار من Excel يستخدمونه. إذا كان أحدهم يستخدم Excel 2019 أو أقدم، فاحتفظ بـ VLOOKUP، أو استخدم INDEX وMATCH في ذلك الملف.
بيانات المثال
قائمة الموظفين في النطاق A1:F6:
| المعرّف | الاسم | البريد الإلكتروني | القسم | الحاسوب المحمول | التحويلة |
|---|---|---|---|---|---|
| 1001 | Abd Almouhimen Shamout | abd@mouhimen.dev | IT | LT-204 | 2101 |
| 1002 | Abd Shamout | abd.s@mouhimen.dev | المبيعات | LT-118 | 2140 |
| 1003 | Mouhimen Dev | dev@mouhimen.dev | التطوير | LT-330 | 2155 |
| 1004 | Abd A. Shamout | a.shamout@mouhimen.dev | الموارد البشرية | LT-087 | 2122 |
| 1005 | A. Shamout | ashamout@mouhimen.dev | المالية | LT-412 | 2169 |
المثال 1: بحث أساسي مع شبكة أمان “Not found”
المعرّف موجود في الخلية H2. أرجِع الاسم:
=XLOOKUP(H2, A2:A6, B2:B6, "Not found")
يُرجع 1003 الاسم Mouhimen Dev. أما المعرّف غير الموجود، مثل 1009، فيُرجع Not found بدلاً من #N/A.
قبل أن تنسخ الصيغة إلى الأسفل: اضغط F4 على كل نطاق لتثبيته ($A$2:$A$6)، أو حوّل القائمة إلى جدول Excel بالضغط على Ctrl+T. تكبر نطاقات الجداول تلقائياً عندما تضيف موظفين جدداً.
المثال 2: البحث نحو اليسار
يراسلك مستخدم بخصوص إعادة تعيين كلمة المرور، وتحتاج إلى معرّفه. البريد الإلكتروني موجود في العمود C، والمعرّف في العمود A، أي على يسار البريد. لا يستطيع VLOOKUP فعل ذلك، أما XLOOKUP فلا يهمه ذلك:
=XLOOKUP(H2, C2:C6, A2:A6)
يُرجع a.shamout@mouhimen.dev المعرّف 1004.
المثال 3: إرجاع عدة أعمدة دفعة واحدة
اختر أكثر من عمود واحد كنطاق للإرجاع:
=XLOOKUP(H2, A2:A6, D2:F6)
بالنسبة إلى 1001، تمتد النتيجة إلى ثلاث خلايا: IT، LT-204، 2101. معرّف واحد، وترى كل المعلومات عن المستخدم. هذا مثالي لبطاقة مكتب الدعم الفني.
المثال 4: بحث ثنائي الاتجاه (صف وعمود)
يحتوي جدول “التذاكر المغلقة” على موظفي الدعم في A2:A6، والأشهر في B1:E1. لإيجاد موظف واحد في شهر واحد، ضع XLOOKUP داخل XLOOKUP آخر:
=XLOOKUP(H2, A2:A6, XLOOKUP(H3, B1:E1, B2:E6))
يجد XLOOKUP الداخلي الشهر (Mar) ويُرجع العمود كاملاً لذلك الشهر. ثم يجد XLOOKUP الخارجي الموظف (Abd Shamout) داخل ذلك العمود. النتيجة: 41. الطريقة القديمة كانت تحتاج إلى INDEX مع دالتي MATCH:
=INDEX(B2:E6, MATCH(H2, A2:A6, 0), MATCH(H3, B1:E1, 0))
المثال 5: XLOOKUP مع معايير متعددة
تحتوي قائمة تراخيص البرامج على المستخدم نفسه عدة مرات، مرة لكل تطبيق (المستخدم في A، والتطبيق في B، وتاريخ الانتهاء في C، من الصف 2 إلى 9). لإيجاد تاريخ الانتهاء لمستخدم و تطبيق واحد:
=XLOOKUP(1, (A2:A9=H2)*(B2:B9=H3), C2:C9)
تُرجع كل مقارنة TRUE أو FALSE. وعند ضربها تتحول إلى 1 أو 0، فلا يصبح إلا الصف الذي يتحقق فيه الشرطان 1، ويبحث XLOOKUP عن هذا الرقم 1. بالنسبة إلى Abd Almouhimen Shamout وJetBrains يُرجع 2027-03-31.
ضع كل مقارنة بين أقواس خاصة بها. بدونها (A2:A9=H2*B2:B9=H3) سيضرب Excel قبل أن يقارن، فتكون النتيجة خاطئة. يمكنك إضافة شرط ثالث بالطريقة نفسها: *(D2:D9=H4).
المثال 6: مطابقة تقريبية لشرائح الأسعار
خصومات أجهزة الحاسوب المحمولة: من 1 إلى 9 قطع خصم 0%، و10 قطع خصم 5%، و25 قطعة خصم 8%، و50 قطعة خصم 12% (الحد الأدنى للكمية في A، والخصم في B). الطلب الذي يضم 30 قطعة غير موجود في الجدول، لذلك استخدم match_mode بالقيمة -1، أي “تطابق تام أو الأصغر التالي”، واترك الوسيطة الرابعة فارغة:
=XLOOKUP(H2, A2:A5, B2:B5, , -1)
يجد 30 الرقم 25، لذلك يكون الخصم 8%. وعلى عكس المطابقة التقريبية في VLOOKUP، لا تحتاج الشرائح إلى ترتيب عندما تستخدم وضع البحث الافتراضي.
المثال 7: إيجاد آخر تطابق
يسجل سجل الأصول الحاسوب المحمول LT-204 ثلاث مرات: Issued وRepaired وReturned. البحث العادي يُرجع الصف الأول، وهذه معلومة قديمة. اضبط search_mode على -1 للبحث من الأسفل إلى الأعلى:
=XLOOKUP(H2, B2:B9, C2:C9, , 0, -1)
النتيجة: Returned، وهي آخر حالة.
مكافأة: الأحرف البديلة (wildcards): تفعّل match_mode بالقيمة 2 الأحرف البديلة. تطابق * أي نص، وتطابق ? حرفاً واحداً:
=XLOOKUP("Abd*", B2:B6, A2:A6, , 2)
تُرجع هذه الصيغة معرّف أول اسم يبدأ بـ “Abd” (1001).
الأخطاء وحلولها (“XLOOKUP لا يعمل”)
1. #NAME?
إما أن Excel لديك لا يحتوي على XLOOKUP (عادةً إصدار 2019 أو أقدم)، وإما أن اسم الدالة فيه خطأ إملائي. استخدم Microsoft 365 أو Excel 2021 أو أحدث أو Excel على الويب، أو استخدم هذه الصيغة في الملفات القديمة:
=INDEX(B2:B6, MATCH(H2, A2:A6, 0))
2. #N/A مع أنك ترى القيمة
غالباً توجد مسافة مخفية في نهاية الخلية، أو رقم مخزّن كنص. اختبار سريع: =H2=A4. إذا ظهرت النتيجة FALSE، فالقيمتان مختلفتان حتى لو بدتا متطابقتين. الحلول:
=XLOOKUP(H2, TRIM(A2:A6), B2:B6) // removes extra spaces
=XLOOKUP(--H2, A2:A6, B2:B6) // turns a text number in H2 into a real number
3. #VALUE!
نطاق البحث (lookup array) ونطاق الإرجاع (return array) بحجمين مختلفين، مثل A2:A6 وB2:B7. حدد الصفوف نفسها في النطاقين.
4. #SPILL!
أرجعت عدة أعمدة، لكن الخلايا المجاورة للصيغة ليست فارغة. أفرغها فتتمكن النتيجة من الظهور.
قائمة مراجعة
- ثلاث وسائط مطلوبة: ما الذي تبحث عنه، وأين تبحث، وما الذي تريد إرجاعه
- أضف
"Not found"وسيطةً رابعةً في الملفات المشتركة - ثبّت النطاقات بالمفتاح F4 أو استخدم جدول Excel (Ctrl+T)
- استخدم
-1في match_mode للشرائح، و-1في search_mode لآخر إدخال - تحقق من إصدار Excel لدى قرّائك قبل أن تشارك الملف
الأسئلة الشائعة
هل XLOOKUP أفضل من VLOOKUP؟
نعم، في تقريباً كل الحالات: لا يحتاج إلى أرقام أعمدة، ويطابق تطابقاً تاماً افتراضياً، ويبحث في أي اتجاه، ويستطيع عرض رسالتك الخاصة عندما لا يوجد تطابق. الميزة الوحيدة لـ VLOOKUP أنه يعمل في Excel 2019 والإصدارات الأقدم.
لماذا لا يتوفر XLOOKUP في Excel لديّ؟
يتوفر XLOOKUP في Microsoft 365 وExcel 2021 وExcel 2024 وExcel على الويب. أما Excel 2019 وExcel 2016 فلا يملكانه، وسيظهر فيهما #NAME?. استخدم Excel على الويب مجاناً، أو استخدم INDEX وMATCH.
هل يستطيع XLOOKUP استخدام معايير متعددة؟
نعم. ابحث عن 1 داخل مجموعة مقارنات مضروبة: =XLOOKUP(1, (A2:A9=H2)*(B2:B9=H3), C2:C9).
هل يعمل XLOOKUP في Google Sheets؟
نعم. يملك Google Sheets دالة XLOOKUP خاصة به بالوسائط نفسها (مفتاح البحث، ونطاق البحث، ونطاق النتيجة، وقيمة عدم الوجود، ووضع المطابقة، ووضع البحث).
هل XLOOKUP أسرع من VLOOKUP؟
في جداول المكتب العادية لن تلاحظ فرقاً. اختره لأنه أكثر أماناً، لا لأنه أسرع.
واصل التعلم
- توقف عن استخدام IF المتداخلة: 3 صيغ أفضل في Excel
- [دالة TEXTJOIN في Excel: توقف عن استخدام CONCATENATE]([TEXTJOIN POST LINK])
- من دعم تقنية المعلومات: تنظيف المستخدمين غير النشطين في Microsoft 365 باستخدام PowerShell
- الدرس التالي في سلسلة Excel: كيفية إنشاء قائمة منسدلة في Excel (تُنشر الجمعة 27 نوفمبر)
المصادر
- دعم Microsoft، دالة XLOOKUP: https://support.microsoft.com/en-us/office/xlookup-function-b7fd680e-6d10-43e6-84f9-88eae8bf5929
- دعم Microsoft، دالة VLOOKUP: https://support.microsoft.com/en-us/office/vlookup-function-0bbc8083-26fe-4963-8ab8-93a18ad188a1
- مساعدة محرري Google Docs، دالة XLOOKUP: https://support.google.com/docs/answer/12405947
تم التحقق في 30 أكتوبر 2026.
هذا المقال ترجمة عربية للمقال الأصلي باللغة الإنجليزية للكاتب عبد المهيمن شموط على mouhimen.dev.
