اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

حساب المتوسط من اول رقم بعد الصفر


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

 جرب هذا الماكرو (استبدل اسم الشيت إلى 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

رابط هذا التعليق
شارك

4 دقائق مضت, إيهاب عبد الحميد said:

السلام عليكم أساتذتنا الأفاضل 
تحية أ/ سليم
 

 لإثراء الموضوع يمكن عمل ذلك بالدوال عن طريق الصيغة الآتية

=AVERAGE(INDEX(A2:L2;AGGREGATE(15;6;COLUMN(A2:L2)/(A2:L2<>0);1)):L2)

استاذ ايهاب 

خطرت على بالي هذه المعادلة  لكن تغاضيت عنها خوفاً من ان اصدار الاكسل عند السائل أقل من 2007

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information