جدول المحتويات
المتغيرات (مثل سعر السلعة ، والسهم ، وسعر الفائدة ، وما إلى ذلك) الخاضعة للتواريخ تسبب الذعر لدى عامة الناس ، لأن أسعارها تعتمد على التواريخ. INDEX MATCH النطاق الزمني للمعايير المتعددة يمكنه استخراج الأسعار من نطاق زمني معين.
لنفترض أن لدينا منتجات معينة بأسعارها مستقرة لفترة زمنية معينة. ونريد INDEX MATCH الأسعار للمعايير المحددة.
في هذه المقالة ، نستخدم وظائف متعددة لـ INDEX MATCH نطاق تاريخ معايير متعددة.
تنزيل مصنف Excel
نطاق تاريخ معايير متعددة. xlsx
3 طرق سهلة لاستخدام INDEX MATCH لمعايير متعددة من النطاق الزمني
الطريقة الأولى: استخدام وظائف INDEX MATCH لمعايير متعددة من النطاق الزمني
نريد لاستخراج سعر منتج معين في تاريخ محدد. لنفترض أننا نريد أن نرى سعر الآيس كريم في 02-10-22 ( شهر-يوم-سنة ). إذا كان التاريخ المحدد يقع بين الفترة الزمنية المعروضة ، فسنحصل على السعر المستخرج في أي خلية فارغة.
الخطوات: أدخل الصيغة التالية في أي خلية فارغة (على سبيل المثال ، I5 ). كصيغة في صيغة صفيف ، اضغط على CTRL + SHIFT + ENTER لتطبيقها. تقوم الصيغة فورًا بإرجاع سعر المنتج إذا وقع في الفترة الزمنية المحددة (على سبيل المثال ، التاريخ النطاق) كما هو موضح أدناه.
=INDEX($E$5:$E$16,MATCH(1,(($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5)),0))
🔄 تشريح الجثة:
Excel INDEX وظيفة البحث عن قيمة موقع معين داخل نطاق معين. في حالتنا ، نستخدم وظيفة MATCH الناتجة عن الدالة INDEX . تمرر الدالة MATCH نتيجتها كرقم صف للإدخالات التي تفي بالمعايير المحددة. صيغة الدالة INDEX هي
INDEX(array, row_num, [col_num])
في الصيغة ، يشير $ E $ 5 $ E $ 16 إلى وسيطة المصفوفة . داخل الدالة MATCH $B$5:$B$16=G5
، $D$5:$D$16>=H5
، و $C$5:$C$16<=H5
تعلن المعايير. لتوفير تعريف أفضل ، نقوم بتلوين النطاقات المعنية في المستطيلات.
تحدد الوظيفة MATCH موضع قيمة معينة داخل صف أو عمود أو جدول. كما قلنا سابقًا ، يمرر الجزء MATCH رقم الصف لوظيفة INDEX . صيغة الدالة MATCH هي
MATCH (lookup_value, lookup_array, [match_type])
الجزء MATCH هو
=MATCH(1,(($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5)),0)
الجزء MATCH يعين 1 كـ lookup_value ، ($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5)
كـ lookup_array <يعلن 2> و 0 عن [match_type] كمطابقة تامة.
تُرجع الصيغة MATCH 3 كما وجد آيس كريم في رقم الصف 3 .
في بعض الحالات ، لدينا منتجات متعددة لاستخراج سعرها منها مجموعة البيانات. يبدو نوعًا ما مثل الصورة التالية ،
INDEX MATCH جلب الصيغة المجمعة الأسعار عند انهاالحجج التي تلبي المعايير. بخلاف ذلك ، ينتج عن خطأ # N / A كما هو موضح في لقطة الشاشة أعلاه.
اقرأ المزيد: VBA INDEX MATCH استنادًا إلى معايير متعددة في Excel ( 3 طرق)
الطريقة الثانية: وظيفة XLOOKUP للتعامل مع معايير متعددة
على غرار الطريقة 1 ، يمكننا استخدام XLOOKUP وظيفة (متوفرة فقط في Excel 365 ) إلى INDEX MATCH نطاق تاريخ معايير متعددة. صيغة الدالة XLOOKUP هي
XLOOKUP (lookup, lookup_array, return_array, [not_found], [match_mode], [search_mode])
الخطوات: استخدم الصيغة أدناه في الخلية I5 ثم اضغط على ENTER .
=XLOOKUP(1,(H5>=$C$5:$C$16)*(H5<=$D$5:$D$16)*($B$5:$B$16=G5),$E$5:$E$16,"NotFound")
تعرض الصيغة XLOOKUP السعر المعتمد الذي يفي بالمعايير المحددة (على سبيل المثال ، المنتج و التاريخ ) كما هو موضح في الصورة أعلاه.
🔄 تشريح الجثة:
يعين XLOOKUP 1 باعتباره وسيطة البحث ، (H5>=$C$5:$C$16)*(H5<=$D$5:$D$16)*($B$5:$B$16=G5)
كـ lookup_array، $ E $ 5: $ E $ 16 كـ return_array . تعرض الصيغة أيضًا نص لم يتم العثور عليه في حالة عدم وقوع الإدخالات في النطاق الزمني. نشير إلى المعايير المحددة في المستطيلات الملونة كما هو موضح في الصورة التالية.
➤ لعدة منتجات ، يمكنك تطبيق الصيغة XLOOKUP واستخراج الأسعار عند استيفاء المعايير المحددة. تعرض الصيغة أيضًا لم يتم العثور عليه إذا لم يتم توسيع معايير التاريخ المحددة خلال التاريخ المحددالنطاق.
يمكنك إضافة معايير أكثر من المستخدمة في الصيغة. لإعطاء سيناريوهات بسيطة وواضحة ، تم استخدام الحد الأدنى من المعايير.
اقرأ المزيد: XLOOKUP بمعايير متعددة في Excel (4 طرق سهلة)
الطريقة الثالثة: وظائف INDEX و AGGREGATE لاستخراج سعر متقلب من النطاق الزمني
أسعار بعض المنتجات (مثل النفط الخام والعملة وما إلى ذلك) متقلبة لدرجة أنها تتقلب لأسابيع أو حتى أيام. لدينا أسعار منتج معين في فترة أسبوع. نريد العثور على السعر في التواريخ المحددة. للعثور على سعر نطاق تاريخ معين ، يمكننا استخدام الدالة المدمجة INDEX AGGREGATE . صيغة الدالة AGGREGATE هي
AGGREGATE (function_num, options, ref1, ref2)
الخطوات: اكتب الصيغة التالية في أي خلية فارغة (أي ، E8 ).
=IFERROR(INDEX(C$5:C$13,AGGREGATE(15,6, ROW(B$5:B$13)/
((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1,ROWS(E$8:E8))),"")
السعر الأول لتاريخ منتج معين 02-15-22 إلى 02-25-22 هو 0.84 دولار . قد يكون هناك سعر 2nd أو 3rd متاح ولكن في البداية ، نتمسك بالسعر الأول .
🔄 Formula Autopsy :
في الصيغة ، =IFERROR(INDEX(C$5:C$13,AGGREGATE(15,6, ROW(B$5:B$13)/
((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1,ROWS(E$8:E8))),"")
؛
AGGREGATE(15,6,ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1,ROWS(E$8:E8)))
يوفر الجزء رقم الصف إلى فهرس وظيفة. C $ 5: C $ 13 عبارة عن صفيف وسيطة للدالة INDEX .
داخل صيغة AGGREGATE ،
(B$5:B$13>=F$4)*(B$5:B$13<=F$5)
إرجاع 1 أو 0 اعتمادًا على ما إذا كانت تواريخ مجموعة البيانات تقع فيالنطاق أم لا.
ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))
تُرجع مصفوفة من أرقام الصفوف بناءً على معايير التاريخ التي تفي بها. بخلاف ذلك ، ينتج عن قيم الخطأ.
ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1
مثل ref1 ينتج عنه مصفوفة من أرقام الصفوف المحولة إلى أرقام فهرس وإلا في قيم الخطأ.
ROWS (E $ 8: E8) حيث ينتج عن ref2 رقم الصف وهي طريقة سهلة للحصول على رقم الصف أثناء تطبيق الصيغة لأسفل.
الرقم 15 = function_num (على سبيل المثال ، صغير ) ، 6 = خيارات (على سبيل المثال ، تجاهل قيم الخطأ ). يمكنك اختيار function_num من 19 وظائف مختلفة و خيارات من 8 خيارات مختلفة.
أخيرًا ، AGGREGATE(15,6,ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1,ROWS(E$8:E8)))
يمرر nth أصغر رقم فهرس لصف يفي بالمعايير المحددة.
في حالة حدوث أي خطأ ، يتجاهل IFERROR(INDEX...),"")
جميع أنواع الأخطاء وتحويلها إلى فراغات.
➤ اسحب مقبض التعبئة لجلب الأسعار المتطابقة الأخرى ضمن نطاق تاريخ المعايير. وتنتج الدالة IFERROR خلايا فارغة إذا واجهت الصيغة أي أخطاء.
اقرأ المزيد: VLOOKUP مع معايير متعددة بما في ذلك النطاق الزمني في Excel (طريقتان)
الخاتمة
في هذه المقالة ، نوضح طرقًا متعددة لـ INDEX MATCH نطاق تاريخ معايير متعددة. نستخدم وظائف مثل INDEX ، MATCH . XLOOKUP ، و AGGREGATE لتكوين الصيغ التي تفهرسهاتطابق الإدخالات التي تفي بالمعايير. آمل أن تساعدك هذه الطرق المذكورة أعلاه على التعامل مع وضعك. قم بالتعليق إذا كان لديك مزيد من الاستفسارات أو لديك أي شيء تضيفه.