838383mohamed قام بنشر سبتمبر 18, 2013 قام بنشر سبتمبر 18, 2013 اريد دالة اكسل للجمع بشرط فاذا تحقق الشرط تجمع الخلايا المفلترة فقط يعني subtotal داخلها Sumif =(SUBTOTAL(9;(sumif(g3:g8000;"200 مم";h3:h8000)))) لكن هذه الصيغه لا يقبلها اكسل حيث انه يريد بدل هذا الجزء (sumif(g3:g8000; يريد (g3:g8000 فقط
الـعيدروس قام بنشر سبتمبر 18, 2013 قام بنشر سبتمبر 18, 2013 السلام عليكم إستخدام المعادلة المركبة كالتالي =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
الـعيدروس قام بنشر سبتمبر 18, 2013 قام بنشر سبتمبر 18, 2013 او هكذا 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
838383mohamed قام بنشر سبتمبر 19, 2013 الكاتب قام بنشر سبتمبر 19, 2013 الاخ الكريم ( طالب علم مجتهد ) بارك الله فيك ونفع بك وجعله زخرا لك يوم القيامة لكن رجاء لا امرا ... انا اريد الدالة بنفس صيغة Sumif يعني يكون الشرط من عمود مقابل للعمود المراد الجمع منه بحيث اذا طبق الشرط في عمود مثلا G3 فيحسب في الجمع الخانة H3 جزاك الله خيرا مرفق ملف sheet.rar
ابو اياد ( الاسيوطى ) قام بنشر سبتمبر 19, 2013 قام بنشر سبتمبر 19, 2013 الاخ العزيز جرب استخدام subtotal فقط مع استخدام الفلاتر لتاريخ التنفيذ والطول م.ط جرب واعلمنى بالنتيجة sheet2.rar
الـعيدروس قام بنشر سبتمبر 19, 2013 قام بنشر سبتمبر 19, 2013 تفضل 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 قام بنشر سبتمبر 19, 2013 الكاتب قام بنشر سبتمبر 19, 2013 الاستاذ ابو اياد ... جزاك الله خيرا لاهتمامك ... لا يمكن استخدام subtotal فقط لانها تجمع بدون شرط ... جزيت الجنة
838383mohamed قام بنشر سبتمبر 19, 2013 الكاتب قام بنشر سبتمبر 19, 2013 (معدل) الاخ ( عباد) ... بارك الله فيك الدالة تعمل بشكل ممتاز جزاك الله خيرا علي المساعده وبارك الله فيك وجعلك من عباده المخلصين تم تعديل سبتمبر 19, 2013 بواسطه 838383mohamed
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.