Nối các ô dữ liệu (1 người xem)

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

Me.alone87

Thành viên mới
Tham gia
10/6/13
Bài viết
5
Được thích
0
Ở cột 1 có nhiều ô chứa dữ liệu. Có hàm VBA (hoặc hàm thường) nào có thể nối các ô dữ liệu thành 1 ô không? .

Ở cột 2 có các ô số lặp lại nhiều hơn 1 lần. Dùng hàm để liệt kê các số xuất hiện nhiều hơn 1 lần. (=69)

Cảm ơn bạn đã đọc bài.
 

File đính kèm

Ở cột 1 có nhiều ô chứa dữ liệu. Có hàm VBA (hoặc hàm thường) nào có thể nối các ô dữ liệu thành 1 ô không? .

Ở cột 2 có các ô số lặp lại nhiều hơn 1 lần. Dùng hàm để liệt kê các số xuất hiện nhiều hơn 1 lần. (=69)

Cảm ơn bạn đã đọc bài.
1/ Nối chuỗi:
PHP:
Public Function Noi(Rng As Range) As String
Dim Cll As Range
For Each Cll In Rng
    Noi = Noi & Cll.Value
Next
2/ Đếm
PHP:
Public Function Dem(Rng As Range) As Long
Dim Cll As Range,  Dic As Object
Set Dic = CreateObject("Scripting.Dictionary")
For Each Cll In Rng
    If Application.WorksheetFunction.CountIf(Rng, Cll) > 1 Then
        If Not Dic.Exists(Cll.Value) Then
            Dic.Add Cll.Value, ""
            Dem = Dem & Cll.Value
        End If
    End If
Next
Set Dic = Nothing
End Function
 

File đính kèm

Ở cột 1 có nhiều ô chứa dữ liệu. Có hàm VBA (hoặc hàm thường) nào có thể nối các ô dữ liệu thành 1 ô không? .

Ở cột 2 có các ô số lặp lại nhiều hơn 1 lần. Dùng hàm để liệt kê các số xuất hiện nhiều hơn 1 lần. (=69)

Cảm ơn bạn đã đọc bài.

bạn xem thử...........................................
 

File đính kèm

Ở cột 1 có nhiều ô chứa dữ liệu. Có hàm VBA (hoặc hàm thường) nào có thể nối các ô dữ liệu thành 1 ô không? .

Ở cột 2 có các ô số lặp lại nhiều hơn 1 lần. Dùng hàm để liệt kê các số xuất hiện nhiều hơn 1 lần. (=69)

Cảm ơn bạn đã đọc bài.

Lúc trước tôi từng giới thiệu trên diễn đàn hàm này:
Mã:
Function JoinText(ByVal Sep As String, ByVal IgnoreBlanks As Boolean, ParamArray sArray()) As String
  Dim tmpArr, SubArr, Arr(), Item, n As Long, tmp As String
  On Error Resume Next
  For Each SubArr In sArray
    tmpArr = IIf(IsArray(SubArr), SubArr, Array(SubArr))
    For Each Item In tmpArr
      tmp = IIf(TypeName(Item) = "Error", "", Trim(CStr(Item)))
      If IgnoreBlanks = False Or Len(tmp) Then
        n = n + 1
        ReDim Preserve Arr(1 To n)
        Arr(n) = tmp
      End If
    Next
  Next
  If n Then JoinText = Join(Arr, Sep)
End Function
Chỉ cần 1 hàm trên là có thể áp dụng để giải quyết cả 2 yêu cầu của bạn
1> Yêu cầu 1: =JoinText("",TRUE,D8:D14)
2> Yêu cầu 2: =JoinText("",TRUE,IF(FREQUENCY(F8:F14,F8:F14)>1,F8:F14,""))
 

File đính kèm

Thank anh. Cám ơn các bạn đã tận tình giúp đỡ. Chúc các bạn luôn vui và hạnh phúc trong cuộc sống.
 

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

Back
Top Bottom