جدول المحتويات
سنعرض اليوم كيفية استخدام صيغة VLOOKUP مع أوراق متعددة في Excel. في الواقع ، إحدى أهم وظائف Excel وأكثرها استخدامًا هي وظيفة VLOOKUP . علاوة على ذلك ، يمكننا استخدام وظيفة VBA VLOOKUP للبحث عن بيانات محددة في ورقة عمل واحدة ، أو ضمن مجموعة من أوراق العمل.
أيضًا ، سنعرض اليوم كيف يمكننا الاستفادة من صيغ VLOOKUP للبحث عن بعض البيانات المحددة في أوراق عمل متعددة في Excel.
تنزيل المصنف التدريبي
يمكنك تنزيل المصنف التدريبي من هنا:
صيغة VLOOKUP ذات أوراق متعددة.xlsx Mock Test Marks.xlsxمقدمة إلى وظيفة VLOOKUP في Excel
= VLOOKUP (lookup_value، table_array، col_index_num، [range_lookup])
- تأخذ هذه الوظيفة نطاقًا من الخلايا يسمى table_array الوسيطة.
- ثم يبحث عن قيمة محددة تسمى lookup_value في العمود الأول من table_array .
- علاوة على ذلك ، يبحث عن تطابق تقريبي إذا كانت الوسيطة [range_lookup] هي TRUE ، وإلا فإنها تبحث عن تطابق تام. هنا ، الافتراضي هو TRUE .
- إذا عثر على أي تطابق لـ lookup_value في العمود الأول من table_array ، يتحرك بضع خطوات يمينًا إلى عمود محدد (col_index_number).
ثم ، يُرجع القيمة من ذلكمفقودة في الأوراق المذكورة.
قيود وظيفة VLOOKUP وبعض البدائل في Excel
- هنا ، لا يمكنك استخدام VLOOKUP تعمل عندما لا يكون lookup_value في العمود الأول من الجدول. على سبيل المثال ، في المثال السابق ، لا يمكنك استخدام وظيفة VLOOKUP لمعرفة اسم المرشح الذي حصل على 90 في الاختبار الكتابي.
- ومع ذلك ، يمكنك استخدام وظائف IF أو IFS أو INDEX MATCH أو XLOOKUP أو FILTER من Excel لحلها هذا (هنا ، يمكنك زيارة هذه المقالة ).
- علاوة على ذلك ، يعرض VLOOKUP قيمة الأولى فقط إذا تطابق أكثر من قيمة واحدة مع lookup_value . في هذه الحالات ، يمكنك استخدام وظيفة FILTER للحصول على جميع القيم (هنا ، يمكنك زيارة هذه المقالة ).
كيفية تطبيق VLOOKUP الصيغة في Excel مع مصنفات متعددة
في هذا القسم ، سنناقش كيفية تطبيق صيغة VLOOKUP في Excel مع العديد من المصنفات. الآن ، دعنا نحصل على المصنف التالي المسمى Mock Test Marks . بالإضافة إلى ذلك ، في هذا المصنف ، هناك ثلاث أوراق عمل أيضًا. هم أسبوع 1 ، أسبوع 2 ، أسبوع 3 .
في هذا الوقت ، نريد مقارنة التمهيدي و الحصول على الدرجات المكتوبة النهائية من قبل المرشحين. في البداية ، وجدنا العلامات المكتوبة النهائية. هنا ، يمكنك العثور على ذلك باتباع أي من ملفاتالطرق السابقة. الآن ، سنستخرج العلامات المكتوبة الأولية من مصنف آخر.
- لذلك ، اكتب الصيغة التالية في الخلية D5 .
=IFERROR(VLOOKUP(B5,'[Mock Test Marks.xlsx]Week 1'!$B$5:$D$10,2,FALSE),IFERROR(VLOOKUP(B5, '[Mock Test Marks.xlsx]Week 2'!$B$5:$D$10,2,FALSE),IFERROR(VLOOKUP(B5,'[Mock Test Marks.xlsx]Week 3'!$B$5:$D$10,2,FALSE),"Absent")))
هنا ، عند استخدام هذه الصيغة ، يجب عليك فتح كلا المصنفين. خلاف ذلك ، يجب عليك استخدام مسار / موقع التعبئة بدلاً من استخدام اسم الملف فقط.
- ثم اضغط ENTER .
- ثم ، اسحب رمز مقبض التعبئة لأسفل.
أخيرًا ، سترى كلا العلامات الكتابية النهائية والأولية لجميع المرشحين.
قسم الممارسة
الآن ، يمكنك ممارسة الطريقة الموضحة بنفسك.
الاستنتاج
باستخدام هذه الطرق ، يمكنك استخدام وظيفة VLOOKUP في Excel كصيغة لاستخراج البيانات من أوراق متعددة في مصنف. إذن ، هل لديك أي أسئلة أخرى؟ لا تتردد في سؤالنا.
الخلية.بالإضافة إلى ذلك ، قمنا بإرفاق مثال لهذه الوظيفة VLOOKUP . الآن ، انظر إلى الشكل التالي.
انهيار الصيغة
هنا ، الصيغة بحث VLOOKUP (G8، B4: D15،3، FALSE) عن قيمة الخلية G8 " Angela " في العمود الأول من الجدول : B4: D15 .
بعد العثور على واحد ، انتقل يمينًا إلى العمود الثالث (نظرًا لأن col_index_number هو 3 .)
ثم إرجاع القيمة من هناك ، كانت 322 .
5 طرق لاستخدام صيغة VLOOKUP في Excel مع أوراق متعددة
هنا ، لدينا كتاب عمل به علامات في الامتحانات الكتابية والحيوية لبعض المرشحين في ثلاثة أسابيع في أوراق عمل مختلفة. بالإضافة إلى ذلك ، اسم الأول هو الأسبوع 1 .
ثم ، اسم ورقة العمل الثانية هو الأسبوع 2 .
أخيرًا ، اسم ورقة العمل الثالثة التي تحتوي على علامات Marco Group هي الأسبوع 3 .
الآن ، هدفنا هو استخراج علاماتهم من أوراق العمل الثلاثة إلى ورقة العمل الجديدة باستخدام VLOOKUP وظيفة Excel.
1. صيغة VLOOKUP للبحث في كل ورقة عمل بشكل منفصل
هنا ، لدينا ورقة عمل جديدة تسمى "VLOOKUP فقط" مع أسماء جميع المرشحين مرتبة أبجديًا (من الألف إلى الياء) . الآن ، سوف نستخدم صيغة VLOOKUP للبحث من أوراق متعددة بتنسيقExcel.
أولاً ، سنبحث في أوراق العمل الثلاثة بشكل منفصل.
هنا سنبحث عن lookup_value من ورقة عمل واحدة إلى نطاق من خلايا ورقة عمل أخرى.
سيكون بناء جملة الصيغة:
= VLOOKUP (lookup_value، 'Sheet_name'! table_array، col_index_number، FALSE)
- للبحث عن العلامات في مكتوبة من مرشحي الأسبوع الأول ، أدخل هذه الصيغة في الخلية C5 من ورقة العمل الجديدة:
=VLOOKUP(B5,'Week 1'!$B$5:$D$10,2,FALSE)
- بعد ذلك ، اضغط على ENTER .
هذا يظهر # N / A! خطأ ، لأن قيمة الخلية B5 في الورقة "VLOOKUP فقط" ، Alex Hales ، ليس موجودًا في النطاق B5: D10 من الورقة "الأسبوع 1 " .
- ثم اسحب رمز مقبض التعبئة .
نتيجة لذلك ، نرى علامات المرشحين فقط الذين ظهروا في الأسبوع 1 يتم عرضها ، والباقي يظهر أخطاء.
- Sim وبالمثل ، للعثور على علامة viva ، اكتب الصيغة التالية في الخلية D5 .
=VLOOKUP(B5,'Week 1'!$B$5:$D$10,3,FALSE)
- ثم ، اضغط على ENTER .
- ثم اسحب مقبض التعبئة لتطبيق الصيغة في باقي الخلايا.
لذلك ، نرى علامات المرشحين الذين ظهروا في الأسبوع 1 فقط ، أما البقية فيظهرون أخطاء.
علاوة على ذلك ،يمكننا أداء مهمة مماثلة لـ الأسبوع 2 و الأسبوع الثالث أيضًا ، لكن هذا لن يلبي احتياجاتنا. لذلك ، علينا البحث عن نهج أفضل.
ملاحظة: هنا ، استخدمنا مرجع الخلية النسبي لـ lookup_value (B5) ، لكن مرجع الخلية المطلق لـ table_array ($ B $ 5: $ D $ 10) . لأننا نريد أن تزيد قيمة lookup_value واحدة تلو الأخرى أثناء سحب رمز Fill Handle ، ولكن يظل table_array ثابتًا.
قراءة المزيد: لماذا إرجاع VLOOKUP # N / A عند وجود المطابقة؟ (5 الأسباب والحلول)
2. ابحث في أوراق متعددة باستخدام وظيفة IFERROR في Excel
هذه المرة سنبحث أولاً عن مرشح في ورقة العمل الأولى ( الأسبوع 1 ).
ثم ، إذا لم نعثر عليه في ورقة العمل الأولى ، فسنبحث في ورقة العمل الثانية ( الأسبوع 2 ).
وإذا لم نعثر عليه بعد ، فسنبحث في ورقة العمل الثالثة ( الأسبوع 3 ).
إذا لم نعثر عليه / ها بعد ، فسنقرر أنه / أنها كانت غائبة من الامتحان.
في القسم السابق رأينا ، VLOOKUP ترجع لا ينطبق! خطأ إذا لم يتم العثور على أي تطابق مع lookup_value في table_array .
لذلك هذه المرة سنقوم بتداخل وظائف VLOOKUP ضمن الدالة IFERROR لمعالجة الأخطاء.
لذلك فإن بناء جملة الصيغةbe:
= IFERROR (VLOOKUP (lookup_value، ”Sheet1_Name”! table_array، col_index_number، FALSE)، IFERROR (VLOOKUP (lookup_value، ”Sheet2_Name”! table_array، col_index_number، FALSE (VLOOKUP (lookup_value، "Sheet3_Name"! table_array، col_index_number، FALSE)، "Absent")))
- الآن ، أدخل الصيغة التالية في الخلية C5 من “VLOOKUP & amp؛ IFERROR ” sheet.
=IFERROR(VLOOKUP(B5,'Week 1'!$B$5:$D$10,2,FALSE),IFERROR(VLOOKUP(B5, 'Week 2'!$B$5:$D$10,2,FALSE),IFERROR(VLOOKUP(B5,'Week 3'!$B$5:$D$10,2,FALSE),"Absent")))
- ثم اضغط على أدخل .
نتيجة لذلك ، سترى العلامات المكتوبة لـ أليكس هالز .
ثم سنجد علامات viva لـ Alex هالس.
- لذا ، اكتب الصيغة التالية في الخلية D5 .
=IFERROR(VLOOKUP(B5,'Week 1'!$B$5:$D$10,3,FALSE),IFERROR(VLOOKUP(B5, 'Week 2'!$B$5:$D$10,3,FALSE),IFERROR(VLOOKUP(B5,'Week 3'!$B$5:$D$10,3,FALSE),"Absent")))
- بعد ذلك ، اضغط على ENTER .
- ثم حدد كلا الخليتين C5 و D5 .
- وبالتالي ، اسحب رمز مقبض التعبئة إلى الملء التلقائي البيانات المقابلة في باقي الخلايا C6: D24 .
أخيرًا ، سترى العلامات مكتوبة و viva لجميع المرشحين.
قراءة المزيد: مثال على VLOOKUP بين صفحتين في Excel
قراءات مماثلة
- VLOOKUP لا يعمل (8 أسباب وحلول)
- Excel LOOKUP مقابل VLOOKUP: مع 3 أمثلة
- ما هو مصفوفة الجدول في VLOOKUP؟ (موضح بأمثلة)
- كيفية استخدام VLOOKUP المتداخلة في Excel (3 معايير)
- استخدم VLOOKUP مع متعددالمعايير في Excel (6 طرق + بدائل)
3. استخدام الصيغة المجمعة للبحث في أوراق متعددة في Excel
في الواقع ، المتداخل IFERROR و VLOOKUP التي استخدمناها سابقًا مفيدة ، لكنها لا تزال معقدة بعض الشيء في الاستخدام. بشكل أساسي ، هناك احتمال كبير للارتباك وتوليد الأخطاء إذا كان هناك الكثير من أوراق العمل.
وبالتالي ، سننشئ صيغة أخرى باستخدام غير مباشر ، INDEX <2 وظائف> و MATCH و COUNTIF التي تبدو أكثر تعقيدًا ، ولكنها أسهل نسبيًا في التطبيق عندما يكون هناك الكثير من أوراق العمل.
- الأول من الكل ، قم بإنشاء مصفوفة أفقية بأسماء جميع أوراق العمل. هنا ، أنشأنا واحدًا في خلايا F5: H5 .
- ثم ، أدخل الصيغة التالية في C5 خلية.
=IFERROR(VLOOKUP(B5,INDIRECT("'"&INDEX($F$5:$H$5,1,MATCH(TRUE,COUNTIF(INDIRECT("'"&$F$5:$H$5&"'!B5:B10"),B5)>0,0))&"'!$B$5:$D$10"),2,FALSE),"Absent")
- بعد ذلك ، اضغط على ENTER .
انهيار الصيغة
- أولاً ، COUNTIF (غير مباشر ("" "& amp؛ $ F $ 5: $ H $ 5 & amp؛” '! B5: B10 ”)، B5) تُرجع عدد المرات التي تكون فيها القيمة في الخلية B5 موجودة في النطاق ' الأسبوع 1 ′! B5: B10 ، "الأسبوع 2"! B5: B10 و "الأسبوع 3"! B5: B10 على التوالي. [هنا $ F $ 5: $ H $ 5 هي أسماء أوراق العمل. لذا فإن الصيغة INDIRECT تتلقى 'Sheet_Name'! B5: B10 .]
- الإخراج: {0،0،1} .
- ثانيًا ، MATCH (TRUE، {0،0،1} & gt؛ 0،0) ترجع في أي ورقة عملالقيمة في B5 موجودة.
- الإخراج: 3 .
- هنا تم إرجاع 3 كقيمة في B5 ( Alex Hales ) موجود في ورقة العمل رقم 3 ( الأسبوع 3 ).
- ثالثًا ، INDEX ( $ F $ 5: $ H $ 5،1،3) تُرجع اسم ورقة العمل حيث القيمة في الخلية B5 هي.
- الإخراج: "الأسبوع 3" .
- رابعًا ، غير مباشر ("" & amp؛ "الأسبوع 3 ″ & amp؛" '! $ B $ 4: $ D $ 9 ”) تُرجع النطاق الإجمالي لخلايا ورقة العمل التي توجد فيها القيمة في B5 .
- الإخراج: {"Nathan Mills"، 72،59؛ "Ruth Williamson"، 53،55؛ "Alex Hales"، 67،70؛ "Matthew Shepherd"، 76،45؛ "Christina Paul "، 69،75؛" Ricardo Moyes "، 57،61}.
- أخيرًا ، VLOOKUP (B5، {" Nathan Mills "، 72،59 ؛ "Ruth Williamson" ، 53،55 ؛ "Alex Hales" ، 67،70 ؛ "Matthew Shepherd" ، 76،45 ؛ "Christina Paul" ، 69،75 ؛ "Ricardo Moyes" ، 57،61} ، 2 ، FALSE ) بإرجاع العمود الثاني للصف من هذا النطاق حيث تتطابق القيمة الموجودة في الخلية B5 .
- الإخراج: 67 .
- إذن ، هذه هي علامة الامتحان الكتابي التي كنا نبحث عنها.
- وفي حالة لم يتم العثور على الاسم في أي ورقة عمل ، وسيعود "غائب" لأننا قمنا بتضمينه في دالة IFERROR .
هنا ، يمكنك استخدام صيغة مماثلة لمعرفة علامات Viva للمرشحين.
- لذا ، قم بتغيير col_index_number من 2 إلى 3 واكتبالصيغة.
=IFERROR(VLOOKUP(B5,INDIRECT("'"&INDEX($F$5:$H$5,1,MATCH(TRUE,COUNTIF(INDIRECT("'"&$F$5:$H$5&"'!B5:B10"),B5)>0,0))&"'!$B$5:$D$10"),3,FALSE),"Absent")
- ثم اضغط ENTER للحصول على النتيجة.
- ثم اسحب رمز Fill Handle .
أخيرًا ، لقد حصلنا على كل من المكتوب و علامات viva لجميع المرشحين. علاوة على ذلك ، لم يتم العثور على أسمائهم على أنها غائبة.
اقرأ المزيد: INDEX MATCH vs VLOOKUP Function (9 Examples)
4. صيغة VLOOKUP مع رقم فهرس العمود الديناميكي
حتى الآن ، لاستخراج العلامات في الاختبار الكتابي ، نستخدم col_index_num كـ 2 . وبالنسبة لعلامات viva ، 3 .
في الواقع ، نقوم بإدخال الصيغ بشكل منفصل في كلا العمودين.
في النهاية ، عندما يكون لدينا عدة أعمدة ، سيكون الأمر كذلك. من الصعب إدراج الصيغ في جميع الأعمدة بشكل منفصل.
لذلك ، هذه المرة سننشئ صيغة حتى نتمكن من إدراج الصيغة في العمود الأول ، وسحبها إلى جميع الأعمدة من خلال رمز مقبض التعبئة .
بسيط. بدلاً من إدخال رقم خالص مثل col_index_num ، أدخل أعمدة ($ C $ 1: D1) إذا كانت الصيغة في العمود C ( For Written علامات ).
بعد ذلك ، سيعود 2 .
ثم ، إذا سحبناه إلى العمود E ، فسيصبح الأعمدة ($ C $ 1: E1) وإرجاع 3 . وهكذا.
- والآن نقوم بتغيير الصيغة في القسم السابق إلى هذا:
=IFERROR(VLOOKUP($B5,INDIRECT("'"&INDEX($F$5:$H$5,1,MATCH(TRUE,COUNTIF(INDIRECT("'"&$F$5:$H$5&"'!B5:B10"),$B5)>0,0))&"'!$B$5:$D$10"),COLUMNS($C$1:D1),FALSE),"Absent")
- ثم اضغط أدخل .
- بعد ذلك ، اسحب رمز مقبض التعبئة إلى الجانب الأيمن للحصول على علامات Viva .
- ثم اسحب رمز مقبض التعبئة لأسفل.
أخيرًا ، سترى كل من العلامات المكتوبة و viva لجميع المرشحين.
إشعار: هنا ، قمنا بتغيير lookup_value من B5 إلى $ B5 ، بحيث يظل بدون تغيير عند السحب إلى اليمين ، ولكنه يتغير عند السحب لأسفل.
اقرأ المزيد: Excel Dynamic VLOOKUP (مع 3 صيغ)
5. صيغة VLOOKUP مع وظائف مجمعة في Excel
هنا ، سنستخدم صيغة أخرى VLOOKUP في Excel مع أوراق متعددة تتجاهل وظيفة IFERROR . لذلك ، دعونا نرى الخطوات الواردة أدناه.
الخطوات:
- أولاً ، عليك تحديد خلية جديدة C5 حيث تريد الاحتفاظ بالعلامات المكتوبة.
- ثانيًا ، يجب عليك استخدام الصيغة الواردة أدناه في الخلية C5 .
=VLOOKUP(B5,INDIRECT("'"&INDEX($F$5:$H$5,MATCH(1,--(COUNTIF(INDIRECT("'"&$F$5:$H$5&"'!$B$5:$D$10"),B5)>0),0))&"'!$B$5:$D$10"),2,FALSE)
- ثالثًا ، اضغط على ENTER .
- وبالمثل ، استخدم الصيغة التالية في الخلية D5 للحصول على علامات Viva.
=VLOOKUP(B5,INDIRECT("'"&INDEX($F$5:$H$5,MATCH(1,--(COUNTIF(INDIRECT("'"&$F$5:$H$5&"'!$B$5:$D$10"),B5)>0),0))&"'!$B$5:$D$10"),3,FALSE)
- بعد ذلك ، اضغط على ENTER .
- ثم اسحب رمز مقبض التعبئة .
أخيرًا ، سترى العلامات المكتوبة والحيوية لجميع المرشحين. علاوة على ذلك ، سترى الخطأ # N / A حيث كانت الأسماء