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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information