Thống kê theo Max và Min

Liên hệ QC

taibalem0711

Thành viên mới
Tham gia
3/6/13
Bài viết
39
Được thích
1
Em có file thống kê theo SP và SL, giờ em muốn tổng hợp SL MAX và MIN theo cột SP. Mong các a/c giúp giùm em.
 

File đính kèm

  • Max&Min.xlsx
    10.3 KB · Đọc: 13
Em có file thống kê theo SP và SL, giờ em muốn tổng hợp SL MAX và MIN theo cột SP. Mong các a/c giúp giùm em.

Mã:
Option Explicit


Public Sub GPE()
Dim Dic As Object, Tem As String
Dim Arr, dArr, I As Long, J As Long, K As Long, DMaxMin As Double
Arr = Sheet1.Range("A6", Sheet1.Range("A65000").End(3)).Resize(, 2).Value2
ReDim dArr(1 To UBound(Arr), 1 To 3)
Set Dic = CreateObject("Scripting.Dictionary")
For I = 1 To UBound(Arr)
Tem = Arr(I, 1)
DMaxMin = Arr(I, 2)
    If Dic.Exists(Tem) Then
        If dArr(Dic.Item(Tem), 2) < DMaxMin Then
            dArr(Dic.Item(Tem), 2) = DMaxMin
        End If
        If dArr(Dic.Item(Tem), 3) > DMaxMin Then
            dArr(Dic.Item(Tem), 3) = DMaxMin
        End If
    Else
        K = K + 1
        Dic.Add Tem, K
            dArr(K, 1) = Arr(I, 1)
        For J = 2 To 3
            dArr(K, J) = DMaxMin
        Next J
    End If
Next I
    Sheet1.Range("D6:F11").ClearContents
    Sheet1.Range("D6").Resize(K, 3).Value = dArr
Set Dic = Nothing
End Sub
 
Bạn ơi sao mình dùng ct =MAX(IF($A$6:$A$39=$D6,$B$6:$B$39,"")) mà nó toàn ra là số 0 không vậy?. Bạn xem lại giùm mình với được không?
 

File đính kèm

  • Max&Min.xlsx
    10.4 KB · Đọc: 11
Bạn ơi sao mình dùng ct =MAX(IF($A$6:$A$39=$D6,$B$6:$B$39,"")) mà nó toàn ra là số 0 không vậy?. Bạn xem lại giùm mình với được không?

- Công thức từ D6:D9 của bạn bị lỗi Circular.
- Công thức ô E6 là công thức mảng, phải ấn 3 phím Ctrl+Shift+Enter.
 
Bạn ơi sao mình dùng ct =MAX(IF($A$6:$A$39=$D6,$B$6:$B$39,"")) mà nó toàn ra là số 0 không vậy?. Bạn xem lại giùm mình với được không?

Uh, mình cũng không biết lỗi do đâu mà thử cũng không được.

Nếu bạn chưa khắc phục được thì bạn thay công thức cũ tại cột D thành như vầy là được luôn ha:

Mã:
=IFERROR(INDEX($A$6:$A$39,MATCH(0,COUNTIF($D$5:D5,$A$6:$A$39),0)),"")
 
Nếu thấy công thức khó khăn thì có thể sử dụng Pivot table cũng được, nhanh gọn lẹ
 
Web KT
Back
Top Bottom