Option Explicit
'
'Tim Max theo dieu kien
Public Function DMax_GPE(Database As Range, Field As Long, Criteria) As Double
Dim i As Long
Dim SubData As Range
Set SubData = Range(Cells(Database.Row, Database.Column), Cells(Database.Rows.Count + Database.Row - 1, Database.Column))
DMax_GPE = WorksheetFunction.Index(Database, WorksheetFunction.Match(Criteria, SubData, 0), Field)
For i = 1 To Database.Rows.Count
If UCase(Database.Cells(i, 1)) = UCase(Criteria) And _
DMax_GPE < Database.Cells(i, Field) Then _
DMax_GPE = Database.Cells(i, Field)
Next i
End Function
'
'Tim Min theo dieu kien
Public Function DMin_GPE(Database As Range, Field As Long, Criteria) As Double
Dim i As Long
Dim SubData As Range
Set SubData = Range(Cells(Database.Row, Database.Column), Cells(Database.Rows.Count + Database.Row - 1, Database.Column))
DMin_GPE = WorksheetFunction.Index(Database, WorksheetFunction.Match(Criteria, SubData, 0), Field)
For i = 1 To Database.Rows.Count
If UCase(Database.Cells(i, 1)) = UCase(Criteria) _
And DMin_GPE > Database.Cells(i, Field) Then _
DMin_GPE = Database.Cells(i, Field)
Next i
End Function