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

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

قام بنشر

اريد دالة اكسل للجمع بشرط فاذا تحقق الشرط تجمع الخلايا المفلترة فقط يعني subtotal داخلها Sumif

=(SUBTOTAL(9;(sumif(g3:g8000;"200 مم";h3:h8000))))
 

 

لكن هذه الصيغه لا يقبلها اكسل حيث انه يريد بدل هذا الجزء (sumif(g3:g8000;   يريد  (g3:g8000 فقط

قام بنشر

السلام عليكم

 

إستخدام المعادلة المركبة

كالتالي

=Sum_Ali(G3:G26;"200 مم")
Public Function Sum_Ali(rng As Range, الشرط$) As Double
Dim Irn As Range
Dim Cn#
Application.Volatile
'**************
 S$ = الشرط '"200 مم"
'**************
 For Each Irn In rng
    If Irn = S Then
     If Irn.Rows.Hidden = 0 Then
      Cn = Cn + Val(Irn.Offset(0, 1))
     End If
    End If
 Next
 Sum_Ali = Cn
End Function
قام بنشر

او هكذا

Public Function Sum_Ali(rng As Range, الشرط$) As Double
Dim Rr As Range
Dim Irn As Range
Application.Volatile
'**************
 s$ = الشرط '"200 مم"
'**************
 For Each Irn In rng
    If Irn = s And Not Irn.Rows.Hidden Then
     If Not Rr Is Nothing Then
       Set Rr = Union(Rr, Irn.Offset(0, 1))
        Else
       Set Rr = Irn.Offset(0, 1)
     End If
     End If
 Next
 Sum_Ali = Application.Sum(Rr)
End Function
قام بنشر

الاخ الكريم ( طالب علم مجتهد )

بارك الله فيك ونفع بك وجعله زخرا لك يوم القيامة 

لكن رجاء لا امرا ... انا اريد الدالة بنفس صيغة Sumif

يعني يكون الشرط من عمود مقابل للعمود المراد الجمع منه بحيث اذا طبق الشرط في عمود مثلا G3 فيحسب في الجمع الخانة  H3



جزاك الله خيرا  

 

مرفق ملف 


 

sheet.rar

قام بنشر

تفضل 

Public Function Sum_Ali(rng As Range, الشرط$) As Double
Dim Rr As Range
Dim Irn As Range
Application.Volatile
'**************
 s$ = الشرط '"200 مم"
'**************
 For Each Irn In rng
    If Irn = s Then
     If Not Rr Is Nothing Then
       Set Rr = Union(Rr, Irn.Offset(0, 1))
        Else
       Set Rr = Irn.Offset(0, 1)
     End If
     End If
 Next
 Sum_Ali = Application.Subtotal(9, Rr)
End Function

قام بنشر (معدل)

الاخ ( عباد) ... بارك الله فيك 

الدالة  تعمل بشكل ممتاز

 

جزاك الله خيرا علي المساعده وبارك الله فيك وجعلك من عباده المخلصين


 

تم تعديل بواسطه 838383mohamed

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

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

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information