طالب للعلم قام بنشر مارس 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
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.