Hàm Large VBA Excel trả về giá trị lớn thứ K của tập dữ liệu. Bạn có thể dùng hàm này để chọn một giá trị dựa vào vị trí tương đối của nó. Ví dụ, bạn có thể dùng hàm LARGE để trả về điểm cao nhất, cao thứ nhì và cao thứ ba.
Cú pháp:
Large(Arg1, Arg2 As Double) As Double
Trong bài viết này, UniTrain sẽ giới thiệu 4 ví dụ ứng dụng hàm VBA Large trong Excel:
1. Tìm giá trị cao nhất trong một phạm vi.
2. Nhận giá trị thấp nhất.
3. Tìm 3 giá trị cao nhất trong tập dữ liệu
4. Cách kết hợp hàm Large với hàm VBA XLOOKUP để tra tên nhân viên đạt doanh số cao nhất.
1. Tìm giá trị cao nhất bằng hàm Large VBA Excel
Giả sử có tập dữ liệu (như hình dưới). Người dùng sẽ sử dụng hàm Excel VBA Large để trả về giá trị bán hàng cao nhất.
Cách thao tác:
Bước 1: Nhấn ALT + F11 để mở cửa sổ VBA.
Bước 2: Chọn Insert > Module.
Bước 3: Nhập mã dưới đây:
Option Explicit
Sub Highest_Sales()
Worksheets("Highest").Activate
Range("C12") = WorksheetFunction.Large(Range("D5:D10"), 1)
Range("C12").NumberFormat = "$#,##0"
End Sub
Bước 4: Nhấn F5 để chạy mã.
Sau khi thao tác, bạn sẽ thấy giá trị bán hàng cao nhất hiển thị trong ô C12 (như hình dưới).
2. Tìm giá trị thấp nhất
Trong ví dụ này, người dùng sẽ sử dụng hàm VBA Large để tìm giá trị bán hàng thấp nhất bằng cách thao tác:
Bước 1: Nhấn ALT + F11 để mở cửa sổ VBA
Bước 2: Chọn Insert > Module.
Bước 3: Nhập mã dưới đây:
Option Explicit
Sub Lowest_Sales()
Worksheets("Lowest").Activate
Dim xs As Double
' Finding the total number of rows
xs = Range("D5:D10").Rows.Count
Range("C12") = WorksheetFunction.Large(Range("D5:D10"), xs)
Range("C12").NumberFormat = "$#,##0"
End Sub
Bước 4: Nhấn F5 để chạy mã.
Sau đó, giá trị bán hàng thấp nhất sẽ hiển thị trong ô C12.
3. Tìm 3 giá trị cao nhất trong tập dữ liệu
Giả sử có tập dữ liệu (như hình dưới).
Người dùng sẽ sử dụng hàm VBA Large để tìm ba giá trị bán hàng cao nhất bằng cách thao tác:
Bước 1: Nhấn ALT + F11 để mở cửa sổ VBA
Bước 2: Chọn Insert > Module.
Bước 3: Nhập mã dưới đây:
Option Explicit
Sub Top3_Sales()
Worksheets("Top 3").Activate
Dim rIndex As Integer
For rIndex = 12 To 14
Cells(rIndex, 3) = WorksheetFunction.Large(Range("D5:D10"), rIndex - 11)
Cells(rIndex, 3).NumberFormat = "$#,##0"
Next rIndex
End Sub
Bước 4: Nhấn F5 để chạy mã.
Cuối cùng, 3 giá trị cao nhất trong tập dữ liệu sẽ hiển thị (như hình dưới).
4. Kết hợp hàm Large với XLookup để tra cứu giá trị cao nhất
Trong ví dụ cuối này, UniTrain sẽ hướng dẫn bạn cách sử dụng hàm VBA Large với hàm XLookup để tìm tên nhân viên đạt doanh số cao nhất. Người dùng có tập dữ liệu dưới đây:
Cách thao tác:
Bước 1: Nhấn ALT + F11 để mở cửa sổ VBA.
Bước 2: Chọn Insert > Module.
Bước 3: Nhập mã dưới đây:
Option Explicit
Sub Highest_Sales_Employee_Name()
Worksheets("HS Employee").Activate
Dim lValue As Long
lValue = WorksheetFunction.Large(Range("D5:D10"), 1)
Range("C12") = WorksheetFunction.XLookup(lValue, Range("D5:D10"), Range("B5:B10"))
Range("C12").NumberFormat = "$#,##0"
End Sub
Bước 4: Nhấn F5 để chạy mã.
Cuối cùng, kết quả sẽ hiển thị như hình dưới đây:
Xem thêm
Khóa học Ứng dụng VBA trong Excel
Cách dùng tính năng EVALUATE trong VBA Excel
Cách dùng tính năng FORECAST trong VBA Excel
[Free download] 100 Excel VBA Simulations