اذهب الي المحتوي
أوفيسنا

أ / محمد صالح

أوفيسنا
  • Posts

    4,444
  • تاريخ الانضمام

  • Days Won

    192

كل منشورات العضو أ / محمد صالح

  1. هذه محاولة للوصول للهدف بمعادلة طويلة شيئا ما وساعد في تقصيرها تغيير شكل جدول المواد =IFERROR( if(INDEX(Liste!E$6:E$140,MATCH($B9,Liste!$J$6:$J$524,0))=0,"", if(INDEX(Liste!E$6:E$140,MATCH($B9,Liste!$J$6:$J$524,0))=1,INDEX(timetable!$d$2:$o$11,MATCH(E$8,timetable!$b$2:$b$11,0),MATCH($C9,timetable!$d$1:$o$1,0)), if(INDEX(Liste!E$6:E$140,MATCH($B9,Liste!$J$6:$J$524,0))=2,INDEX(timetable!$d$2:$o$11,MATCH(E$8,timetable!$b$2:$b$11,0)+1,MATCH($C9,timetable!$d$1:$o$1,0)), INDEX(timetable!$d$2:$o$11,MATCH(E$8,timetable!$b$2:$b$11,0),MATCH($C9,timetable!$d$1:$o$1,0))&" و "&INDEX(timetable!$d$2:$o$11,MATCH(E$8,timetable!$b$2:$b$11,0)+1,MATCH($C9,timetable!$d$1:$o$1,0)) ))),"") مع ملاحظة تطابق القسم بجوار اسم الطالب مع الموجود في الجدول وضرورة ضبط أرقام الغياب حيث تم وضع غياب في مادة ثانية ولا يوجد في الجدول مادة في هذا الوقت بالتوفيق استعمال الزمن اختبارات.xlsx
  2. تم استخدام عمود مساعد لعمل الفلتر بدون معادلة مصفوفات بالتوفيق استعمال الزمن اختبارات.xlsx
  3. يمكنك استعمال هذه المعادلة في الخلية D4 =IFERROR(IF(INDEX(البصمات!$F:$F,MATCH($C$1&$B4,البصمات!$A:$A,0))="","",INDEX(البصمات!$F:$F,MATCH($C$1&$B4,البصمات!$A:$A,0))),"") وهي تعني إذا كانت نتيجة البحث فراغ تكون الخلية فارغة وليست صفرا ويمكنك تعديل معادلة الخلية E4 بنفس الطريقة بالتوفيق
  4. استكمالا لجهود الزملاء الأعزاء إذا كان لديك أوفيس 2021 أو 365 يمكنك وضع هذه المعادلة في I2 =UNIQUE($B$2:$D$16) أو يمكنك تعديل الإجراء المقدم من أخينا @محي الدين ابو البشر إلى Sub test() Dim a, T As String, i& a = Sheets("aaa").Cells(1).CurrentRegion With CreateObject("scripting.dictionary") For i = 2 To UBound(a) T = a(i, 2) & a(i, 3) & a(i, 4) If Not .exists(T) Then .Add T, Array(.Count + 1, a(i, 2), a(i, 3), a(i, 4)) End If Next i Sheets("aaa").Cells(2, 9).Resize(.Count, UBound(a, 2)) = Application.Index(.items, 0, 0) End With End Sub ولوضع كود لكل مادة في العمود الأول يمكنك وضع هذه المعادلة في الخلية A2 مع سحبها لأسفل =IFERROR(INDEX(M$2:M$8,MATCH(B2&C2&D2,J$2:J$8&K$2:K$8&L$2:L$8,0))-1+COUNTIFS(B$2:B2,B2,C$2:C2,C2,D$2:D2,D2),"") بالتوفيق للجميع
  5. يكمن الاختلاف في: أولا: أن معادلتي على الخلية C7 وليست C10 ثانيا: ترجمة كلمة كسر السنة تم في معادلتي جبر كسر السنة إلى سنة بمعنى عدد الأيام 3142 على 360 تساوي 8.7 سنة يتم حساب 5 منهم على 15 يوم ويتم حساب 4 سنوات على 30 يوم وليس 3.7 على العموم إن كنت لا تريد جبر كسر السنة يمكنك استعمال هذه المعادلة =IF(C10/360>5,75+(C10/360-5)*30,C10/360*15)*C3/30 يفضل أن يكون المطلوب واضحا من البداية حتى لا يضيع الوقت هباء بالتوفيق
  6. إذا كتبت لنا خطوات توصلك لهذا الناتج يدويا وبالتفصيل الممل بإذن الله نتوصل لسبب الاختلاف المعادلة المذكورة مني هي ترجمة رياضية لما كتبته من شروط في المشاركة الأولى لحساب عدد الأيام أما أجر اليوم في المكافأة لم تذكر حضرتك ما يخصه وكيفية حسابه فقمت بقسمة الراتب على 30 لنصل لأجر اليوم وتم ضربه في عدد أيام المكافأة لنحصل على المكافأة
  7. تقريبا لاختلاف الفاصلة في جهازك جرب تغيير الفاصلة إلى الفاصلة المنقوطة في المعادلة
  8. لا أدري والله بعد كل هذه الحلول ألا يستطيع الأخ صاحب السؤال وضع معادلة If بشرط واحد وليس بشرطين التي علمه إياها الأستاذ محمد حسن؟؟؟ وإذا كانت الإجابة بنعم فأرجو منه أن يتعلم أساسيات الإكسل والمعادلات قبل أن يصمم أية برامج للعمل عليها بالتوفيق
  9. بعد إذن أخينا الفاضل محمد هشام هذا الكود بنفس طريقتك Sub ww() Dim sh As Worksheet, i As Double: i = 2 For Each sh In Sheets If sh.Name <> "Sheet1" And sh.Name <> "Sheet2" And sh.Name <> "Sheet3" And sh.Name <> "Sheet7" Then Sheets("Sheet1").Hyperlinks.Add Sheets("Sheet1").Cells(i, 1), "", "'" & sh.Name & "'!a1", sh.Name, sh.Name sh.Hyperlinks.Add sh.Cells(1, 5), "", "'Sheet1'!a1", "Sheet1", "رجوغ" sh.Cells(1, 5).Font.Size = 30: i = i + 1 End If Next MsgBox "Dobe by mr-mas.com" End Sub رغم أني أعتقد كان من السهل على حضرتك عمل التعديل إن كنت حضرتك صاحب الكود أما إن كنت استخدمت كود غيرك فمن الواضح أنك لم تقم بمدارسته وفهمه بالتوفيق
  10. حسب فهمي للمطلوب يمكنك استعمال هذه المعادلة في الخلية AE5 مع نسخها يسارا =IF(AE4="","", IF(AE4>30,if(COUNTIF($AE$4:AE4,">"&30)=1,25%,if(COUNTIF($AE$4:AE4,">"&30)=2,50%,if(COUNTIF($AE$4:AE4,">"&30)=3,75%,100%))), IF(AE4>15,if(COUNTIF($AE$4:AE4,">"&15)=1,10%,if(COUNTIF($AE$4:AE4,">"&15)=2,15%,if(COUNTIF($AE$4:AE4,">"&15)=3,25%,50%))), if(COUNTIF($AE$4:AE4,"<="&15)=1,5%,if(COUNTIF($AE$4:AE4,"<="&15)=2,10%,if(COUNTIF($AE$4:AE4,"<="&15)=3,20%,20%))) ))) مع تغيير تنسيق الخلايا لهذا الصف نسبة مئوية percentage بالتوفيق
  11. عليكم السلام ورحمة الله وبركاته إذا كان المقصود عدد أيام المكافأة فيمكنك حسابها بهذه المعادلة =IF(C7/360>5,75+(CEILING(C7/360,1)-5)*30,CEILING(C7/360,1)*15) وإذا كان المقصود حساب مكافأة هذه الأيام بناء على راتب الشهر المكتوب يمكنك استعمال هذه المعادلة =IF(C7/360>5,75+(CEILING(C7/360,1)-5)*30,CEILING(C7/360,1)*15)*C3/30 بالتوفيق
  12. أعتقد تأمين الخلايا في الصفحات لا يمنع البحث فيها إلا إذا ألغيت تحديد الخلايا المؤمنة في شاشة الحماية لذا يجب وضع علامة صح بجانب الاختيار الأول select locked cells / تحديد الخلايا المؤمنة حتى يمكن البحث في الصفحة رغم الحماية بالتوفيق
  13. يمكنك استعمال هذه المعالة في D2 =IFERROR(IF(MATCH(C2,'العملاء المتوفين'!$C$2:$C$1000,0),"نعم"),"لا") أو =IF(COUNTIF('العملاء المتوفين'!$C$2:$C$1000,C2)>0,"نعم","لا") بالتوفيق
  14. عليكم السلام ورحمة الله وبركاته في حالتك هذه يمكنك جعل جميع الأسماء متساوية وذلك بالبحث والاستبدال مثلا استبدال عبد ثم مسافة بعبد فقط واستبدال تاء مربوطة ومسافة بهاء ومسافة المهم أن تجتهد أن تجعل جميع الأسماء قاعدتها واحدة حتى يمكنك العمل عليها بالمعادلات أو أدوات الاكسل المتضمنة بالتوفيق
  15. أخي الكريم @2saad يبدو أن حضرتك لم تنتبه لتعديل مشاركتي بوضع كلمة val قبل قيمة مربع النص لتحويلها إلى رقم بالتوفيق
  16. يمكنك إضافة هذا الكود في حدث الخروج من جميع مربعات النصوص وهذا كود مربع النص الأول كمثال Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) Dim ws As Worksheet Set ws = Worksheets("ملف التقييم صف رابع نصف العام") If Val(Me.TextBox1.Value) > ws.Cells(10, 5).Value Then MsgBox "يجب أن تكون الدرحة أقل من أو تساوي " & ws.Cells(10, 5).Value Me.TextBox1.Value = "" Cancel = True End If End Sub وهكذا مع باقي مربعات النصوص textbox لاحظ رقم العمود 5 سيتغير ورقم التيكست بوكس 1 سيتغير أما 10 فهو رقم الصف الذي به النهاية العظمى للمادة بالتوفيق
  17. يمكنك استخدام فرز حسب النوع sort by type بالتوفيق
  18. على حسب المطلوب من ملفك يمكن نقسيمهم الى مجموعات مثلا
  19. لأن المدة أكثر من سنتين بشهر وأيام كما هو واضح في الصورة
  20. للتوصل لذلك يمكنك عمل ما يلي: * إضافة عمود قبل A وعمود قبل C * وضع هذه المعادلة في العمود A =match(b1,e:e,0) * ترتيب العمود A تصاعدي بالتوفيق
  21. عليكم السام ورحمة اله وبركاته أنا شخصيا لا ألجأ إلى الكود إلا في حالة عدم تنفيذ المطلوب بالمعادلات ولكن لا أدري لماذا حكمت بكون التنسيق الشرطي لن يفيد؟؟ يمكنك تجربة هذه المعادلة في التنسيق الشرطي =COUNTIF($F$1:$F$9,"="&I1)=0 وتطبق على I1:I100 مثلا أو أي نطاق تريده ويمكن الحصول على الكود عند تسجيل ماكرو لهذه العملية والتعديل عليه في تحديد يداية ونهاية النطاق أو المعادلة بالتوفيق
  22. جميل جدا بارك الله لك بداية موفقة بإذن الله
  23. ربما يرجع السبب لعدم ضبط اعدادات اللغة العربية في الويندوز مع تمكين المحتوى طبعا في بداية فتح الملف بالتوفيق
×
×
  • اضف...

Important Information