جدول المحتويات
واحدة من أكثر وظائف Excel المدهشة والمستخدمة على نطاق واسع هي وظيفة VLOOKUP . حتى الآن ، تعلمنا سحب تطابق واحد من مجموعة من الخلايا باستخدام هذه الوظيفة. قد تصادف بشكل متكرر سيناريوهات تحتاج فيها إلى الحصول على جميع القيم المطابقة لمعرف فريد. في هذه المقالة ، سنوضح كيف يمكنك سحب تطابقات متعددة من نطاق من الخلايا باستخدام وظيفة VLOOKUP في Excel.
تنزيل Practice Workbook
يمكنك قم بتنزيل مصنف Excel التالي لفهم وممارسة نفسك بشكل أفضل.
أداء Vlookup مع تطابقات متعددة. xlsxخطوتان للبحث مع تطابقات متعددة في Excel
هنا لدينا سجلات الكتب من Martin Bookstore . تحتوي مجموعة البيانات هذه على نوع الكتاب ، اسم الكتاب ، و المؤلف لبعض الكتب ضمن الأعمدة ب ، ج ، و D في المقابل.
اليوم هدفنا هو سحب جميع التطابقات من كل نوع من الكتب باستخدام وظيفة VLOOKUP . سنقوم بتنفيذ هذا في خطوتين. لذا ، دعنا نستكشفها واحدة تلو الأخرى.
هنا ، استخدمنا إصدار Microsoft Excel 365 ، يمكنك استخدام أي إصدار آخر وفقًا لراحتك.
📌 خطوة 01: إنشاء اسم فريد لكل قيمة بحث
- في البداية ، أدخل عمودًا جديدًا بالعنوان عمود المساعد يسارًا في عمود البحث نوع الكتاب وأدخل هذه الصيغة في الخلية B5 .
=C5&COUNTIF(C5:$C$25,C5)
انهيار الصيغة- COUNTIF (C5: $ C $ 25، C5) تُرجع العدد الإجمالي للخلايا في النطاق C5: C25 ( نوع الكتاب ) التي تحتوي على القيمة في الخلية C5 ( رواية ). انظر وظيفة COUNTIF للحصول على التفاصيل.
- بكلمات بسيطة ، كم عدد الروايات. إنه 7 .
- C5 & amp؛ COUNTIF (C5: $ C $ 25، C5) تسلسل القيمة في خلية C5 ( رواية ) معها.
- لذا فإنه يعيد Novel7 .
عند سحب مقبض التعبئة الأداة ، C5 يزيد واحدًا تلو الآخر ، مثل C5 ، C6 ، C7 … ولكن C25 يظل ثابتًا. لذلك ، بالنسبة لكل نوع كتاب ، يتم استبعاد الإصدارات السابقة ويتم إنشاء اسم جديد.
على سبيل المثال ، في حالة الروايات ، رواية 1 إلى الرواية 7 تم إنشاؤها ، وهي مماثلة لـ الشعر وأنواع الكتب الأخرى.
- ثم اضغط على ENTER .
- بعد ذلك ، أحضر المؤشر إلى اليمين -الزاوية السفلية للخلية B5 وستبدو كعلامة زائد (+) . في الواقع ، إنها أداة Fill Handle .
- الآن ، انقر نقرًا مزدوجًا عليها.
إنها تنسخ هذه الصيغة لبقية الخلايا. ستجد جميع قيم البحث مزودة باسم فريد ، مثل Novel1 ، Novel2… ، Poetry1 ، Poetry2… ،
📌 الخطوة 02: استخدم وظيفة VLOOKUP
- أولاً ، قم بإنشاء عمود جديد مع رأس العمود كقيمة البحث.
- ثانيًا ، أدخل الصيغة التالية في الخلية G5 وهي الخلية الأولى في هذا العمود.
=VLOOKUP(G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))),$B$5:$E$25,3,FALSE)
انهيار الصيغة- COUNTIF ($ C $ 5: $ C 25 دولارًا ، G $ 4) تخبرنا بعدد الخلايا في النطاق C5: C25 ( نوع الكتاب ) تحتوي على القيمة في الخلية G4 ( رواية ).
- بكلمات بسيطة ، كم عدد الروايات في المجموع. إنه 7 .
لقد استخدمنا مرجع الخلية المطلق للنطاق C5: C25 ( $ C $ 5: $ C $ 25 ) لأننا نريد أن تظل بدون تغيير إذا قمنا بنسخ الصيغة إلى أي خلية.
- INDIRECT (“A” & amp؛ COUNTIF ($ C $ 5: $ C $ 25، G $ 4)) يصبح INDIRECT (“A” & amp؛ 7) وإرجاع مرجع الخلية A7 . راجع وظيفة INDIRECT للحصول على التفاصيل.
- ROW ($ A $ 1: INDIRECT (“A” & amp؛ COUNTIF ($ C $ 5: $ C $ 25، G $ 4))) يصبح الآن ROW (A1: A7) انظر دالة ROW للحصول على التفاصيل.
- تقوم بإرجاع مصفوفة من 1 إلى 7 مثل {1، 2، 3، 4، 5، 6، 7} .
استخدمنا $ A $ 1 لأننا لا نريد تغييرها إذا قمنا بنسخ الصيغة إلى خلية أخرى.
- G $ 4 & amp؛ ROW ($ A $ 1: INDIRECT ("A" & amp؛ COUNTIF ($ C $ 5: $ C $ 25، G $ 4))) الآن تسلسل القيمة في الخلية G4 ( رواية ) معالمصفوفة التي تم إرجاعها بواسطة الدالة ROW وإرجاع مصفوفة أخرى.
- لذا فهي تُرجع {Novel1، Novel2،…، Novel7} .
- VLOOKUP (G $ 4 & amp؛ ROW ($ A $ 1: INDIRECT (“A” & amp؛ COUNTIF ($ C $ 5: $ C $ 25، G $ 4))) ، $ B $ 5: $ E $ 25،3 ، FALSE) يصبح VLOOKUP ({Novel1، Novel2،…، Novel7}، $ B $ 5: $ E $ 25،3، FALSE) .
يبحث عن كل قيمة من المصفوفة {Novel1 ، Novel2،… Novel7} في عمود البحث B .
ثم تقوم بإرجاع الاسم المقابل للرواية من العمود 3rd (مثل col_index_num هي 3 ). وهكذا نحصل على قائمة بجميع الروايات.
- كالعادة ، اضغط على المفتاح ENTER .
ملاحظة: إنها صيغة صفيف. لذلك لا تنس الضغط على Ctrl + Shift + Enter إلا إذا كنت في Excel 365 .
وللآخر أنواع الكتب ،
- في البداية ، أدخل أسمائهم جنبًا إلى جنب مثل رؤوس الأعمدة واسحب مقبض التعبئة .
اقرأ المزيد: INDIRECT VLOOKUP في Excel
قراءات مماثلة
- VLOOKUP لا يعمل (8 أسباب وحلول)
- Excel LOOKUP مقابل VLOOKUP: مع 3 أمثلة
- لماذا إرجاع VLOOKUP # N / A عندما تكون المباراة موجودة؟ (5 الأسباب والحلول)
- استخدم VLOOKUP مع معايير متعددة في Excel (6 طرق + بدائل)
- Excel VLOOKUP للبحث عن القيمة الأخيرة في العمود (معالبدائل)
طرق بديلة للبحث باستخدام تطابقات متعددة في Excel
إذا كانت الطريقة السابقة تبدو خطرة ، فلا تقلق. هناك المزيد من الخيارات المتاحة.
1. استخدام وظيفة الفلتر
هذه بالفعل الطريقة الأكثر بساطة. هنا ، سنستخدم فقط وظيفة التصفية . اتبع هذه الخطوات البسيطة.
📌 الخطوات:
- أولاً ، اكتب نوع الكتاب باعتباره رأس العمود وأدخل الصيغة التالية في الخلية F5 .
=FILTER($C$5:$C$25,$B$5:$B$25=F$4)
انهيار الصيغةهنا ،
- $ C $ 5: $ C $ 25 ( Book Name ) هو lookup_array . نحن نبحث عن أسماء الكتب. أنت تستخدم واحدًا.
- $ B $ 5: $ B $ 25 ( نوع الكتاب ) هو matching_array . نريد مطابقة أنواع الكتب. يمكنك استخدام واحدة وفقًا لذلك.
- F4 ( Novel ) هي matching_value . نريد مطابقة الروايات. يمكنك استخدامه وفقًا لذلك.
- ثم اضغط ENTER .
الآن ، إذا كنت تريد أسماء الكتب لجميع أنواع الكتب ،
- مبدئيًا ، أدخل أسمائها كرؤوس العمود جنبًا إلى جنب ، ثم اسحب أداة مقبض التعبئة .
2. تطبيق مزيج من INDEX و SMALL و ROWS الوظائف (متوافقة مع الإصدارات القديمة من Excel)
وظيفة التصفية هيمتوفر فقط في Office 365 . لذلك ، إذا كنت تستخدم الإصدار الأقدم من Excel ، فلا داعي للقلق. لدينا حل آخر لك. انها بسيطة وسهلة. فقط اتبع على طول.
📌 الخطوات:
- بشكل أساسي ، أدخل نوع الكتاب باعتباره رأس العمود في الخلية F4 وأدخل هذه الصيغة في الخلية F5 .
=IFERROR(INDEX($C$5:$C$25,(SMALL(IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),""),(ROW(B5:B25)-ROWS(B1:B4))))),"")
انهيار الصيغة- ROW (B5: B25) إرجاع مصفوفة من {5، 6، 7، … ، 25} . وترجع ROWS (B1: B4) 4 . لذا ROW (B5: B25) -ROWS (B1: B4) تعرض مصفوفة من {1، 2، 3،…، 21} . راجع الدالة ROW و ROWS للحصول على التفاصيل.
- IF ($ B $ 5: $ B $ 25 = F4، ROW (B5: B25) -ROWS (B1: B4)، "") إرجاع الرقم المقابل من المصفوفة {1، 2، 3،…، 21} القيمة في الخلية F4 ( Novel ) تطابق القيمة الموجودة في أي خلية في النطاق B5: B25 ( نوع الكتاب ). وإلا تُرجع خلية فارغة. راجع وظيفة IF للحصول على التفاصيل.
- SMALL (IF ($ B $ 5: $ B $ 25 = F4 ، ROW (B5: B25) -ROWS (B1: B4)، "") ، (ROW (B5: B25) -ROWS (B1: B4))) يصبح صغير ({1 ، ... ، 3 ،…، 6،…، 20،…}، {1، 2، 3، 4،….، 21}) وإرجاع الأرقام أولاً ، ثم #NUM! أخطاء في الفراغ الخلايا. انظر الدالة الصغيرة للحصول على التفاصيل.
- INDEX ($ C $ 5: $ C $ 25، (SMALL ( إذا كان ($ B $ 5: $ B $ 25 = F4، ROW (B5: B25) -ROWS (B1: B4)، "") ، (ROW (B5: B25) -ROWS (B1: B4)))) يصبح INDEX ($ C $ 5: $ C $ 25، {1،3،6،11،…، # NUM!}) وإرجاع المقابل Book Names (اسم الروايات) و #NUM! أخطاء. انظر دالة INDEX للحصول على التفاصيل.
- أخيرًا ، قمنا بلف الصيغة داخل وظيفة IFERROR لتحويل الأخطاء إلى خلايا فارغة.
- بعد ذلك ، اضغط على ENTER .
- الآن ، إذا كنت تريد ، أدخل أنواع الكتب الأخرى أنواع الكتب مثل رؤوس الأعمدة واسحب مقبض التعبئة . ستحصل على كتب من أنواع الكتب الأخرى.
3. البحث مع التطابقات المتعددة وإرجاع النتائج في صف واحد
في السابق الطرق ، حصلنا على النتائج في الأعمدة الرأسية. لكن إذا أردنا الحصول على القيم في صف واحد ، فكيف يمكننا القيام بذلك؟ هنا ، سنحصل على المؤلف أسماء مختلفة أنواع الكتب في صف واحد. ما عليك سوى اتباع الخطوات التالية بعناية.
📌 الخطوات:
- في البداية ، انتقل إلى الخلية G5 واكتب الصيغة أدناه.
=IFERROR(INDEX($D$5:$D$19,SMALL(IF($F5=$B$5:$B$19,ROW($D$5:$D$19)-4,""),COLUMN()-6)),"")
هذه الصيغة تشبه إلى حد ما الصيغة السابقة. لذا ، إذا واجهت أي مشكلة في فهم هذه الصيغة ، فالرجاء الاطلاع على الشرح السابق .
- ثم ، انقر فوق المفتاح ENTER .
لكن هناك مؤلفين آخرين لديهم روايات في مجموعة البيانات هذه. إذن ، كيف يمكننا الحصول عليها؟
فقط اسحب مقبض التعبئة إلى اليمين حتى الخلية K5 للحصول علىآخر المؤلفون من الرواية . علاوة على ذلك ، اسحب أداة Fill Handle إلى الخلية K7 للحصول على أسماء المؤلفون لأنواع مختلفة من الكتب. انظر الصورة أدناه للتوضيح.
كيفية البحث عن العديد من المطابقات مع عدة معايير
في الأمثلة السابقة ، وجدنا القيم لمعايير فردية. على سبيل المثال ، نحصل على عناوين الكتب لنوع كتاب معين. ولكن هنا ، سنفترض معايير متعددة. سنبحث عن الروايات من Charles Dickens باستخدام هذه الطريقة. دعونا نراه في العمل.
📌 الخطوات:
- أولاً وقبل كل شيء ، حدد الخلية H5 و الصق الصيغة التالية.
=IFERROR(INDEX($C$5:$C$25,SMALL(IF(1=((--($F$5=$B$5:$B$25))*(--($G$5=$D$5:$D$25))),ROW($C$5:$C$25)-4,""),ROW()-4)),"")
- ثم اضغط ENTER .
كيفية البحث عن التطابقات المتعددة وإرجاعها في خلية واحدة
في الأساليب السابقة ، حصلنا على القيم في خلايا مختلفة. لكننا سنوضح كيف يمكننا الحصول على نتائج في خلية واحدة. لذلك ، دون مزيد من التأخير ، دعنا نتعمق في!
📌 الخطوات:
- انتقل بشكل أساسي إلى الخلية G5 وأدخل الصيغة أدناه.
=TEXTJOIN(", ",TRUE,IF($F$5=$B$5:$B$25,C5:C25,""))
هنا ، تحصل الدالة IF على القيمة من النطاق C5: C25 حيث تتطابق القيم المقابلة في النطاق B5: B25 مع القيمة الموجودة في الخلية F5 . بعد ذلك ، تقوم الدالة TEXTJOIN بدمج قيم المصفوفة مع فاصلة كمحدد.
- ثانيًا ، اضغط ENTER .
قراءة المزيد: INDEX MATCH vs VLOOKUP Function (9 Examples)
الخاتمة
تشرح هذه المقالة كيفية البحث عن تطابقات متعددة في Excel بطريقة بسيطة وموجزة. لا تنس تنزيل ملف التدريب. شكرا لكم على قراءة هذا المقال. نحن نأمل ان يكون هذا مساعدا. يرجى إعلامنا في قسم التعليقات إذا كان لديك أي استفسارات أو اقتراحات. يرجى زيارة موقعنا على الإنترنت ، ExcelWIKI ، مزود حلول Excel الشامل ، لاستكشاف المزيد.