اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
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