KutoolsforOffice — حل واحد، خمس أدوات قوية.تحقيق المزيد بجهد أقل.

كيف يمكنني البحث عن القيم في مصنف آخر؟

المؤلفكيليتاريخ التعديل

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

يستعرض هذا المقال طرقًا للعثور على القيم أو البحث عنها في مصنف آخر وإرجاع البيانات ذات الصلة مباشرةً إلى ملف 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 إلى نتائج غير صحيحة أو تقريبية.
(2) إذا قمت بإغلاق المصنف المصدر، سيقوم Excel بتغيير مرجع الصيغة ليتضمن مسار الملف (على سبيل المثال،)=VLOOKUP(B2,‹W:\test\[Price.xlsx]Sheet1›!$A$1:$B$24,2,FALSE)). تأكد من بقاء الملف المشار إليه في هذا الموقع، وإلا فقد تُرجع الصيغ أخطاءً أو #REF!. وإذا نقلتَ المصنف المصدر أو غيّرت اسمه، فقد تحتاج إلى تحديث مراجع الصيغ.
(3) إذا ظهر خطأ #N/A، فهذا عادةً يعني أن قيمة البحث غير موجودة في نطاق المصدر. تحقّق من التهجئة ونطاق البيانات، وتأكد من توفر جميع المصنفات المطلوبة.

 

باستخدام هذه الطريقة، يمكنك توحيد الأسعار أو المعلومات المُحدَّثة من مصادر خارجية. ستُحدَّث قيمة العودة تلقائيًا كلما تغيّر ملف المصدر، طالما أن ملف المصدر مفتوح أو متاح عبر المسار الصحيح.
المزايا:سهلة الإعداد لمعظم المستخدمين؛ ويتم تحديث البيانات تلقائيًا.
القيود:قد تصبح الصيغ معقدة إذا تغيّرت المسارات أو اسم المصنف، وقد يؤدي البحث عبر ملفات مغلقة إلى إبطاء الملفات الكبيرة أو مطالبتك بتحديث الروابط.

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

شريط الملاحظاتهل الصيغة معقدة للغاية بحيث يصعب تذكّرها؟ احفظ الصيغة كإدخال نص تلقائي لإعادة استخدامها بنقرة واحدة فقط في المستقبل!
قراءة المزيد…     تجربة مجانية
لقطة شاشة لـ kutools for excel الذكاء الاصطناعي

افتح سحر إكسل مع 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في النهاية يضمن تطابقًا دقيقًا.
إذا كان المصنف المصدر مغلقًا، سيقوم Excel تلقائيًا بتحديث مسار الملف في الصيغة. وكما هو الحال مع VLOOKUP، تأكد من أن يظل المسار صالحًا دائمًا.

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

استخدام 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 لربط البيانات بين ملفات العمل المتعددة بكفاءة.

أفضل أدوات الإنتاجية لمكتبتك

🤖KUTOOLS AI مساعد: ثوّر تحليل البيانات استنادًا إلى:التنفيذ الذكي   |  إنشاء الكود|  إنشاء الصيغ المخصصة  |  تحليل البيانات وإنشاء المخططات البيانية|  استدعاء الوظائف المحسنة
الميزات الشائعة:البحث، التمييز أو وضع علامة على المكررات   |  حذف الصفوف الفارغة   |  دمج الأعمدة أو الخلايا دون فقدان البيانات   |  التقريب بدون استخدام الصيغة...
بحث متقدم:VLookup متعدد المعايير  |  VLookup متعدد القيم  |   VLookup عبر أوراق متعددة   |   مطابقة غامضة....
قائمة منسدلة متقدمة:إنشاء قائمة منسدلة بسرعة   |  قائمة منسدلة تابعة   |  قائمة منسدلة متعددة الاختيار....
مدير الأعمدة:إضافة عدد محدد من الأعمدة|نقل الأعمدة|تبديل حالة ظهور الأعمدة المخفية|مقارنة النطاقات والأعمدة...
ميزات مميزة:التركيز على الشبكة   |  عرض التصميم   |شريط الصيغ المحسن   | مدير الدفتر والورقة   |  مكتبة الموارد(نص تلقائي)|  أداة اختيار التاريخ   |  تجميع ورقات العمل  |  تشفير/فك تشفير الخلايا   | إرسال رسائل البريد الإلكتروني حسب القائمة   |  مرشح متقدم   |   تصفية خاصة(تصفية الخلايا التي تحتوي على خط عريض/مائل/يتوسطه خط...) ...
أفضل 15 مجموعات الأدوات:12 أدواتالنصوص(إضافة نص،حذف الأحرف المحددة، ...)|   50+أنواعالمخططات البيانية(مخطط جانت، ...)|   40+ صيغعملية(حساب العمر بناءً على تاريخ الميلاد، ...)|   19 أدواتالإدراج(إدراج رمز QR،إدراج صورة من المسار، ...)|   12 أدواتالتحويل(تحويل إلى كلمات،تحويل العملة، ...)|   7 أدواتدمج وتقسيم(دمج متقدم للصفوف،تقسيم الخلايا، ...)|... وأكثر من ذلك
استخدم Kutools باللغة التي تفضلها – يدعم الإنجليزية والإسبانية والألمانية والفرنسية والصينية و40+ لغات أخرى!

عزِّز مهاراتك في 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.

ExcelWordOutlookTabsPowerPoint
  • حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
  • برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
  • يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
  • تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
  • أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل