Đếm dữ liệu có trong file Excel!

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Nhờ các AE trên GPE giúp đỡ, Tôi có file dữ liệu, Có cột Dữ liệu có sẵn, tôi muốn đếm sự liên tục của B và S rồi cho ra hai cột Đếm và Ghép, mong các AE giúp đỡ, xin cảm ơn!

Bạn dùng CT này nhé:

N19=IF(COUNTIF(B19:C19,B19)=1,COLUMN(B1)-LOOKUP(2,1/($B19:B19<>$A19:A19),COLUMN($B19:B$19))+1,"") fill RH & DOWN.
Z19=CONCATENATE(N19,O19,P19,Q19,R19,S19,T19,U19,V19,W19,X19)

Có thể dùng Code VBA để được bảng "Đếm" không, nhưng các dữ liệu phải dồn về bên trái, thay vì nằm lẻ tẻ như bảng "đếm" được tô vàng, nếu nằm theo cột thì dữ liệu dồn lên trên, mong giúp đỡ!

Code vba đâyyyy!

Sub Dem()
Dim tmp As Variant, i As Long, k As Integer, d As Integer, j As Integer
Dim KQ() As Variant, lr As Long, z As Integer, r As Long, Gep() As Variant
lr = Sheet1.Range("B8").End(xlDown).Row - 7
z = Sheet1.Range("B8").End(xlToRight).Column - 1
tmp = Sheet1.Range("B8").Resize(lr, z).Value
ReDim KQ(1 To lr, 1 To z)
ReDim Gep(1 To lr, 1 To 1)
For r = 1 To lr
j = 0: k = 0
    For i = 1 To z - 1
    If i < k Then GoTo 1
    d = 1
        For k = i + 1 To z
            If tmp(r, i) <> tmp(r, k) Then j = j + 1: KQ(r, j) = d: Gep(r, 1) = Gep(r, 1) & KQ(r, j): Exit For
            If tmp(r, i) = tmp(r, k) Then d = d + 1
        Next k
        If k > z Then j = j + 1: KQ(r, j) = d
1:
    Next i
    If tmp(r, z - 1) <> tmp(r, z) Then j = j + 1: KQ(r, j) = 1
    Gep(r, 1) = Gep(r, 1) & KQ(r, j)
Next r
Sheet1.Range("N8").Resize(1000, z + 2).ClearContents
Sheet1.Range("N8").Resize(lr, z).Value = KQ
Sheet1.Range("N8").Offset(0, z + 1).Resize(lr, 1).Value = Gep
End Sub

www.giaiphapexcel.com/diendan/threads/%C4%90%E1%BA%BFm-d%E1%BB%AF-li%E1%BB%87u-c%C3%B3-trong-file-excel.120264/

Xây dựng Lương 3P, KPI cho Doanh nghiệp
Khóa học SprinGO phù hợp

Xây dựng Lương 3P, KPI cho Doanh nghiệp

Làm thế nào để trả lương cho nhân viên chính xác nhất? Đây là một trong những câu hỏi khó trong quản trị nhân...

Xem khóa học
★★★★★ 5 ★ 1 👤 1 ▥ 0
Quảng cáo

Bạn nên đọc

One Response

  1. hands says:

    Rất cảm ơn anh befaint, anh giúp thêm, đếm theo cột, hiện tại chỉ là theo hàng

    Đếm theo cột thì điều kiện như nào? kết quả ra sao? Bài #1 không có đoạn này phải không?

    Điều kiện thì đếm tương tự hàng, nhưng có 3 cột mỗi cột có 2 giá trị khác nhau, chỉ cần được kết quả bảng đếm, theo cột không cần bảng Ghép, anh befaint xem và giúp tôi

    Hình như kết quả ví dụ bị nhầm ở cột O!!!

    Sub DemCot()
    Dim tmp As Variant, i As Long, k As Integer, d As Integer, j As Integer
    Dim KQ() As Variant, lr As Long, z As Integer, r As Long, Gep() As Variant
    lr = Sheet1.Range("J15").End(xlDown).Row - 14
    z = Sheet1.Range("J15").End(xlToRight).Column - 9
    tmp = Sheet1.Range("J15").Resize(lr, z).Value
    ReDim KQ(1 To lr, 1 To z)
    ReDim Gep(1 To lr, 1 To 1)
    For i = 1 To z
    j = 0: k = 0
        For r = 1 To lr - 1
        If r < k Then GoTo 1
        d = 1
            For k = r + 1 To lr
                If tmp(r, i) <> tmp(k, i) Then j = j + 1: KQ(j, i) = d: Exit For
                If tmp(r, i) = tmp(k, i) Then d = d + 1
            Next k
            If k > lr Then j = j + 1: KQ(j, i) = d
    1:
        Next r
        If tmp(lr - 1, i) <> tmp(lr, i) Then j = j + 1: KQ(j, i) = 1
    
    Next i
    Sheet1.Range("N15").Resize(1000, z).ClearContents
    Sheet1.Range("N15").Resize(lr, z).Value = KQ
    End Sub

    Vâng, phải là 1 2 1 1 4 2, Rất cảm ơn anh

    Bài này áp dụng vào mục đích gì vậy bạn?!!}}}}}}}}}}}}}}}

    Trong code của anh, tôi vẫn muốn đếm theo cột, nhưng giới hạn đếm trong 80 hàng hoặc 100 hàng hoặc 120 hàng thì sữa thế nào

    hic!!! Sửa ở mấy dòng:

    lr = Sheet1.Range("J15").End(xlDown).Row - 14
    z = Sheet1.Range("J15").End(xlToRight).Column - 9
    tmp = Sheet1.Range("J15").Resize(lr, z).Value
    '....
    lr = Sheet1.Range("J15").End(xlDown).Row - 14
    z = Sheet1.Range("J15").End(xlToRight).Column - 9
    tmp = Sheet1.Range("J15").Resize(lr, z).Value

    http://www.giaiphapexcel.com/diendan/threads/%C4%90%E1%BA%BFm-d%E1%BB%AF-li%E1%BB%87u-c%C3%B3-trong-file-excel.120264/post-760679

Leave a Reply

Your email address will not be published. Required fields are marked *

Quảng cáo

Cũ vẫn chất

Xem thêm