وعليكم السلام-أهلاً بك فى المنتدى -يمكنك استخدام هذه المعادلة لحساب التأخير
=IF($D10<$M$12,"",(D10-$M$12))
وهذه لحساب الإضافى
=IF(F10=0,"",IF($E10<$M$13,0,$E10-$M$13))
وتم وضع المعادلات بالجدول الأول , فعليك بتعميم هذه المعادلات بباقى الجداول
رواتب واجور2021 - يناير.xlsx
أحسنت استاذ سليم عمل ممتاز بارك الله فيك وجعله الله فى ميزان حسناتك
الأمر بسيط yasse.w.2010
عليك بتغيير هذا الصف من كود الحذف
ws.Cells(FR.Row, 1).Resize(, 7).Delete
واستبداله بهذا
ws.Cells(FR.Row, 1).Resize(, 7).ClearContents
بعد اذن الأستاذ حسين ولإثراء الموضوع يمكنك هذا بهذه المعادلة
=IFERROR(IF(B2="عام",VLOOKUP($E2&"/"&$D2,الحالة!$N$2:$Q$80,2,0),VLOOKUP($E2&"/"&$D2,الحالة!$H$2:$K$80,2,0)),"")
المنتوج+المحور+الاستحقاق1.xlsx
بارك الله فيك استاذ ماجد وزادك الله من فضله ومزيد من النجاح والتفوق دائماً ... ونتمنى من الله ان نرى ايضاً اسهاماتك ومساعداتك فى حل مشاكل وتساؤلات الأعضاء أيضاً وجزاك الله كل خير ورحم الله والديك
بعد اذن الأستاذ خيماوى ولإثراء الموضوع يمكن ذلك بهذه المعادلة المعرفة MYVLOOKUP
فعليك بفتح مديول جديد ووضع هذا الكود به
وبالطبع فمعادلة الأستاذ خيماوى تعمل بكفاءة ولكن يظهر هذا الخطأ معك لأنك لم تستخدمة نسخة 365 من الأوفيس فهذه المعادلة موجودة بهذه النسخة فقط
Function MYVLOOKUP(lookupval, lookuprange As Range, indexcol As Long)
Dim r As Range
Dim result As String
result = ""
For Each r In lookuprange
If r = lookupval Then
result = result & " " & r.Offset(0, indexcol - 1)
End If
Next r
MYVLOOKUP = result
End Function
وعليك بوضع هذه المعادلة بداية من الخلية J7 سحباً للأسفل
=MYVLOOKUP($I7,$D$6:$E$190,2)
ورقة عمل Microsoft Excel جديد __.xlsm