كيف يمكنني البحث عن القيم في مصنف آخر؟
في العمل اليومي مع Excel، قد تجد نفسك غالبًا بحاجة إلى استرجاع معلومات من مصنف آخر. سواء كنت تعد ملخصًا، أو تُطابق السجلات بين الإدارات، أو ترغب ببساطة في استخدام بيانات مرجعية محفوظة بشكل منفصل، فإن إتقان كيفية البحث عن القيم وإرجاع المعلومات من مصنف مختلف يُعد أمرًا ضروريًّا. هذه المهارة تعزز اتساق البيانات بشكل كبير وتقلل الأخطاء اليدوية، خاصةً عند التعامل مع نطاقات مصدر موزعة، أو مجموعات بيانات ضخمة، أو مصنفات مشتركة مع الزملاء.
يستعرض هذا المقال طرقًا للعثور على القيم أو البحث عنها في مصنف آخر وإرجاع البيانات ذات الصلة مباشرةً إلى ملف Excel النشط الخاص بك. ويقدّم ثلاث طرق عملية تغطي السيناريوهات الشائعة: دالة VLOOKUP الكلاسيكية التي تعمل مع مصنفات مفتوحة أو مغلقة، ونهج VBA لتلبية الاحتياجات الديناميكية، وتقنيات صيغ بديلة. وستساعدك الشرح التفصيلي والسيناريوهات العملية على اختيار الطريقة الأنسب لسير عملك.
- البحث عن بيانات باستخدام Vlookup وقيمة العودة من ملف عمل آخر في Excel
- البحث عن بيانات باستخدام Vlookup وقيمة العودة من ملف عمل مغلق آخر باستخدام VBA
- حلول صيغ بديلة للبحث عبر ملفات العمل
البحث عن البيانات باستخدام VLOOKUP وقيمة العودة من مصنف آخر في Excel
لنفترض أنك تعد جدول شراء الفواكه في Excel وتحتاج إلى استرجاع آخر أسعار الفواكه المخزَّنة في ملف عمل آخر. بدلًا من اللجوء إلى النسخ واللصق، يمكنك بسهولة البحث عن أسماء الفواكه في ملف المصدر واسترجاع الأسعار المقابلة تلقائيًّا—مما يضمن لك دقة البيانات وتحديثها فورًا. فيما يلي كيفية إنجاز هذه المهمة باستخدام دالة VLOOKUP.


ابدأ بفتح المصنف الذي تريد جمع البيانات أو تلخيصها فيه، بالإضافة إلى المصنف المصدر الذي يحتوي على المعلومات (مثل الأسعار).
اختر الخلية التي ترغب في عرض سعر فاكهة معينة فيها، ثم أدخل الصيغة التالية فيها بعد استبدال التفاصيل حسب احتياجاتك:
=VLOOKUP(B2,[Price.xlsx]Sheet1!$A$1:$B$24,2,FALSE)
بعد كتابة الصيغة، اضغطEnter. إذا كنت ترغب في تطبيق هذه الصيغة على صفوف إضافية، فما عليك سوى سحب مقبض التعبئة (المربع الصغير في الزاوية السفلية اليمنى للخلية) لأسفل لتلقائيًا تعبئة العدد المطلوب من الخلايا.


