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

(تمت الاجابة) معادلة لحساب اليوم الأكثر غيابا للعامل


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

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

المطلوب:

1-عمل معادلة فى خليه ag7 تقوم بحساب اليوم الأكثر غيابا لهذا العامل وتكتبه (Saturday,Sunday,..)

2- كتابه عدد أيام تكرار العامل فى خليه ah7 فى غيابه لهذا اليوم

انظر المرفق

Max_Req.rar

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

تفضل أخي الكريم

تم التحايل على الموضوع بحيلة بسيطة وهي عمل جدول يخص عدد مرات الغياب لكل يوم من أيام الأسبوع ثم إحضار اسم اليوم الذي يحتوي على أكبر عدد

وربما يكون لدى الإخوة حلول أخرى

mas_Max_Req.rar

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

حل رائع أخى ماس

اولا: ألا يمكن اختصار هذا الجدول ووضعه فى خليه الحساب نفسها Ag7 لتبسيط الموضوع

ثانياً: وبالنسبة لمعادلة العد أنا اريدها أن تعد عدد مرات تكرار اليوم نفسه الذى طلع نتيجة للمعادلة الأولى الخاصة ب

(حساب اليوم الأكثر غيابا لهذا العامل)

وشكرا

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

عذرا أخي الكريم لعدم فهمي المطلوب الخاص بعدد مرات غياب اليوم نفسه

ولعمل هذا ضع هذه المعادلة في الخلية h7


=IF(MAX(AI7:AO7)>0;INDEX(AI7:AO7;MATCH(AG7;$AI$6:$AO$6;0));0)

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

مع إمكانية حدوثها إن شاء الله

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

شكرا أخى ماس للمعادلة ولكن أرجو أن تنفذ طلبى الآخر سريعاً وهو

ألا يمكن اختصار هذا الجدول ووضعه فى خليه الحساب نفسها Ag7 لتبسيط الموضوع

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

السلام عليكم

بعد الشكر للاماسة الاستاذ محمد صالح

=====

هذا حل لما تطلبه

قدمه أمبراطور معادلات الصفيف الاستاذ يحيى حسين في موقعه واضعه هنا للفائدة

ضع هذه المعادلة في الخلية AG7 ولا تنسى انها معادلة صفيف (Ctrl + Shift +Enter)


=INDEX($B$5:$W$5;LARGE(IF(FREQUENCY(IF($B7:$AE7="x";MATCH($B$5:$AE$5;$B$5:$AE$5;0));TRANSPOSE(COLUMN($B7:$AE7)-COLUMN($B7)+1));TRANSPOSE(COLUMN($B7:$AE7)-COLUMN($B7)+1));COLUMNS($B$13:B13)))

وهذه المعادلة ستضعها في الخلية AH7

=SUMPRODUCT(--($B7:$AE7="x");--($B$5:$AE$5=$AG7))

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

السلام عليكم

بعد الشكر للاماسة الاستاذ محمد صالح

=====

هذا حل لما تطلبه

قدمه أمبراطور معادلات الصفيف الاستاذ يحيى حسين في موقعه واضعه هنا للفائدة

ضع هذه المعادلة في الخلية AG7 ولا تنسى انها معادلة صفيف (Ctrl + Shift +Enter)


=INDEX($B$5:$W$5;LARGE(IF(FREQUENCY(IF($B7:$AE7="x";MATCH($B$5:$AE$5;$B$5:$AE$5;0));TRANSPOSE(COLUMN($B7:$AE7)-COLUMN($B7)+1));TRANSPOSE(COLUMN($B7:$AE7)-COLUMN($B7)+1));COLUMNS($B$13:B13)))

وهذه المعادلة ستضعها في الخلية AH7

=SUMPRODUCT(--($B7:$AE7="x");--($B$5:$AE$5=$AG7))

بارك الله لك أخي عبد الله

ولكن هل جربت هذه المعادلة؟؟!!

جرب أن تغيب أحد الموظفين في أيام أخرى غير الأحد بحيث يكون الأحد هو الأكثر غياباً

عندي أحضرت نتائج غير صحيحة

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

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

جمعة مباركة

هذه لمسات جديدة على الكود بحيث انه لا يعتمد على الصف الثالث في العد




Option Explicit

Option Compare Text


Sub kh_MaxContDay()

Dim i As Integer

For i = 7 To Range("B" & Rows.Count).End(xlUp).Row

	MaxContDay i

Next

End Sub


'=========================================


Sub MaxContDay(iRow As Integer)

Dim kh, sp

Dim MyArr As String, Myitem As String

Dim c As Integer, x As Integer, r As Integer


For Each kh In Range("B5:AE5").Cells

	If Cells(iRow, kh.Column).Value = "x" Then

		MyArr = MyArr & Trim(kh) & " "

	End If

Next

sp = Split(Trim(MyArr)): c = UBound(sp) + 1

If c Then

	For Each kh In sp

		x = UBound(Filter(sp, CStr(kh))) + 1

		If x > r Then r = x: Myitem = kh

	Next

End If

Cells(iRow, "AG").Value = Myitem

Cells(iRow, "AH").Value = c

End Sub



المرفق اكسل 2003

اكبر يوم مكرر.rar

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

السلام عليكم

استاذ محمد صالح شكر لك وجزاك الله خير

استاذ عبدالله المجرب احسنت وفقك الله

الاستاذ والعالم خبور خير مااروعك جزاك الله خير

تقبلو مروري

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

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

هذان حلان بالمعادلات

الأول للأخ الخالدي وضعه في موقعي و هو يعمل فقط مع نسخة 2007 و 2010


=OFFSET($B$5;0;MAX((COUNTIFS($B$5:$AE$5;$B$5:$AE$5;B7:AE7;"x")=MAX(COUNTIFS($B$5:$AE$5;$B$5:$AE$5;B7:AE7;"x")))*(COLUMN($B$5:$AE$5)))-2)

و هذا حل آخر مكمل لحلي السابق يعمل مع جميع النسخ

=IF(COUNTIF($B7:$AE7,"x")=0,"",IF(SUM(IF(FREQUENCY(IF($B7:$AE7<>"",IF($B7:$AE7="x",

MATCH($B$5:$AE$5,$B$5:$AE$5,0))),COLUMN($B7:$AE7)-COLUMN($B7)+1),1))=

COUNTIF($B7:$AE7,"x"),INDEX($B$5:$AE$5,MATCH("x",$B7:$AE7,0)),

INDEX($B$5:$AE$5,MATCH(TRUE,($B7:$AE7="X")*MATCH($B$5:$AE$5,$B$5:$AE$5,0)=

MODE(IF(($B7:$AE7="X")*MATCH($B$5:$AE$5,$B$5:$AE$5,0)>0,($B7:$AE7="X")

*MATCH($B$5:$AE$5,$B$5:$AE$5,0))),0)))) 

و الحلان عبارة عن معادلات صفيف

يجب الضغط على Ctrl+Shift+Enter

و هذا رابط السؤال مع الحلول

http://excel4us.com/vb/showthread.php?t=2257

دمتم في حفظ الله

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

بسم الله الرحمن الرحيم

تكملة لمشوار الأساتذة

وتجميعاً للجهود قمت بهذا العمل التجميعي

وبعد إذن أخونا خبور خير

تم تعديل الكود الخاص به كدالة

mas_Max_Req1.rar

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

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

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



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

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

Important Information