Note: The other languages of the website are Google-translated. Back to English
تسجيل الدخول  \/ 
x
or
x
سجلوا معنا  \/ 
x

or

كيف تبحث / تجد القيم في مصنف آخر؟

تتناول هذه المقالة كيفية البحث عن القيم وإرجاع البيانات من مصنف آخر ، وكيفية البحث عن / البحث عن القيم من مصنف آخر. هنا سأقدم ثلاثة حلول بالتفصيل.


بيانات Vlookup وإرجاع القيم من مصنف آخر في Excel

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

1. افتح كلا المصنفين اللذين ستبحث عن القيم منهما وإرجاع القيم فيهما.

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

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

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

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

بيانات Vlookup وإرجاع القيم من مصنف مغلق آخر باستخدام VBA

قد يكون من الخطأ تكوين مسار الحفظ واسم الملف وورقة العمل في وظيفة VLOOKUP. ستقدم هذه الطريقة VBA لحلها بسهولة.

1. اضغط على قديم + F11 مفاتيح لفتح نافذة ميكروسوفت فيسوال باسيك للتطبيقات.

2. انقر فوق إدراج > وحدة، ثم قم بلصق رمز 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. في مربع حوار الفتح ، يرجى تحديد نطاق البيانات الذي ستبحث عنه ، وانقر فوق OK .

5. الآن يرجى تحديد المصنف حيث ستبحث عن القيم في مربع حوار الفتح حدد مصنفًا ، وانقر فوق فتح .

الآن يتم البحث عن جميع القيم المحددة في المصنف المغلق المحدد ، ويتم إرجاع القيم المقابلة في العمود المحدد. انظر لقطة الشاشة:


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

Kutools for Excel يحل معظم مشاكلك ويزيد إنتاجيتك بنسبة 80٪

  • إعادة استخدام: أدخل بسرعة الصيغ المعقدة والرسوم البيانية وأي شيء استخدمته من قبل ؛ تشفير الخلايا مع كلمة السر إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
  • سوبر فورميولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (قراءة وتحرير أعداد كبيرة من الخلايا بسهولة) ؛ لصق في النطاق المصفى...
  • دمج الخلايا / الصفوف / الأعمدة دون فقدان البيانات ؛ تقسيم محتوى الخلايا ؛ ادمج الصفوف / الأعمدة المكررة... منع تكرار الخلايا؛ قارن النطاقات...
  • حدد مكرر أو فريد صفوف حدد صفوف فارغة (جميع الخلايا فارغة) ؛ البحث الفائق والبحث الغامض في العديد من المصنفات. تحديد عشوائي ...
  • نسخة طبق الأصل خلايا متعددة بدون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة أدخل الرموز النقطية، مربعات الاختيار والمزيد ...
  • استخراج النص، إضافة نص ، إزالة حسب الموضع ، إزالة الفضاء؛ إنشاء وطباعة المجاميع الفرعية لترحيل الصفحات ؛ التحويل بين محتوى الخلايا والتعليقات...
  • سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ فرز متقدم حسب الشهر / الأسبوع / اليوم ، التكرار والمزيد ؛ مرشح خاص بواسطة bold، italic ...
  • اجمع بين المصنفات وأوراق العمل؛ دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; تحويل دفعة xls و xlsx و PDF...
  • أكثر من 300 ميزة قوية. يدعم Office / Excel 2007-2019 و 365. يدعم جميع اللغات. سهولة النشر في مؤسستك أو مؤسستك. الميزات الكاملة نسخة تجريبية مجانية لمدة 30 يومًا. ضمان استرداد الأموال لمدة 60 يومًا.
علامة تبويب kte 201905

يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    leigh_87 · 2 years ago
    Hi this works great thanks! Would it be at all possible to show me how i would change the code if i have the workbook open that i would like to lookup the data in?