الشرح والنصائح:
(1) في صيغة المثال أعلاه:
- B2 هي الخلية التي تحتوي على اسم الفاكهة التي تريد البحث عنها.
- Price.xlsx هو ملف المصدر الذي يحتوي على بيانات الأسعار. تأكد من أن اسم الملف وامتداده صحيحان.
- Sheet1 هي الورقة في ملف المصدر التي تحتوي على جدول البحث.
- A$1:$B$24 هو النطاق الذي يحتوي على كلٍّ من المفتاح (مثل أسماء الفواكه) والقيمة (الأسعار). غيّر هذا النطاق إذا كان نطاق بياناتك مختلفًا.
- 2 تعني أن القيم سيتم إرجاعها من العمود الثاني في النطاق المحدد.
- FALSE يضمن تطابقًا دقيقًا؛ إذ قد يؤدي استخدام TRUE إلى نتائج غير صحيحة أو تقريبية.
(3) إذا ظهر خطأ #N/A، فهذا عادةً يعني أن قيمة البحث غير موجودة في نطاق المصدر. تحقّق من التهجئة ونطاق البيانات، وتأكد من توفر جميع المصنفات المطلوبة.
باستخدام هذه الطريقة، يمكنك توحيد الأسعار أو المعلومات المُحدَّثة من مصادر خارجية. ستُحدَّث قيمة العودة تلقائيًا كلما تغيّر ملف المصدر، طالما أن ملف المصدر مفتوح أو متاح عبر المسار الصحيح.
المزايا:سهلة الإعداد لمعظم المستخدمين؛ ويتم تحديث البيانات تلقائيًا.
القيود:قد تصبح الصيغ معقدة إذا تغيّرت المسارات أو اسم المصنف، وقد يؤدي البحث عبر ملفات مغلقة إلى إبطاء الملفات الكبيرة أو مطالبتك بتحديث الروابط.
للحصول على عمليات استرجاع أكثر تعقيدًا، أو إذا كنت غالبًا ما تحتاج إلى الرجوع إلى البيانات بينما يكون ملف المصدر مغلقًا، ففكّر في استخدام طريقة VBA أو الصيغ البديلة الموضحة أدناه.
![]() | هل الصيغة معقدة للغاية بحيث يصعب تذكّرها؟ احفظ الصيغة كإدخال نص تلقائي لإعادة استخدامها بنقرة واحدة فقط في المستقبل! قراءة المزيد… تجربة مجانية |

افتح سحر إكسل مع KUTOOLS AI
- التنفيذ الذكي: نفِّذ عمليات الخلايا، وحلِّل البيانات، وأنشئ المخططات البيانية — كل ذلك بأوامر بسيطة!
- الصيغ المخصصة: أنشئ صيغًا مخصصة لتبسيط سير عملك.
- برمجة VBA: اكتب وأَنفِذ أكواد VBA بسلاسة تامة.
- تفسير الصيغ: افهم الصيغ المعقدة بسهولة!
- ترجمة النصوص: اكسر الحواجز اللغوية في جداولك الإلكترونية!
البحث عن البيانات باستخدام VLOOKUP وقيمة العودة من مصنف آخر مغلق باستخدام VBA
قد يكون إعداد مراجع البحث باستخدام VLOOKUP أمرًا محيرًا، خاصةً إذا كنت تغيّر مسار ملف المصدر أو اسمه أو الورقة بشكل متكرر. في مثل هذه السيناريوهات، يُعدّ أتمتة عملية البحث باستخدام VBA حلاً أكثر سلاسة، إذ يتيح لك البحث عن القيم حتى عندما يكون ملف المصدر مغلقًا، مع تحديد النطاقات وإرجاع البيانات تلقائيًا.
اتبع الخطوات التالية لاستخدام VBA في عمليات البحث عبر ملفات العمل:
1. اضغطAlt+F11 في نفس الوقت لفتح نافذة محررMicrosoft Visual Basic for Applications.
2.في محرر VBA، انقر فوقInsert>Module، ثم انسخ والصق الكود التالي في نافذة الوحدة:
VBA: البحث عن بيانات باستخدام Vlookup وقيمة العودة من ملف عمل مغلق آخر
Option Explicit
' Convert column number to column letter
Private Function GetColumn(ByVal Num As Integer) As String
If Num <= 26 Then
GetColumn = Chr(Num + 64)
Else
GetColumn = Chr((Num - 1) \ 26 + 64) & _
Chr((Num - 1) Mod 26 + 65)
End If
End Function
Sub FindValue()
Dim xAddress As String
Dim xString As String
Dim xFileName As Variant
Dim xUserRange As Range
Dim xRg As Range
Dim xFCell As Range
Dim xSourceSh As Worksheet
Dim xSourceWb As Workbook
On Error Resume Next
' Get current selection address
xAddress = Application.ActiveWindow.RangeSelection.Address
' Ask user to select lookup range
Set xUserRange = Application.InputBox( _
Prompt:="Lookup values :", _
Title:="Kutools for Excel", _
Default:=xAddress, _
Type:=8)
If Err.Number <> 0 Then Exit Sub
On Error GoTo 0
' Limit selection to used range
Set xUserRange = Application.Intersect(xUserRange, _
Application.ActiveSheet.UsedRange)
' Ask user to select source workbook
xFileName = Application.GetOpenFilename( _
"Excel Files (*.xlsx), *.xlsx", _
1, _
"Select a Workbook")
If xFileName = False Then Exit Sub
Application.ScreenUpdating = False
' Open source workbook
Set xSourceWb = Workbooks.Open(xFileName)
Set xSourceSh = xSourceWb.Worksheets.Item(1)
' Build external reference string
xString = "='" & xSourceWb.Path & Application.PathSeparator & _
"[" & xSourceWb.Name & "]" & _
xSourceSh.Name & "'!$"
' Loop through user range
For Each xRg In xUserRange
' Find matching value in source sheet
Set xFCell = xSourceSh.Cells.Find( _
What:=xRg.Value, _
LookIn:=xlValues, _
LookAt:=xlWhole, _
MatchCase:=False)
' If found, write formula 2 columns to the right
If Not xFCell Is Nothing Then
xRg.Offset(0, 2).Formula = _
xString & _
GetColumn(xFCell.Column + 1) & _
"$" & xFCell.Row
End If
Next xRg
' Close source workbook without saving
xSourceWb.Close False
Application.ScreenUpdating = True
End Sub تفاصيل مهمة:
- يُعيد الكود القيمة المطابقة من عمود يقع على بُعد عمودين من نطاق البحث. فعلى سبيل المثال، إذا اخترت العمود B، فستظهر النتائج في العمود D.
- إذا أردت عرض النتيجة في عمود مختلف، غيّر الرقم2 في
xRg.Offset(0,2).Formulaإلى قيمة أخرى (مثل: 1 للعمود التالي، أو3 للعمود الثالث إلى اليمين). - اختر ملف العمل والورقة الصحيحة عند المطالبة بذلك؛ إذ يستخدم الكود دائمًا الورقة الأولى في الملف المحدد. قم بتعديل الكود إذا لم تكن ورقة المصدر هي الأولى.
- احفظ ملفك دائمًا قبل تشغيل ماكرو جديد، إذ لا يمكن التراجع عن الماكرو بعد تنفيذه.
3. نفّذ الماكرو بالضغط على مفتاحF5 أو بالنقر على زرRun. ستظهر نافذة حوار بعنوان «Kutools لـ Excel» وتطلب منك تحديد نطاق الخلايا التي تريد البحث عن قيمها.

