Xin code tạo hàm lọc danh sách duy nhất (1 người xem)

  • Thread starter Thread starter tn001
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

tn001

Thành viên chính thức
Tham gia
29/12/08
Bài viết
78
Được thích
4
Em chào các anh chị Giaiphapexcel.com
Em muốn nhờ các anh chị tạo giúp hàm để em có thể lọc được danh sách duy nhấ
Ví dụ tại Ô A1 trong bảng tính excel em có bảng danh sách như sau:
A02, B1, A02, B1, 06, 05, 06 thì qua hàm sẽ lấy được giá trị duy nhất. Giả sử hàm đó tên là Hamloc thì khi dử dụng hàm ta se được
=Hamloc(A1)=A02, B1, 06, 05

Các danh sách trong Ô A1 cách nhau bởi dấu phẩy, nếu sau dấu phẩy là chuỗi rỗng hoặc không có số liệu thì loại bỏ.

Rất mong các anh các chị giúp đỡ em

Em xin cảm ơn các anh các chị
 

File đính kèm

Em chào các anh chị Giaiphapexcel.com
Em muốn nhờ các anh chị tạo giúp hàm để em có thể lọc được danh sách duy nhấ
Ví dụ tại Ô A1 trong bảng tính excel em có bảng danh sách như sau:
A02, B1, A02, B1, 06, 05, 06 thì qua hàm sẽ lấy được giá trị duy nhất. Giả sử hàm đó tên là Hamloc thì khi dử dụng hàm ta se được
=Hamloc(A1)=A02, B1, 06, 05

Các danh sách trong Ô A1 cách nhau bởi dấu phẩy, nếu sau dấu phẩy là chuỗi rỗng hoặc không có số liệu thì loại bỏ.

Rất mong các anh các chị giúp đỡ em

Em xin cảm ơn các anh các chị
Tôi có ý tưởng thế này:
+ Dùng Text To clomns để tách các chuỗi được ngăn cách bởi dấu ",".
+ Dùng Dictionary để lọc danh sách duy nhất.
+ Sau đó nối các chuỗi này lại với nhau.
--> Được kết quả mong muốn!
Bạn thử làm xem, tôi nghĩ chắc bạn cũng biết về VBA.
 
Upvote 0
Tôi có ý tưởng thế này:
+ Dùng Text To clomns để tách các chuỗi được ngăn cách bởi dấu ",".
+ Dùng Dictionary để lọc danh sách duy nhất.
+ Sau đó nối các chuỗi này lại với nhau.
--> Được kết quả mong muốn!
Bạn thử làm xem, tôi nghĩ chắc bạn cũng biết về VBA.

Bác ơi bác giúp em với, em chỉ biết sử dụng thôi, em không biết về VBA bác ạ, em là dân kinh tế :-)
 
Upvote 0
Em chào các anh chị Giaiphapexcel.com
Em muốn nhờ các anh chị tạo giúp hàm để em có thể lọc được danh sách duy nhấ
Ví dụ tại Ô A1 trong bảng tính excel em có bảng danh sách như sau:
A02, B1, A02, B1, 06, 05, 06 thì qua hàm sẽ lấy được giá trị duy nhất. Giả sử hàm đó tên là Hamloc thì khi dử dụng hàm ta se được
=Hamloc(A1)=A02, B1, 06, 05

Các danh sách trong Ô A1 cách nhau bởi dấu phẩy, nếu sau dấu phẩy là chuỗi rỗng hoặc không có số liệu thì loại bỏ.

Rất mong các anh các chị giúp đỡ em

Em xin cảm ơn các anh các chị

Bài dạng này đã từng có người hỏi ở đây:
http://www.giaiphapexcel.com/forum/...h-tìm-và-xóa-duplicate-words-trong-1-chuỗi-từ
Hàm viết đã lâu, chắc cũng còn dùng được:
Mã:
Function StrUnique(ByVal Text As String, Optional ByVal Sep As String) As String
  Dim i As Long, temp
  On Error Resume Next
  If IsMissing(Sep) Then
    StrUnique = Left(Text, 1)
    For i = 1 To Len(Text)
      If InStr(StrUnique, Mid(Text, i, 1)) = 0 Then StrUnique = StrUnique & Mid(Text, i, 1)
    Next i
  Else
    temp = Split(Text, Sep)
    With CreateObject("Scripting.Dictionary")
      For i = 0 To UBound(temp)
        If Len(CStr(Trim(temp(i)))) Then .Add temp(i), ""
      Next i
      StrUnique = Join(.Keys, Sep)
    End With
  End If
End Function
 

File đính kèm

Upvote 0
Bài dạng này đã từng có người hỏi ở đây:
http://www.giaiphapexcel.com/forum/...h-tìm-và-xóa-duplicate-words-trong-1-chuỗi-từ
Hàm viết đã lâu, chắc cũng còn dùng được:
Mã:
Function StrUnique(ByVal Text As String, Optional ByVal Sep As String) As String
  Dim i As Long, temp
  On Error Resume Next
  If IsMissing(Sep) Then
    StrUnique = Left(Text, 1)
    For i = 1 To Len(Text)
      If InStr(StrUnique, Mid(Text, i, 1)) = 0 Then StrUnique = StrUnique & Mid(Text, i, 1)
    Next i
  Else
    temp = Split(Text, Sep)
    With CreateObject("Scripting.Dictionary")
      For i = 0 To UBound(temp)
        If Len(CStr(Trim(temp(i)))) Then .Add temp(i), ""
      Next i
      StrUnique = Join(.Keys, Sep)
    End With
  End If
End Function
cảm ơn bác ạ, rất đúng công việc của em đang cần

Chúc bác và giaiphapexcel.com ngày càng thành công và hạnh phúc
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom