اكسل

عد أيام الأسبوع بين التواريخ

Count Day Week Between Dates

صيغة Excel: عد أيام الأسبوع بين التواريخصيغة عامة
= SUMPRODUCT (--( WEEKDAY ( ROW ( INDIRECT (start&':'&end)))=dow))
ملخص

لحساب أيام الأسبوع (الاثنين والجمعة والأحد وما إلى ذلك) بين تاريخين ، يمكنك استخدام صيغة مصفوفة تستخدم دالات متعددة: SUMPRODUCT و WEEKDAY و ROW و INDIRECT. في المثال الموضح ، تكون الصيغة في الخلية E6 هي





 
= SUMPRODUCT (--( WEEKDAY ( ROW ( INDIRECT (B6&':'&C6)))=D6))

في النسخة العامة من الصيغة ، بداية = تاريخ البدء ، نهاية = تاريخ الانتهاء ، و داو = يوم من الأسبوع.

حساب عدد السنوات بين تاريخين في Excel
تفسير

في جوهرها ، تستخدم هذه الصيغة وظيفة WEEKDAY لاختبار عدد من التواريخ لمعرفة ما إذا كانت تهبط في يوم معين من الأسبوع (داو) و دالة SUMPRODUCT لحساب المجموع.





عند تحديد تاريخ ، تقوم WEEKDAY بإرجاع رقم بين 1 و 7 يتوافق مع يوم معين من الأسبوع. بالإعدادات الافتراضية ، 1 = الأحد و 7 = السبت. إذن ، 2 = الاثنين ، 6 = الجمعة ، وهكذا.

الحيلة في هذه الصيغة هي فهم ذلك التواريخ في Excel هي مجرد أرقام تسلسلية التي تبدأ في 1 يناير 1900. على سبيل المثال ، 1 يناير 2016 هو الرقم التسلسلي 42370 و 8 يناير هو 42377. تبدو التواريخ في Excel فقط مثل التواريخ التي يتم فيها تطبيق تنسيق رقم التاريخ.



صيغة النسبة المئوية للتغير في Excel

لذا ، يصبح السؤال - كيف يمكنك إنشاء ملف مجموعة مصفوفة من التواريخ التي يمكنك إدخالها في وظيفة WEEKDAY لمعرفة الأيام المقابلة من الأسبوع؟

الجواب هو استخدام صف مع غير مباشر وظائف مثل:

 
 ROW ( INDIRECT (date1&':'&date2))

يسمح INDIRECT بتفسير التواريخ المتسلسلة '42370: 42377' كأرقام صفوف. ثم ترجع الدالة ROW مصفوفة مثل هذا:

 
{4237042371423724237342374423754237642377}

تقيم الدالة WEEKDAY هذه الأرقام كتواريخ وإرجاع هذه المجموعة:

 
{67123456}

الذي يتم اختباره مقابل يوم معين من الأسبوع (6 في هذه الحالة ، من D6). بمجرد تحويل نتائج الاختبار إلى 1 و 0 باستخدام الواصلة المزدوجة ، تتم معالجة هذه المصفوفة بواسطة SUMPRODUCT:

 
{10000001}

الذي يعيد 2.

مع SEQUENCE

مع الجديد دالة SEQUENCE ، يمكن تبسيط هذه الصيغة إلى حد ما مثل هذا:

ما هو الجدول المحوري في Excel 2016
 
= SUMPRODUCT (--( WEEKDAY ( SEQUENCE (end-start+1,1,start,1))=dow))

في هذا الإصدار ، نستخدم SEQUENCE لإنشاء مصفوفة التواريخ مباشرةً ، دون الحاجة إلى INDIRECT أو ROW.

صيغ الصفيف الديناميكية متوفرة في مكتب 365 فقط. المؤلف ديف برونز


^