تابع index برای داده های تکراری

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • fimani119

    • 2018/11/10
    • 27
    • 29.00

    [حل شده] تابع index برای داده های تکراری

    سلام دوستان
    در فایل پیوست میخوام اسم افرادی که max , min مبلغ و امتیاز رو گرفتن در جدول سمت راست چیده بشه مشکلم اینه که ممکنه از مقدار داده ها به صورت تکراری در ستون مبلغ و امتیاز هر ماه وجود داشته باشه میخوام تمام افرادی که مبلغ max , min رو دریافت کردن در یک سلول بطوریکه بینشون خط تیره یا کاما وجود داشته باشه بشینه.
    کد ماکرویی که نوشتم به صورت زیر هست که اولین فردی که ماکسیسم و مینیمم گرفته رو خروجی میده.


    Sub minmaxavrg3()
    '
    ' minmaxavrg Macro
    '
    ' Keyboard Shortcut: Ctrl+g
    '


    z1 = Cells(Rows.Count, "A").End(xlUp).Row
    j = 4
    For i = 32 To 43
    j = j + 2
    Cells(4, i) = Application.Min(Range(Cells(4, j), Cells(z1, j)))
    Cells(5, i) = Application.Average(Range(Cells(4, j), Cells(z1, j)))
    Cells(6, i) = Application.Max(Range(Cells(4, j), Cells(z1, j)))


    Next i


    j = 5
    For i = 32 To 43
    j = j + 2
    Cells(9, i) = Application.Min(Range(Cells(4, j), Cells(z1, j)))
    Cells(10, i) = Application.Average(Range(Cells(4, j), Cells(z1, j)))
    Cells(11, i) = Application.Max(Range(Cells(4, j), Cells(z1, j)))


    Next i


    For m = 4 To 5
    k = 4
    For i = 32 To 43
    k = k + 2
    x1 = Range(Cells(4, 2), Cells(z1, 2))
    x2 = Cells(m, i)
    x3 = Range(Cells(4, k), Cells(z1, k))


    If m = 4 Then
    Cells(m, i + 14) = Application.Index(x1, Application.Match(x2, x3, 0))
    Else
    x2 = Cells(m + 1, i)
    Cells(m, i + 14) = Application.Index(x1, Application.Match(x2, x3, 0))
    End If


    Next i
    Next m




    For m = 9 To 10
    k = 5
    For i = 32 To 43
    k = k + 2
    x1 = Range(Cells(4, 2), Cells(z1, 2))
    x2 = Cells(m, i)
    x3 = Range(Cells(4, k), Cells(z1, k))


    If m = 9 Then
    Cells(m, i + 14) = Application.Index(x1, Application.Match(x2, x3, 0))
    Else
    x2 = Cells(m + 1, i)
    Cells(m, i + 14) = Application.Index(x1, Application.Match(x2, x3, 0))
    End If




    Next i
    Next m

    End Sub

    ممنون میشم راهنمایی بفرمایید.
    فایل های پیوست شده
چند لحظه..