جدول المحتويات
أثناء العمل في Excel ، يتعين علينا القيام بذلك كثيرًا. علينا البحث عن قيمة معينة في مجموعة البيانات التي تفي بمعيار واحد أو أكثر. سأعرض اليوم كيف يمكنك البحث عن قيمة واحدة أو أكثر تفي بمعايير متعددة في مجموعة بيانات في Excel.
تنزيل Practice Workbook
تنزيل هذا المصنف التدريبي للتمرين أثناء قراءة هذا مقال.
البحث باستخدام معايير متعددة. xlsx
2 طرق مناسبة للبحث بمعايير متعددة في Excel
انظر إلى البيانات المحددة أدناه. لدينا معرفات الموظف ، أسماء الموظفين ، تواريخ الانضمام ، و الرواتب لشركة تسمى Jupyter Group . سنبحث عن قيم بمعايير متعددة باستخدام وظائف INDEX و MATCH و XLOOKUP و و FILTER . فيما يلي نظرة عامة على مجموعة البيانات الخاصة بمهمة اليوم.
الآن سنحاول البحث عن القيم التي تلبي أنواعًا مختلفة من المعايير المتعددة من هذه المجموعة من البيانات.
الطريقة 1: البحث عن معايير متعددة من النوع AND
أولاً ، دعنا نحاول البحث عن بعض المعايير المتعددة من النوع AND . هنا ، يعني النوع AND معايير متعددة ، يجب أن تفي قيمة واحدة بجميع المعايير المراد تحديدها. دعونا نحاول العثور على موظف بمعرف أكبر من 400 وراتبه أكبر من 40000 دولار . يمكنك إنجاز المهمة في 3 طرق مختلفة.
1.1 اجمع بين وظائف INDEX و MATCH في الصفوف والأعمدة
قبل الانتقال إلى النقطة الرئيسية ، يمكنك الذهاب وإلقاء نظرة على وظائف INDEX و MATCH في Excel. سنكتشف الموظف الذي لديه معرف أكبر من 400 وراتب أكبر من 40000 دولار باستخدام الصيغة INDEX-MATCH . دعنا نتبع الإرشادات أدناه:
الخطوات:
- أولاً ، حدد الخلية G7 واكتب الصيغة التالية.
=INDEX(C5:C16,MATCH(1,(B5:B16>400)*(E5:E16>40000),0),1)
- بعد ذلك ، اضغط على Enter على لوحة المفاتيح. نتيجة لذلك ، وجدنا موظفًا بمعرف أكبر من 400 وراتبه أكبر من 40000 دولار ، Richard Samuelson .
انهيار الصيغة
- B5: B16 & gt؛ 400 يمر عبر IDs في العمود B وإرجاع مصفوفة من TRUE و FALSE ، TRUE عندما ID أكبر من 400 ، وإلا FALSE .
- E5: E16 & gt؛ 40000 يمر بجميع الرواتب في العمود E وإرجاع مصفوفة من TRUE و FALSE ، TRUE عندما يكون الراتب أكبر من 40000 $ ، وإلا FALSE.
- (B5: B16 & gt؛ 400) * (E5: E16 & gt؛ 40000) يضاعف صفيفتي TRUE و خطأ ، وإرجاع 1 عندما يكون المعرف أكبر من 400 والراتب أكبر من 40000 دولار . وإلا يتم إرجاع 0 .
- MATCH (1، (B5: B16 & gt؛ 400) * (E5: E16 & gt؛ 40000)، 0) يمر عبر المصفوفة (B5: B16 & gt؛ 400) * (E5: E16 & gt؛ 40000) ويعيد الرقم التسلسلي لأول 1 يواجهه.
- في هذه الحالة ، يتم إرجاع 5 لأن الأول موجود في الرقم التسلسلي 5.
- أخيرًا ، INDEX (C5: C16، MATCH (1، (B5: B16 & gt؛ 400) * (E5 : E16 & gt؛ 40000)، 0)، 1) إرجاع اسم الموظف من النطاق C5: C16 ، مع رقم الصف الذي يساوي إخراج الدالة والعمود MATCH رقم يساوي 1 .
- هذا هو الموظف المطلوب مع معرف أكبر من 400 وراتب أكبر من 40000 دولار أمريكي . الآن ، إذا فهمت هذا ، هل يمكنك إخباري بالصيغة لمعرفة الموظف الذي انضم إلى قبل 31 ديسمبر 2009 ، لكنه لا يزال يتلقى راتباً أقل من 25000 دولار .
- بعد ذلك ، اكتب الصيغة أدناه في الخلية G7 .
=INDEX(C5:C16,MATCH(1,(D5:D16
- ومن ثم ، اضغط على أدخل . علاوة على ذلك ، ستحصل على Angela Hopkins كعودة للصيغة.
اقرأ المزيد: 7 أنواع من البحث التي يمكنك استخدامها في Excel
1.2 استخدام وظيفة XLOOKUP
يمكننا إنجاز المهمة السابقة باستخدام وظيفة XLOOKUP في Excel أيضًا. لكن تذكر أن XLOOKUP متاح فقط في Office 365 . قبل الانتقال إلى النقطة الرئيسية ، يمكنك إلقاء نظرةفي وظيفة XLOOKUP في Excel. الآن ، اكتشفنا الموظف الذي لديه معرف أكبر من 400 وراتب أكبر من 40000 دولار باستخدام وظيفة XLOOKUP . دعنا نتبع الإرشادات أدناه لمعرفة!
الخطوات:
- أولاً ، اكتب الصيغة أدناه في الخلية G7 .
=XLOOKUP(1,(B5:B16>400)*(E5:E16>40000),C5:C16)
- نتيجة لذلك ، حصلنا على نفس الموظف السابق ، Richard Samuelson . هذا هو اسم الموظف الذي لديه معرف أكبر من 400 وراتبه أكبر من 40000 دولار .
انهيار الصيغة
- (B5: B16 & gt؛ 400) * (E5: E16 & gt؛ 40000) إرجاع مصفوفة من 1 و 0 ، 1 عندما يكون المعرف أكبر من 400 ويكون الراتب أكبر من 40000 دولار . 0 وإلا.
- XLOOKUP (1، (B5: B16 & gt؛ 400) * (E5: E16 & gt؛ 40000)، C5: C16) أول عمليات البحث عن 1 بوصة المصفوفة (B5: B16 & GT ؛ 400) * (E5: E16 & GT ؛ 40000). عندما تعثر على واحدة ، فإنها ترجع القيمة من الخلية المجاورة لها في النطاق C5: C16 .
اقرأ المزيد: كيفية استخدام وظيفة LOOKUP في Excel (4 أمثلة مناسبة)
1.3 تطبيق وظيفة الفلتر
INDEX-MATCH و XLOOKUP الصيغة لها قيود واحدة. إذا استوفت أكثر من قيمة المعايير المحددة ، فإنها ترجع القيمة الأولى فقط. على سبيل المثال ، في المثال السابق ، إذا نظرت عن كثب ، ستجد أن هناك اثنان موظفان بمعرّف أكبر من 400 وراتب أكبر من 40000 دولار ، وهما Richard Samuelson و عثمان مالك. لكن الصيغتين INDEX-MATCH و XLOOKUP ترجعان أول موظف ، Richard Samuelson . للحصول على جميع القيم التي تفي بالمعايير المحددة ، يمكنك استخدام وظيفة عامل التصفية في Excel. لكن تذكر أن الوظيفة FILTER متاحة أيضًا فقط في Office 365 .
الخطوات:
- إلى اكتشف الموظفين الذين لديهم معرف أكبر من 400 وراتب أكبر من 40000 دولار ستكون الصيغة عامل التصفية :
=FILTER(C5:C16,(B5:B16>400)*(E5:E16>40000))
- بعد ذلك ، هذه المرة لدينا جميع الموظفين الذين يحافظون على جميع المعايير ، Richard Samuelson و عثمان مالك .
انهيار الصيغة
- (B5: B16 & gt؛ 400) * (E5: E16 & gt؛ 40000) إرجاع مصفوفة من 1 و 0 ، 1 عندما يكون المعرف أكبر من 400 والراتب أكبر من 40000 دولار. 0 وإلا (راجع قسم INDEX-MATCH ).
- مرشح (C5: C16، (B5: B16 & gt؛ 400) * (E5: E16 & gt ؛ 40000)) يمر بجميع القيم في المصفوفة (B5: B16 & gt؛ 400) * (E5: E16 & gt؛ 40000) ، وعندما يجد 1 ، تقوم بإرجاع القيمة المجاورة من النطاق C5: C16 .
- وهكذا نحصل على جميع الموظفين بمعرف أكبر من 400 و a راتب أكبرمن 40000 دولار أمريكي .
- الآن ، إذا فهمت هذا ، هل يمكن أن تخبرني بالصيغة لمعرفة الموظفين الذين انضموا بين 1 كانون الثاني (يناير) 2014 ، و 31 ديسمبر 2016 ، لكنك حصلت على راتب على الأقل 30،000 $ ؟ نعم. أنت محق. ستكون الصيغة:
=FILTER(C5:C16,(D5:D16>=DATE(2014,1,1))*(D5:D16=30000))
اقرأ المزيد: كيفية البحث عن قيم متعددة في Excel (10 طرق)
الطريقة الثانية: البحث عن معايير متعددة لـ OR اكتب
الآن ، سنحاول البحث عن بعض القيم التي تفي بمعايير متعددة من نوع أو . هنا ، تعني معايير النوع أو أن قيمة واحدة يجب أن تفي بمعيار واحد على الأقل من بين جميع المعايير التي سيتم اختيارها. دعنا نحاول معرفة الموظف الذي انضم قبل 1 يناير 2010 أو يتقاضى راتباً أكبر من 30000 دولار .
2.1 دمج وظائف INDEX و MATCH في النطاق الزمني
انقر هنا لزيارة وظيفة INDEX وانقر هنا لزيارة وظيفة MATCH قبل المتابعة ، إذا كنت ترغب في ذلك.
الخطوات:
- ستكون الصيغة INDEX-MATCH كما هو موضح في مربع الصيغة أدناه.
=INDEX(C5:C16,MATCH(TRUE,((D5:D1630000))>0,0),1)
- انظر ، لدينا جاك سيمبسون ، أول موظف له تاريخ انضمام قبل 1 يناير 2010 ، أو راتب أكبر من 30000 دولار أمريكي . لكن هناك العديد من الموظفين. باستخدام INDEX-MATCH ، نحصل على أول واحد فقط.
- سنجمع جميع الموظفين معًا لاحقًا باستخدام وظيفة التصفية لاحقًا. هذا هو الموظف المطلوب الذي يتطابق مع معيار واحد على الأقل.
انهيار الصيغة
- D5: D16
="" strong=""> تُرجع مصفوفة من TRUE و FALSE . صحيح عندما يكون تاريخ الانضمام في العمود D أقل من 1 يناير 2010. خطأ وإلا. - E5: E16 & gt؛ 30000 تُرجع أيضًا مصفوفة من TRUE و FALSE . TRUE عندما يكون الراتب أكبر من 30،000 دولار. FALSE وإلا.
- (D5: D1630000) يضيف المصفوفتين ويعيد مصفوفة أخرى من 0 ، 1 ، أو 2 . 0 في حالة عدم استيفاء أي معيار ، 1 عند استيفاء معيار واحد فقط و 2 عند استيفاء المعيارين.
- ((D5: D1630000)) & gt؛ 0 يمر عبر جميع قيم المصفوفة (D5: D1630000) وإرجاع TRUE إذا كانت القيمة أكبر من 0 ( 1 و 2 ) ، و خطأ وإلا ( 0 ).
- MATCH (TRUE، ((D5: D1630000)) & gt؛ 0،0) تمر عبر جميع القيم الموجودة في المصفوفة ((D5: D1630000)) & gt؛ 0 وترجع الرقم التسلسلي الأول حيث تحصل على TRUE .
- في هذه الحالة ، تُرجع 3 لأن أول TRUE موجود في المسلسل 3 .
- أخيرًا ، INDEX (C5: C16، MATCH (TRUE، ((D5: D1630000)) & gt؛ 0،0)، 1) إرجاع اسم الموظف من النطاق C5: C16 مع الرقم التسلسلي الذي تم إرجاعه بواسطة الوظيفة MATCH .
الآن ، إذا كنتافهم هذا ، هل يمكنك إخباري بالصيغة لمعرفة الموظف الذي لديه معرف أقل من 300 ، أو تاريخ انضمام أقل من يناير 1 ، 2012 ، أو راتب أكبر من 30000 دولار ؟
نعم. أنت محق. ستكون الصيغة:
=INDEX(C5:C16,MATCH(TRUE,((B5:B16<200)+(D5:D1630000))>0,0),1)
اقرأ المزيد: How to نص البحث في Excel (7 طرق مناسبة)
2.2 تطبيق دالة XLOOKUP
يمكنك إنجاز نفس المهمة باستخدام الوظيفة XLOOKUP في Excel. XLOOKUP متاح فقط في Office 365 .
الخطوات:
- الصيغة للبحث عن الموظف مع تاريخ الانضمام قبل كانون الثاني (يناير) 1 ، 2010 ، أو الراتب الأكبر من 30000 دولار سيكون:
=XLOOKUP(TRUE,((D5:D1630000))>0,C5:C16)
- انظر ، لدينا نفس الموظف السابق ، جاك سيمبسون . ولكن كما هو الحال مع معادلة INDEX-MATCH ، يستوفي عدد أكبر من الموظفين المعايير المحددة. لقد حصلنا على أول واحد فقط.
انهيار الصيغة
- ((D5: D1630000)) & gt؛ 0 تعرض TRUE عند استيفاء معيار واحد على الأقل من المعيارين ، وإلا FALSE . انظر القسم أعلاه.
- XLOOKUP (TRUE، (((D5: D1630000)) & gt؛ 0، C5: C16) ثم إرجاع اسم الموظف من العمود C5: C16 ، حيث تحصل على أول صحيح .
اقرأ المزيد: كيفية البحث عن القيمة من ورقة أخرى في Excel (3 طرق سهلة )
2.3 باستخدام وظيفة الفلتر
أخيرًا ، سنقوم بذلكإنجاز نفس المهمة باستخدام وظيفة عامل التصفية في Excel. لا تتوفر الوظيفة FILTER إلا في Office 365 . هذه المرة سوف نحصل على جميع الموظفين الذين انضموا قبل 1 يناير 2010 ، أو حصلوا على رواتب أكبر من 30000 دولار .
الخطوات:
- ستكون الصيغة هي نفسها الموضحة في مربع الصيغة أدناه.
=FILTER(C5:C16,((D5:D1630000))>0)
- وبالتالي يتم إرجاع جميع الموظفين الذين يستوفون معيارًا واحدًا على الأقل من المعايير المحددة.
- انظر ، هذه المرة لدينا جميع الموظفين الذين يستوفون معاييرنا المحددة ، تاريخ الانضمام قبل 1 يناير ، 2010 ، أو الراتب أكبر من 30000 دولار .
انهيار الصيغة
- ((D5: D1630000)) & gt؛ 0 ترجع TRUE عند استيفاء معيار واحد على الأقل من المعيارين ، وإلا FALSE . راجع قسم INDEX-MATCH .
- مرشح (C5: C16، ((D5: D1630000)) & gt؛ 0) يمر عبر جميع الخلايا في النطاق C5: C16 ولكنه يعيد فقط تلك عندما يواجه TRUE .
اقرأ المزيد: كيفية البحث عن جدول في Excel (8 طرق)
خاتمة
باستخدام هذه الطرق ، يمكنك البحث عن بعض القيم التي تفي بمعايير متعددة من أي مجموعة من البيانات. هل تعرف أي طريقة أخرى؟ أو هل لديك أي أسئلة؟ لا تتردد في سؤالنا.