اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

قائمة بأيام الشهر فى يوم محدد


الردود الموصى بها

السلام عليكم ورحمة الله وبركاته

طبتم جميعا بكل خير أينما كنتم

أرغب فى مساعدتكم فى هذا الموضوع فربما أجد حلاً على أيديكم الكريمة

كيف يمكن عمل قائمة بأيام الشهر تبدأ من يوم الأحد وحتى يوم الخميس من كل أسبوع

بإستثناء يومى الجمعة والسبت على إعتبار أنهما عطلة من كل أسبوع

بمعنى أخر عند تغيير شهر الإدخال بالخلية C2 إلى شهر جديد وليكن نوفمبر 2024

أريد أن يبدأ هذا الشهر من يوم الأحد الى الخميس حتى نهايته

وهكذا مع باقى شهور العام ***** فهل يمكن تحقيق ذلك

أرجو أن يكون ذلك منطقيا ***** برجاء الإطلاع على المرفق وجزاكم الله خيرا

أيام الشهر من يوم محدد.xlsx

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله وبركاته

ممكن تتسخدم المعادله ادناه

لعله يكون المطلوب

=IF(WEEKDAY(DATE($F$2,$E$2, ROW(A1)))=6, "", IF(WEEKDAY(DATE($F$2, $E$2, ROW(A1)))=7, "", DATE($F$2, $E$2, ROW(A1))))

image.png.9409a00b340a6cfe5e500b29f520dc12.png

أيام الشهر من يوم محدد.xlsx

رابط هذا التعليق
شارك

وعليكم السلام ورحمة الله تعالى وبركاته 

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

لتجنب الفراغات  يمكنك تجربة هدا 

6.JPG.f9e6ab15be818bfa9fa4f517dee7e627.JPG

الخلية A5 

=IF($C$2<>"",TEXT(B5, "dddd"),"")

او 

=IF(C2="", "", FILTER(CHOOSE(WEEKDAY(FILTER(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1), WEEKDAY(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1), 1) <= 5), 1), "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"), WEEKDAY(FILTER(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1), WEEKDAY(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1), 1) <= 5), 1)))

 

الخلية B5

 

=IF(C2="", "", FILTER(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1), (WEEKDAY(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1), 1) <= 5)))

 

 لانشاء قائمة شهور السنة 

=EOMONTH(DATE(2024, 1, 1), ROW(A1)-2) + 1

 

 

 

 

أيام الشهر من يوم محدد.xlsx

تم تعديل بواسطه محمد هشام.
  • Like 1
رابط هذا التعليق
شارك

أخى واستاذى الفاضل / محمد هشام

السلام عليكم ورحمة الله وبركاته

عند تغير اى شهر أتلقى رسالة مفادها " لا يمكنك تغيير جزء من المصفوفة "

فهل من سبيل أخر بواسطة ال VBA **** ببساطة أريد أن يبدأ كل شهر من يوم الأجد

مع تجاهل يومى الجمعة والسبت على إعتبار أنهما أجازة " عطله رسمية "

ويمكنك تحديد تاريخ بداية ونهاية كقائمة  وليكن من 1/9/2024 حتى 30/6/2025 فربما لديك حل أخر

وافر التحية والتقدير وجزاكم الله خيرا

 

تم تعديل بواسطه سعيد بيرم
رابط هذا التعليق
شارك

40 دقائق مضت, سعيد بيرم said:

عند تغير اى شهر أتلقى رسالة مفادها " لا يمكنك تغيير جزء من المصفوفة "

المعادلات تشتغل معي بشكل جيد وتنفد المطلوب على العموم ادا كنت تقصد انك ترغب بظهور أسماء الأيام باللغة العربية جرب حل اخر كما هو موضح أسفله 

ScreenRecorderProject19.gif.1cde341715079355b3a2c70176c059a5.gif

 

أسماء الأيام بالعربية

=IF(C2="", "", FILTER(CHOOSE(WEEKDAY(FILTER(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1), WEEKDAY(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1), 1) <= 5), 1), "الأحد", "الإثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت"), WEEKDAY(FILTER(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1), WEEKDAY(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1), 1) <= 5), 1)))

التواريخ 

=IF(C2="", "", FILTER(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1), (WEEKDAY(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1), 1) <= 5) * (WEEKDAY(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1), 1) <> 7)))

 

57 دقائق مضت, سعيد بيرم said:

يمكنك تحديد تاريخ بداية ونهاية كقائمة  وليكن من 1/9/2024 حتى 30/6/2025

=EOMONTH(DATE(2024, 9, 1), ROW(A1)-2) + 1

 

أيام الشهر من يوم محدد.xlsx

رابط هذا التعليق
شارك

نعم اخي @سعيد بيرم  سنقوم بتعديل المعادلات لإستخراج الأيام والتواريخ بداية من يوم الأحد من كل شهر مع تجاهل يوم الجمعة والسبت 

ScreenRecorderProject21.gif.df0a4328233aaa331c4a57329d7da9b6.gif

 

 الخلية (A5)

=IF(C2="", "", FILTER(CHOOSE(WEEKDAY(FILTER(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1),
   (WEEKDAY(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1), 1) <= 5) *
   (WEEKDAY(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1), 1) <> 7) *
   (SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1) >= C2 + (7 - WEEKDAY(C2, 1)))), 1),
   "الأحد", "الإثنين", "الثلاثاء", "الأربعاء", "الخميس"),
   WEEKDAY(FILTER(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1),
   (WEEKDAY(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1), 1) <= 5) *
   (WEEKDAY(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1), 1) <> 7) *
   (SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1) >= C2 + (7 - WEEKDAY(C2, 1)))), 1)))

 الخلية (B5)

=IF(C2="", "", FILTER(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1),
 (WEEKDAY(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1), 1) <= 5) *
 (WEEKDAY(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1), 1) <> 7) *
 (SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1) >= C2 + (7 - WEEKDAY(C2, 1)))))

او 

=IF(C2="", "", FILTER(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, EDATE(C2, 0), 1),
   (WEEKDAY(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, EDATE(C2, 0), 1), 1) < 6) *
   (SEQUENCE(DAY(EOMONTH(C2, 0)), 1, EDATE(C2, 0), 1) >= EDATE(C2, 0) + (7 - WEEKDAY(EDATE(C2, 0), 1)))))

قم بتنسيق عمود التاريخ بما يناسبك ستظهر لك قائمة بأيام الشهر بدءا من أول يوم أحد وتجاهل يومي الجمعة والسبت

 

لإستخراج عدد الأيام المتبقية في الشهر المحدد في الخلية (C2)

=IF(C2="", "", COUNTA(FILTER(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1), (WEEKDAY(SEQUENCE(DAY(EOMONTH(C2, 0)),
 1, C2, 1), 1) <= 5) * (WEEKDAY(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1), 1) <> 7) * 
(SEQUENCE(DAY(EOMONTH(C2, 0)), 1, C2, 1) >= C2 + (7 - WEEKDAY(C2, 1))))))

بالتوفيق ........

في حالة كنت تستخدم إصدار قديم  لن تشتغل معك الصيغ. أخبرني بذالك لمحاولة إنشاء دالة أو كود vba ينفذ نفس المهمة 

أيام الشهر من يوم V2 محدد.xlsx

تم تعديل بواسطه محمد هشام.
رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information