4.بعد تحديد النطاق، انقر فوقOK. بعد ذلك بقليل، ستظهر نافذة حوار أخرى تطلب منك اختيار ملف المصدر (حتى لو كان مغلقًا). تصفّح واختر الملف المناسب، ثم انقر فوقOpen للتأكيد.

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

المزايا:يتعامل مع ملفات العمل المغلقة، ويتجنب تضمين مسار الملف مباشرةً في الصيغ، ويمنحك مرونة في اختيار ملفات المصدر أثناء التشغيل.
اعتبارات:يجب تمكين الماكروات؛ وقد لا يعمل VBA على الأوراق المحمية أو مع ملفات Excel غير المتوافقة. احفظ ملفك بتنسيق يدعم الماكرو (*.xlsm) إذا كنت تنوي استخدام هذه الطريقة بشكل متكرر.
إذا واجهت أي أخطاء، فتأكد من خلو أسماء الأوراق والملفات من الأخطاء الإملائية، ومن أن يكون نطاق التحديد مناسبًا، وأن يكون مسار الملف متاحًا. ولأغراض التصحيح، ننصحك بتنفيذ الكود سطرًا بسطر باستخدام محرر VBA.
حلول صيغ بديلة للبحث عبر ملفات العمل
بالإضافة إلى طريقة VLOOKUP التقليدية وVBA، توجد طرق بديلة لأداء عمليات البحث عبر ملفات العمل في Excel. وقد تكون هذه الطرق أكثر فعالية في حالات معينة—مثل اختلاف هيكل بياناتك، أو تفضيلك استخدام الصيغ بدل الماكروات، أو حاجتك إلى مزيد من المرونة (كالبحث يسارًا أو تطبيق معايير متعددة).
استخدام دالتي INDEX وMATCH عبر ملفات العمل
باستخدام دالتي INDEX وMATCH معًا، يمكنك البحث عن القيم في أي اتجاه—يسارًا، يمينًا، لأعلى، أو لأسفل—حتى في ملف عمل آخر. وهذا مفيد جدًّا عندما لا يكون العمود الذي تريد استخراج البيانات منه موجودًا على يمين عمود البحث، وهو قيدٌ تفرضه دالة VLOOKUP.
السيناريو:لنفترض أنك تريد استرجاع سعرٍ من ملف عمل مفتوح آخر، وقد لا يكون اسم الفاكهة موجودًا في العمود الأول.
1.في ملف العمل الوجهة، حدد الخلية التي تريد عرض النتيجة فيها (مثل C2)، وأدخل الصيغة أدناه (استبدل اسم الملف والورقة والنطاق حسب الحاجة):
=INDEX([Price.xlsx]Sheet1!$B$1:$B$24, MATCH(B2, [Price.xlsx]Sheet1!$A$1:$A$24,0)) 2. اضغطEnter، ثم انقل الصيغة أو أدخلها في الصفوف الأخرى حسب الحاجة بسحب مقبض الملء.
شرح المعلمات:
- [Price.xlsx]Sheet1!$B$1:$B$24: النطاق المُخزَّن فيه الأسعار.
- B2: اسم الفاكهة التي تريد البحث عنها.
- [Price.xlsx]Sheet1!$A$1:$A$24: النطاق الذي سيتم فيه البحث عن قيمة البحث الخاصة بك.
- إن0في النهاية يضمن تطابقًا دقيقًا.
المزايا:تتيح لك البحث يسارًا أو يمينًا، وتتكيّف بسلاسة مع تخطيطات أكثر مرونة.
نصائح:تجنّب نقل ملفات المصدر أو إعادة تسميتها دون تحديث صيغتك أولًا.
استخدام XLOOKUP للبحث عبر ملفات العمل (Excel 365 والإصدارات الأحدث)
إذا كنت تستخدم Excel 365 أو Excel 2021، فإن دالة XLOOKUP الجديدة تمنحك مرونة أكبر: فهي تتيح لك العثور بسهولة على تطابقات دقيقة، وتدعم عمليات البحث إلى اليسار، وتتعامل تلقائيًا مع القيم المفقودة دون عرض أخطاء.
لاستخدامها:
في الخلية التي تريد ظهور النتيجة فيها، أدخل:
=XLOOKUP(B2, [Price.xlsx]Sheet1!$A$1:$A$24, [Price.xlsx]Sheet1!$B$1:$B$24, "Not found") اضغطEnterوانسخ الصيغة حسب الحاجة. هنا، يمكنك تغيير «Not found» إلى أي نص مخصص ترغب في عرضه إذا فشل البحث.
المزايا:أكثر مرونة من VLOOKUP وأسهل في الإدارة، كما تساعدك على تجنب العديد من الأخطاء الشائعة في الصيغ القديمة. ومع ذلك، فهي متاحة فقط في إصدارات Excel الأحدث.
لمتطلبات معقدة مثل المطابقة متعددة المعايير، أو البحث في أوراق مدمجة، أو تجنُّب مشكلات الأداء في الملفات الكبيرة جدًّا، ننصحك بتنظيم البيانات الأصلية في جداول منظمة أو باستخدام أداة Power Query في Excel لربط البيانات بين ملفات العمل المتعددة بكفاءة.
أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في Excel باستخدام Kutools لـ Excel، وعايش الكفاءة كما لم تفعل من قبل.يقدّم Kutools لـ Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية ووقت الحفظ.انقر هنا للحصول على الميزة التي تحتاجها أكثر من غيرها...
يجلب Office Tab واجهة ذات علامات تبويب إلى Office، ويجعل عملك أسهل بكثير
- تمكّن من التحرير والقراءة باستخدام علامات التبويب في Word وExcel وPowerPoint، وPublisher وAccess وVisio وProject.
- افتح وأنشئ مستندات متعددة في علامات تبويب جديدة داخل النافذة نفسها، بدلاً من فتح نوافذ جديدة.
- يزيد إنتاجيتك بنسبة 50% ويوفّر لك مئات نقرات الفأرة كل يوم!
جميع الإضافات من Kutools في برنامج تثبيت واحد!
Kutools for Office حزمةٌ تحتوي على إضافاتٍ مخصصة لتطبيقات Excel وWord وOutlook وPowerPoint، إلى جانب Office Tab Pro، مما يجعلها الخيار المثالي للفِرق التي تعمل عبر تطبيقات Office.
- حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
- برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
- يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
- تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل
