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

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

اكتشف سحر Excel مع Kutools AI
- التنفيذ الذكي: قم بعمليات الخلية، وتحليل البيانات، وإنشاء المخططات - كل ذلك يتم من خلال أوامر بسيطة.
- الصيغ المخصصة: قم بإنشاء صيغ مصممة خصيصًا لتسهيل سير عملك.
- برمجة VBA: كتابة وتطبيق أكواد VBA بسهولة.
- تفسير الصيغ: فهم الصيغ المعقدة بسهولة.
- ترجمة النصوص: تجاوز الحواجز اللغوية داخل جداول البيانات الخاصة بك.
استخدام VLOOKUP للبحث عن البيانات وإرجاع القيم من مصنف مغلق باستخدام VBA
قد يكون من المربك بعض الشيء تكوين مسار الحفظ، اسم الملف، والورقة في دالة VLOOKUP. هذه الطريقة ستقدم لك VBA لحل المشكلة بسهولة.
1. اضغط على مفتاح Alt + F11 لفتح نافذة Microsoft Visual Basic for Applications.
2. انقر فوق إدراج > وحدة، ثم ألصق الكود التالي VBA في نافذة الوحدة المفتوحة.
VBA: استخدام VLOOKUP للبحث عن البيانات وإرجاع القيم من مصنف مغلق
Private Function GetColumn(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
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xUserRange = Application.InputBox("Lookup values :", "Kutools for Excel", xAddress, Type:=8)
If Err <> 0 Then Exit Sub
Set xUserRange = Application.Intersect(xUserRange, Application.ActiveSheet.UsedRange)
xFileName = Application.GetOpenFilename("Excel Files (*.xlsx), *.xlsx", 1, "Select a Workbook")
If xFileName = False Then Exit Sub
Application.ScreenUpdating = False
Set xSourceWb = Workbooks.Open(xFileName)
Set xSourceSh = xSourceWb.Worksheets.Item(1)
xString = "='" & xSourceWb.Path & Application.PathSeparator & _
"[" & xSourceWb.Name & "]" & xSourceSh.Name & "'!$"
For Each xRg In xUserRange
Set xFCell = xSourceSh.Cells.Find(xRg.Value, , xlValues, xlWhole, , , False)
If Not (xFCell Is Nothing) Then
xRg.Offset(0, 2).Formula = xString & GetColumn(xFCell.Column + 1) & "$" & xFCell.Row
End If
Next
xSourceWb.Close False
Application.ScreenUpdating = True
End Sub
ملاحظة: سيقوم هذا الكود VBA بإرجاع القيم في عمود يقع خلف العمود المحدد بعمودين. على سبيل المثال، عندما أختار العمود B عند تطبيق هذا الكود VBA، سيتم إرجاع القيم في العمود D. إذا كنت بحاجة لتغيير العمود المستهدف، يرجى العثور على الكود xRg.Offset(0, 2).Formula = xString & GetColumn(xFCell.Column + 1) & "$" & xFCell.Row ، واستبدال 2 برقم آخر حسب حاجتك. 3. اضغط على مفتاح F5 أو انقر فوق زر التشغيل لتشغيل هذا الكود VBA.
4. في مربع الحوار المفتوح، يرجى تحديد نطاق البيانات الذي ستجري البحث فيه، والنقر فوق الزر موافق الزر.
5. الآن يرجى تحديد المصنف الذي ستجري البحث فيه ضمن مربع الحوار المفتوح 'اختر مصنفاً'، والنقر فوق الزر فتح الزر.
الآن تم البحث عن جميع القيم المختارة في المصنف المغلق المحدد، وتم إرجاع القيم المقابلة في العمود المحدد. انظر لقطة الشاشة:
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير
- تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
- افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
- يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!