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

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

قام بنشر

اريد دالة اكسل للجمع بشرط فاذا تحقق الشرط تجمع الخلايا المفلترة فقط يعني 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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information