838383mohamed قام بنشر سبتمبر 18, 2013 مشاركة قام بنشر سبتمبر 18, 2013 اريد دالة اكسل للجمع بشرط فاذا تحقق الشرط تجمع الخلايا المفلترة فقط يعني subtotal داخلها Sumif =(SUBTOTAL(9;(sumif(g3:g8000;"200 مم";h3:h8000)))) لكن هذه الصيغه لا يقبلها اكسل حيث انه يريد بدل هذا الجزء (sumif(g3:g8000; يريد (g3:g8000 فقط رابط هذا التعليق شارك More sharing options...
838383mohamed قام بنشر سبتمبر 18, 2013 الكاتب مشاركة قام بنشر سبتمبر 18, 2013 رابط هذا التعليق شارك More sharing options...
ابو اياد ( الاسيوطى ) قام بنشر سبتمبر 18, 2013 مشاركة قام بنشر سبتمبر 18, 2013 الاخ العزيز ارجو ارفاق ملف رابط هذا التعليق شارك More sharing options...
الـعيدروس قام بنشر سبتمبر 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 رابط هذا التعليق شارك More sharing options...
الـعيدروس قام بنشر سبتمبر 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 رابط هذا التعليق شارك More sharing options...
838383mohamed قام بنشر سبتمبر 19, 2013 الكاتب مشاركة قام بنشر سبتمبر 19, 2013 الاخ الكريم ( طالب علم مجتهد ) بارك الله فيك ونفع بك وجعله زخرا لك يوم القيامة لكن رجاء لا امرا ... انا اريد الدالة بنفس صيغة Sumif يعني يكون الشرط من عمود مقابل للعمود المراد الجمع منه بحيث اذا طبق الشرط في عمود مثلا G3 فيحسب في الجمع الخانة H3 جزاك الله خيرا مرفق ملف sheet.rar رابط هذا التعليق شارك More sharing options...
ابو اياد ( الاسيوطى ) قام بنشر سبتمبر 19, 2013 مشاركة قام بنشر سبتمبر 19, 2013 الاخ العزيز جرب استخدام subtotal فقط مع استخدام الفلاتر لتاريخ التنفيذ والطول م.ط جرب واعلمنى بالنتيجة sheet2.rar رابط هذا التعليق شارك More sharing options...
الـعيدروس قام بنشر سبتمبر 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 رابط هذا التعليق شارك More sharing options...
838383mohamed قام بنشر سبتمبر 19, 2013 الكاتب مشاركة قام بنشر سبتمبر 19, 2013 الاستاذ ابو اياد ... جزاك الله خيرا لاهتمامك ... لا يمكن استخدام subtotal فقط لانها تجمع بدون شرط ... جزيت الجنة رابط هذا التعليق شارك More sharing options...
838383mohamed قام بنشر سبتمبر 19, 2013 الكاتب مشاركة قام بنشر سبتمبر 19, 2013 (معدل) الاخ ( عباد) ... بارك الله فيك الدالة تعمل بشكل ممتاز جزاك الله خيرا علي المساعده وبارك الله فيك وجعلك من عباده المخلصين تم تعديل سبتمبر 19, 2013 بواسطه 838383mohamed رابط هذا التعليق شارك More sharing options...
الردود الموصى بها
من فضلك سجل دخول لتتمكن من التعليق
ستتمكن من اضافه تعليقات بعد التسجيل
سجل دخولك الان