كيفية البحث عن القيم/العثور عليها في مصنف آخر؟
يتحدث هذا المقال عن كيفية البحث عن القيم وإرجاع البيانات من مصنف آخر، وكيفية العثور على القيم أو البحث عنها من مصنف آخر. هنا سأقدم ثلاثة حلول بالتفصيل.
- استخدام 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، 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 يومًا — بدون تسجيل، بدون بطاقة ائتمان
- قيمة رائعة — وفر مقارنة بشراء الإضافات بشكل منفرد