طالب للعلم قام بنشر مارس 17, 2019 قام بنشر مارس 17, 2019 السلام عليكم ورحمة الله وبركاته الرجاء من اساتذتي مساعدتي في الحل حساب المتوسط من أول رقم.xlsx
سليم حاصبيا قام بنشر مارس 17, 2019 قام بنشر مارس 17, 2019 جرب هذا الماكرو (استبدل اسم الشيت إلى salim ) Option Explicit Sub crazy_average() Dim m%, nRow%, nCol%, j%, _ i%, My_Col%, s#, All_col% Dim Rg As Range Dim Answer# With Sheets("salim") With .Range("a2").CurrentRegion nRow = .Rows.Count nCol = .Columns.Count - 1 m = .Cells(1, 1).Row + 1 End With For j = 2 To nRow% For i = 1 To nCol '========================= If .Cells(j, i) <> 0 Then My_Col = .Cells(j, i).Column Set Rg = .Range(Cells(j, My_Col), Cells(j, nCol)) All_col = nCol - IIf(My_Col = 1, 0, My_Col) s = Application.Sum(Rg) Answer = s / IIf(All_col = nCol, nCol, All_col + 1) .Cells(m, nCol + 1) = Answer m = m + 1 Exit For End If '======================== Next Next End With End Sub الملف مرفق Average_special.xlsm
إيهاب عبد الحميد قام بنشر مارس 17, 2019 قام بنشر مارس 17, 2019 السلام عليكم أساتذتنا الأفاضل تحية أ/ سليم لإثراء الموضوع يمكن عمل ذلك بالدوال عن طريق الصيغة الآتية =AVERAGE(INDEX(A2:L2;AGGREGATE(15;6;COLUMN(A2:L2)/(A2:L2<>0);1)):L2) 1
سليم حاصبيا قام بنشر مارس 17, 2019 قام بنشر مارس 17, 2019 4 دقائق مضت, إيهاب عبد الحميد said: السلام عليكم أساتذتنا الأفاضل تحية أ/ سليم لإثراء الموضوع يمكن عمل ذلك بالدوال عن طريق الصيغة الآتية =AVERAGE(INDEX(A2:L2;AGGREGATE(15;6;COLUMN(A2:L2)/(A2:L2<>0);1)):L2) استاذ ايهاب خطرت على بالي هذه المعادلة لكن تغاضيت عنها خوفاً من ان اصدار الاكسل عند السائل أقل من 2007
إيهاب عبد الحميد قام بنشر مارس 17, 2019 قام بنشر مارس 17, 2019 أنا أشرف إنه يمكن ان يكون توارد خواطر بيننا فأنت قامة عالية في عالم الإكسيل 1
الردود الموصى بها
انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد
يجب ان تكون عضوا لدينا لتتمكن من التعليق
انشئ حساب جديد
سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .
سجل حساب جديدتسجيل دخول
هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.
سجل دخولك الان