Trong bài viết này, chúng tôi sẽ tạo hàm tùy chỉnh để tìm các giá trị duy nhất từ ​​phạm vi đã xác định.

Dữ liệu thô cho ví dụ này bao gồm các mục nhập trùng lặp của tên quốc gia trong phạm vi A8: A21.

ArrowRawData

Giải thích logic

Chúng tôi đã tạo một hàm tùy chỉnh “UniqueItem” để trích xuất các giá trị duy nhất từ ​​phạm vi. Hàm này nhận hai tham số làm đầu vào.

Tham số đầu tiên là phạm vi bao gồm dữ liệu trùng lặp và tham số thứ hai xác định số chỉ mục của một giá trị duy nhất trong tập hợp duy nhất.

Hàm này trả về giá trị duy nhất từ ​​phạm vi dựa trên số chỉ mục. Tham số thứ hai là tham số tùy chọn, nếu tham số thứ hai không được chỉ định thì hàm trả về số giá trị duy nhất trong phạm vi đã xác định.

Nếu giá trị được xác định cho tham số thứ hai lớn hơn số giá trị duy nhất trong phạm vi thì giá trị duy nhất cuối cùng được hàm trả về.

ArrowOutput

Giải thích mã

Khi bị lỗi Tiếp tục lại cho mỗi CellValue trong InputRange CUnique.Add CellValue.Value, CStr (CellValue.Value)

[_GoBack] # Tiếp theo Lỗi GoTo 0 Mã trên được sử dụng để tạo đối tượng tập hợp sẽ chứa một giá trị duy nhất từ ​​phạm vi đã xác định. Câu lệnh “On Error” được sử dụng để xử lý lỗi, vì khi mã cố gắng đưa các giá trị trùng lặp vào bộ sưu tập, bộ sưu tập sẽ tạo ra lỗi.

Vui lòng theo dõi bên dưới để biết mã

Option Explicit

Function UniqueItem(InputRange As Range, Optional ItemNo As Integer = 0) As Variant

Dim CellValue As Range

Dim CUnique As New Collection

Dim UCount As Integer

On Error Resume Next

'Adding unique items to collection from defined range

For Each CellValue In InputRange

CUnique.Add CellValue.Value, CStr(CellValue.Value)

Next

On Error GoTo 0

'Getting count of unique item in the collection

UCount = CUnique.Count

If ItemNo = 0 Then

'Returning count of unique item

UniqueItem = UCount

ElseIf ItemNo <= UCount Then

'Returning unique value based on item number

UniqueItem = CUnique(ItemNo)

Else

'Returning last unique value

UniqueItem = CUnique(UCount)

End If

End Function

Nếu bạn thích blog này, hãy chia sẻ nó với bạn bè của bạn trên Facebook và Facebook.

Chúng tôi rất muốn nghe ý kiến ​​từ bạn, hãy cho chúng tôi biết cách chúng tôi có thể cải thiện công việc của mình và làm cho nó tốt hơn cho bạn. Viết thư cho chúng tôi [email protected]