جدول المحتويات
يشرح البرنامج التعليمي أشكال المتجهات والمصفوفات لوظيفة Excel LOOKUP ويوضح الاستخدامات النموذجية وغير التافهة لـ LOOKUP في Excel مع أمثلة الصيغة.
أحد الأسئلة الأكثر شيوعًا أن كل مستخدم Excel يسأل من حين لآخر هو هذا: " كيف يمكنني البحث عن قيمة في ورقة واحدة وسحب قيمة مطابقة إلى ورقة أخرى؟ ". بالطبع ، يمكن أن يكون هناك العديد من الأشكال المختلفة للسيناريو الأساسي: قد تبحث عن أقرب تطابق بدلاً من المطابقة التامة ، وقد ترغب في البحث عموديًا في عمود أو أفقيًا في صف ، وتقييم معيار واحد أو عدة معايير ، وما إلى ذلك. ، الجوهر هو نفسه - تحتاج إلى معرفة كيفية البحث في Excel.
يوفر Microsoft Excel عددًا قليلاً من الطرق المختلفة لإجراء البحث. بادئ ذي بدء ، دعنا نتعلم وظيفة مصممة للتعامل مع أبسط حالات البحث الرأسي والأفقي. كما يمكنك أن تخمن بسهولة ، أنا أتحدث عن وظيفة LOOKUP.
وظيفة Excel LOOKUP - بناء الجملة وتستخدم
في المستوى الأساسي ، وظيفة LOOKUP في Excel يبحث عن قيمة في عمود أو صف ويعيد قيمة مطابقة من نفس الموضع في عمود أو صف آخر.
هناك شكلين من LOOKUP في Excel: Vector و صفيف . يتم شرح كل نموذج على حدة أدناه.
دالة Excel LOOKUP - شكل متجه
في هذا السياق ، يشير متجه إلى نطاق من عمود واحد أو صف واحد.تقوم الصيغة بالمهمة:
=LOOKUP(VLOOKUP(E2, $A$2:$C$7, 3, FALSE), {"c";"d";"t"}, {"Completed";"Development";"Testing"})
كما هو موضح في لقطة الشاشة أدناه ، تسترد الصيغة حالة المشروع من جدول البحث وتستبدل الاختصار بالكلمة المقابلة:
نصيحة. إذا كنت تستخدم Excel 2016 كجزء من اشتراك Office 365 ، فيمكنك استخدام وظيفة التبديل لأغراض مماثلة.
آمل أن تلقي هذه الأمثلة بعض الضوء على كيفية عمل وظيفة LOOKUP. لفهم الصيغ بشكل أفضل ، نرحب بتنزيل أمثلة Excel Lookup هذه. في البرنامج التعليمي التالي ، سنناقش بعض الطرق الأخرى لإجراء البحث في Excel وشرح صيغة البحث الأفضل لاستخدامها في أي موقف. أشكرك على القراءة وآمل أن أراك على مدونتنا الأسبوع المقبل!
وبالتالي ، يمكنك استخدام النموذج المتجه للدالة LOOKUP للبحث في صف واحد أو عمود واحد من البيانات عن قيمة محددة ، وسحب قيمة من نفس الموضع في صف أو عمود آخر.بناء جملة البحث المتجه هو كما يلي:
LOOKUP (lookup_value، lookup_vector، [result_vector])المكان:
- Lookup_value (مطلوب) - قيمة للبحث عنها. يمكن أن يكون رقمًا أو نصًا أو قيمة منطقية لـ TRUE أو FALSE أو مرجعًا لخلية تحتوي على قيمة البحث.
- Lookup_vector (مطلوب) - صف واحد أو عمود واحد النطاق المراد البحث عنه. يجب أن يتم فرزها في ترتيب تصاعدي .
- ناقل النتيجة (اختياري) - نطاق من صف واحد أو عمود واحد تريد إرجاع النتيجة منه - قيمة في نفس موضع قيمة البحث. يجب أن يكون Result_vector هو الحجم نفسه مثل lookup_range . إذا تم حذفها ، يتم إرجاع النتيجة من lookup_vector .
توضح الأمثلة التالية صيغتي بحث بسيطتين في العمل.
صيغة البحث العمودي - ابحث في واحد- نطاق العمود
لنفترض أن لديك قائمة البائعين في العمود D (D2: D5) والمنتجات التي قاموا ببيعها في العمود E (E2: E5). أنت تقوم بإنشاء لوحة معلومات حيث سيدخل المستخدمون اسم البائع في B2 وتحتاج إلى صيغة تسحب منتجًا مطابقًا في B3. يمكن إنجاز المهمة بسهولة باستخدام هذه الصيغة:
=LOOKUP(B2,D2:D5,E2:E5)
لفهم أفضلالوسائط ، يرجى إلقاء نظرة على لقطة الشاشة هذه:
صيغة البحث الأفقي - ابحث في نطاق صف واحد
إذا كانت بيانات المصدر الخاصة بك لها تخطيط أفقي ، على سبيل المثال ، توجد الإدخالات في صفوف بدلاً من أعمدة ، ثم قم بتوفير نطاق من صف واحد في الوسيطتين lookup_vector و result_vector ، مثل هذا:
=LOOKUP(B2,E1:H1,E2:H2)
في الجزء الثاني من هذا البرنامج التعليمي ، ستجد المزيد من أمثلة Excel Lookup التي تحل المهام الأكثر تعقيدًا. في غضون ذلك ، يرجى تذكر الحقائق البسيطة التالية التي ستساعدك على تجاوز المزالق المحتملة ومنع الأخطاء الشائعة.
5 أشياء يجب أن تعرفها عن شكل متجه من Excel LOOKUP
- القيم في يجب فرز lookup_vector في ترتيب تصاعدي ، أي من الأصغر إلى الأكبر أو من الألف إلى الياء ، وإلا فقد تعرض صيغة Excel Lookup خطأ أو نتيجة غير صحيحة. إذا كنت تريد البحث عن بيانات غير مفرزة ، فاستخدم إما INDEX MATCH أو OFFSET MATCH.
- Lookup_vector و result_vector يجب أن يكون صف واحد أو عمود واحد نطاق من نفس الحجم.
- وظيفة LOOKUP في Excel هي غير حساسة لحالة الأحرف ، ولا تفرق نص بأحرف كبيرة وصغيرة.
- يعمل Excel LOOKUP على أساس تطابق تقريبي . بتعبير أدق ، تبحث صيغة البحث عن المطابقة التامة أولاً. إذا لم يتمكن من العثور على قيمة البحث بالضبط ، فإنه يبحث عن الأصغر التاليالقيمة ، أي أكبر قيمة في lookup_vector أصغر من أو تساوي lookup_value .
على سبيل المثال ، إذا كانت قيمة البحث هي "5" ، فستبحث الصيغة عنها أولاً. إذا لم يتم العثور على "5" ، فسيتم البحث عن "4". إذا لم يتم العثور على "4" ، فسيتم البحث عن "3" ، وهكذا.
- إذا كانت قيمة lookup_value أصغر من أصغر قيمة في lookup_vector ، يقوم Excel LOOKUP بإرجاع الخطأ # N / A.
دالة Excel LOOKUP - نموذج الصفيف
يبحث نموذج الصفيف للدالة LOOKUP عن القيمة المحددة في العمود أو الصف الأول من المصفوفة ويسترد قيمة من نفس الموضع في العمود أو الصف الأخير من المصفوفة.
يحتوي بحث المصفوفة على وسيطتين ، وكلاهما مطلوب:
LOOKUP ( lookup_value، array)حيث:
- Lookup_value - قيمة للبحث عنها في مصفوفة.
- Array - a نطاق من الخلايا حيث تريد البحث عن قيمة البحث. يجب فرز القيم الموجودة في العمود أو الصف الأول من الصفيف (بناءً على ما إذا كنت تقوم ببحث V أو بحث H) بترتيب تصاعدي. تعتبر الأحرف الكبيرة والصغيرة متكافئة.
على سبيل المثال ، مع وجود أسماء البائعين في العمود الأول من المصفوفة (العمود A) وتواريخ الطلبات في العمود الأخير من المصفوفة (العمود C) ، يمكنك استخدام الصيغة التالية للبحث عن الاسم وسحب تاريخ المطابقة:
=LOOKUP(B2,D2:F5)
ملاحظة. شكل مصفوفةيجب عدم الخلط بين دالة Excel LOOKUP وصيغ صفيف Excel. على الرغم من أنها تعمل على المصفوفات ، إلا أن LOOKUP لا تزال صيغة عادية ، يتم إكمالها بالطريقة المعتادة عن طريق الضغط على مفتاح Enter.
4 أشياء يجب أن تعرفها عن نموذج مصفوفة Excel LOOKUP
- إذا كان الصفيف يحتوي على صفوف أكثر من الأعمدة أو نفس عدد الأعمدة والصفوف ، تبحث صيغة البحث في العمود الأول (بحث أفقي).
- إذا كان الصفيف يحتوي على أعمدة أكثر من الصفوف ، يبحث Excel LOOKUP في الصف الأول (بحث عمودي ).
- إذا لم تتمكن الصيغة من العثور على قيمة البحث ، فإنها تستخدم القيمة الأكبر في المصفوفة التي تقل عن أو تساوي lookup_value .
- إذا كانت قيمة البحث أصغر من أصغر قيمة في العمود أو الصف الأول من الصفيف (اعتمادًا على أبعاد الصفيف) ، ترجع صيغة البحث الخطأ # N / A.
ملاحظة مهمة! وظيفة نموذج مصفوفة Excel LOOKUP محدودة ولا نوصي باستخدامها. بدلاً من ذلك ، يمكنك استخدام دالة VLOOKUP أو HLOOKUP ، وهما الإصداران المحسنان لإجراء البحث الرأسي والأفقي ، على التوالي.
كيفية استخدام وظيفة LOOKUP في Excel - أمثلة على الصيغ
بالرغم من وجودها وظائف أكثر قوة للبحث عنها ومطابقتها في Excel (وهو موضوع البرنامج التعليمي التالي) ، LOOKUP مفيدة في العديد من المواقف ، والأمثلة التاليةعرض اثنين من الاستخدامات غير التافهة. يرجى ملاحظة أن جميع الصيغ أدناه تستخدم الشكل المتجه لبرنامج Excel LOOKUP.
ابحث عن قيمة في آخر خلية غير فارغة في عمود
إذا كان لديك عمود يتم ملؤه ديناميكيًا البيانات ، قد ترغب في اختيار أحدث إدخال مضاف ، أي الحصول على آخر خلية غير فارغة في عمود. لهذا ، استخدم هذه الصيغة العامة:
LOOKUP (2، 1 / ( عمود "") ، عمود )في الصيغة أعلاه ، جميع الوسائط باستثناء مرجع العمود ثوابت. لذلك ، لاسترداد القيمة الأخيرة في عمود معين ، تحتاج فقط إلى توفير مرجع العمود المقابل. على سبيل المثال ، لاستخراج قيمة آخر خلية غير فارغة في العمود A ، استخدم هذه الصيغة:
=LOOKUP(2, 1/(A:A""), A:A)
للحصول على القيمة الأخيرة من الأعمدة الأخرى ، قم بتعديل مراجع العمود كما هو موضح في لقطة الشاشة أدناه - المرجع الأول هو العمود المراد فحصه بحثًا عن خلايا فارغة / غير فارغة ، والمرجع الثاني هو العمود لإرجاع القيمة من:
كيف تعمل هذه الصيغة
في الوسيطة lookup_value ، تقوم بتوفير 2 أو أي رقم آخر أكبر من 1 (في لحظة ، ستفهم السبب).
في lookup_vector وسيطة ، ضع هذا التعبير: 1 / (A: A "")
- أولاً ، تقوم بإجراء العملية المنطقية A: A "" التي تقارن كل خلية في العمود A بسلسلة فارغة وإرجاع TRUE للخلايا الفارغة و FALSE للخلايا غير الفارغة. في العلى سبيل المثال أعلاه ، تُرجع الصيغة في F2 هذا المصفوفة: {TRUE؛ TRUE؛ TRUE؛ TRUE؛ FALSE ...}
- ثم تقوم بقسمة الرقم 1 على كل عنصر من عناصر المصفوفة أعلاه. مع TRUE تساوي 1 و FALSE تساوي 0 ، تحصل على مصفوفة جديدة تتكون من 1 و # DIV / 0! أخطاء (نتيجة القسمة على 0) ، ويتم استخدام هذه المصفوفة كـ lookup_vector . في هذا المثال ، هي {1؛ 1؛ 1؛ 1؛ # DIV / 0! ...}
الآن ، كيف تقوم الصيغة بإرجاع آخر قيمة غير فارغة في عمود ، بالنظر إلى أن lookup_value لا يطابق أي عنصر من عناصر lookup_vector ؟ المفتاح لفهم المنطق هو أن Excel LOOKUP يبحث بمطابقة تقريبية ، أي عندما لا يتم العثور على قيمة البحث الدقيقة ، فإنها تتطابق مع القيمة الأكبر التالية في lookup_vector الأصغر من lookup_value . في حالتنا ، lookup_value هي 2 وأكبر قيمة في lookup_vector هي 1 ، لذا فإن LOOKUP تتطابق مع آخر 1 في المصفوفة ، وهي آخر خلية غير فارغة!
في الوسيطة result_vector ، يمكنك الرجوع إلى العمود الذي تريد إرجاع قيمة منه ، وستجلب صيغة البحث القيمة في نفس موضع قيمة البحث.
نصيحة. إذا كنت ترغب في الحصول على رقم الصف الذي يحتفظ بالقيمة الأخيرة ، فاستخدم الدالة ROW لاستردادها. على سبيل المثال: =LOOKUP(2,1/(A:A""),ROW(A:A))
ابحث عن قيمة في آخر خلية غير فارغة في صف
إذا تم تخطيط بيانات المصدر في صفوف بدلاً من ذلكمن الأعمدة ، يمكنك الحصول على قيمة آخر خلية غير فارغة باستخدام هذه الصيغة:
LOOKUP (2، 1 / ( row "")، row )في الواقع ، هذه الصيغة ليست سوى تعديل طفيف للصيغة السابقة ، مع الاختلاف الوحيد الذي تستخدمه مرجع الصف بدلاً من مرجع العمود.
على سبيل المثال ، للحصول على قيمة الأخير خلية غير فارغة في الصف 1 ، استخدم هذه الصيغة:
=LOOKUP(2, 1/(1:1""), 1:1)
تظهر لقطة الشاشة التالية النتيجة:
احصل على قيمة المرتبطة بالإدخال الأخير في صف
بقليل من الإبداع ، يمكن بسهولة تخصيص الصيغة أعلاه لحل المهام المماثلة الأخرى. على سبيل المثال ، يمكن استخدامه للحصول على قيمة مرتبطة بالمثيل الأخير لقيمة معينة في الصف. قد يبدو هذا غامضًا بعض الشيء ، ولكن المثال التالي سيجعل الأمور أسهل في الفهم.
بافتراض أن لديك جدول ملخص حيث يحتوي العمود A على أسماء البائعين والأعمدة التالية تحتوي على بيانات من نوع ما لكل شهر. في هذا المثال ، تحتوي الخلية على "نعم" إذا قام بائع معين بإغلاق صفقة واحدة على الأقل في شهر معين. هدفنا هو الحصول على شهر مرتبط بآخر إدخال "نعم" على التوالي.
يمكن حل المهمة باستخدام صيغة LOOKUP التالية:
=LOOKUP(2, 1/(B2:H2="yes"), $B$1:$H$1)
منطق الصيغة في الأساس هو نفسه كما هو موضح في المثال الأول. الفرق هو أنك تستخدم عامل التشغيل "يساوي" ("=") بدلاً من "لا يساوي"إلى "(" ") والعمل على صفوف بدلاً من أعمدة.
توضح لقطة الشاشة التالية نتيجة:
ابحث كبديل لملفات IFs المتداخلة
في جميع صيغ البحث التي ناقشناها حتى الآن ، تم تمثيل الوسيطتين lookup_vector و result_vector بمراجع النطاق. ومع ذلك ، يسمح بناء جملة دالة Excel LOOKUP توفير المتجهات في شكل ثابت صفيف عمودي ، مما يمكّنك من تكرار وظيفة IF المتداخلة بصيغة أكثر إحكاما وسهولة في القراءة.
لنفترض أن لديك قائمة بالاختصارات في العمود A وتريد استبدالها بأسماء كاملة ، حيث تشير "C" إلى "مكتمل" و "D" تعني "تطوير" و "T" تعني "اختبار". يمكن إنجاز المهمة باستخدام دالة IF المتداخلة التالية:
=IF(A2="c", "Completed", IF(A2="d", "Development", IF(A2="t", "Testing", "")))
أو باستخدام صيغة البحث هذه:
=LOOKUP(A2, {"c";"d";"t"}, {"Completed";"Development";"Testing"})
كما هو موضح في لقطة الشاشة أدناه ، تعطي كلتا الصيغتين نتائج متطابقة:
ملاحظة. لكي تعمل صيغة Excel Lookup بشكل صحيح ، يجب فرز القيم الموجودة في lookup_array من الألف إلى الياء أو من الأصغر إلى الأكبر.
إذا كنت تسحب القيم من جدول بحث ، فيمكنك تضمين دالة Vlookup في وسيطة lookup_value لاسترداد تطابق.
بافتراض أن قيمة البحث موجودة في الخلية E2 ، جدول البحث هو A2: C7 ، وعمود الاهتمام ("الحالة") هو العمود الثالث في جدول البحث ، فيما يلي