Liệt kê giá trị thứ n thỏa mãn điều kiện

Liên hệ QC

my google

Thành viên mới
Tham gia
10/7/12
Bài viết
4
Được thích
2
Các Anh, Chị gỡ rối giúp E với ạ: E có bảng dữ liệu, bây giờ công việc cần liệt kê tất cả các giá trị trùng nhau thỏa mãn điều kiện cho trước. VD: bảng dữ liệu gồm cột tên, ngày sinh, số điện thoại ...., công việc cần liệt kê tất cả các tên trùng nhau ( kèm thông tin về tên đó: ngày sinh, số điện thoại ... ), khi ta thay đổi tên ở ô tìm kiếm. Xin các Anh, Chị giúp đỡ, cám ơn ạ.
 

File đính kèm

Các Anh, Chị gỡ rối giúp E với ạ: E có bảng dữ liệu, bây giờ công việc cần liệt kê tất cả các giá trị trùng nhau thỏa mãn điều kiện cho trước. VD: bảng dữ liệu gồm cột tên, ngày sinh, số điện thoại ...., công việc cần liệt kê tất cả các tên trùng nhau ( kèm thông tin về tên đó: ngày sinh, số điện thoại ... ), khi ta thay đổi tên ở ô tìm kiếm. Xin các Anh, Chị giúp đỡ, cám ơn ạ.
Dùng advance filter thôi bạn.
 
Các Anh, Chị gỡ rối giúp E với ạ: E có bảng dữ liệu, bây giờ công việc cần liệt kê tất cả các giá trị trùng nhau thỏa mãn điều kiện cho trước. VD: bảng dữ liệu gồm cột tên, ngày sinh, số điện thoại ...., công việc cần liệt kê tất cả các tên trùng nhau ( kèm thông tin về tên đó: ngày sinh, số điện thoại ... ), khi ta thay đổi tên ở ô tìm kiếm. Xin các Anh, Chị giúp đỡ, cám ơn ạ.
Bạn xem thử file.
 

File đính kèm

Cám ơn hoanganhvo2612 nhé. Nếu mình dùng advance filter thì đang thao tác trên 1 sheet, nhưng yêu cầu của mình khác chút là phải tạo ra sheet khác, mỗi sheet tương ứng 1 tên, đặc biệt nữa sheet cũ ko ổn định mà sẽ up tiếp dữ liệu khi có
Bài đã được tự động gộp:

bạn ơi, đúng nội dung mình cần, tuy nhiên mình đang ko biết xảy ra lỗi gì khi mình nhập tên khác vào ô Search thì kết quả lại là dòng trắng, chỉ duy nhất tên paul là chạy. Cám ơn bạn
 

File đính kèm

Lần chỉnh sửa cuối:
Công thức cho F6
Mã:
=IFERROR(INDEX($A$1:$C$100,AGGREGATE(15,6,ROW($1:$100)/($A$1:$A$100=$F$3),ROWS($1:1)),COLUMNS($A:A)),"")
copy sang phải tới cột H rồi xuống dưới
 
Cám ơn hoanganhvo2612 nhé. Nếu mình dùng advance filter thì đang thao tác trên 1 sheet, nhưng yêu cầu của mình khác chút là phải tạo ra sheet khác, mỗi sheet tương ứng 1 tên, đặc biệt nữa sheet cũ ko ổn định mà sẽ up tiếp dữ liệu khi có
Bài đã được tự động gộp:


bạn ơi, đúng nội dung mình cần, tuy nhiên mình đang ko biết xảy ra lỗi gì khi mình nhập tên khác vào ô Search thì kết quả lại là dòng trắng, chỉ duy nhất tên paul là chạy. Cám ơn bạn
Bạn sửa công thức cho ô F6 như sau:
Mã:
=IFERROR(OFFSET($A$1;SMALL(INDEX(($A$2:$A$8=$F$3)*ROW($A$2:$A$8););COUNTIF($A$2:$A$8;"<>" &$F$3)+ROW(A1))-1;COLUMN(A1)-1);"")
Fill công thức sang phải và xuống dưới.
 
Cám ơn hoanganhvo2612 nhé. Nếu mình dùng advance filter thì đang thao tác trên 1 sheet, nhưng yêu cầu của mình khác chút là phải tạo ra sheet khác, mỗi sheet tương ứng 1 tên, đặc biệt nữa sheet cũ ko ổn định mà sẽ up tiếp dữ liệu khi có
Bài đã được tự động gộp:


bạn ơi, đúng nội dung mình cần, tuy nhiên mình đang ko biết xảy ra lỗi gì khi mình nhập tên khác vào ô Search thì kết quả lại là dòng trắng, chỉ duy nhất tên paul là chạy. Cám ơn bạn
Tìm hiểu thêm Pivot Table.
Mỗi khi cập nhật xong dữ liệu, bạn chỉ cần nhấn Refresh, rồi chọn đối tượng ưa thích.
Xem file kèm.
Thân.
 

File đính kèm

Các Anh, Chị gỡ rối giúp E với ạ: E có bảng dữ liệu, bây giờ công việc cần liệt kê tất cả các giá trị trùng nhau thỏa mãn điều kiện cho trước. VD: bảng dữ liệu gồm cột tên, ngày sinh, số điện thoại ...., công việc cần liệt kê tất cả các tên trùng nhau ( kèm thông tin về tên đó: ngày sinh, số điện thoại ... ), khi ta thay đổi tên ở ô tìm kiếm. Xin các Anh, Chị giúp đỡ, cám ơn ạ.
Bạn thử:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim a, b(1 To 1000, 1 To 4), dk$, i&, k&
    If Target.Address = "$F$3" Then
        dk = [F3].Value
        With Sheets(1)
            a = .Range("A2", .Range("A6000").End(3)).Resize(, 3)
        End With
        Application.ScreenUpdating = False
        For i = 1 To UBound(a)
            If a(i, 1) = dk And dk <> Empty Then
                k = k + 1
                b(k, 1) = k: b(k, 2) = a(i, 1)
                b(k, 3) = a(i, 2): b(k, 4) = a(i, 3)
            End If
        Next
        If i Then
            Range("E6").Resize(i, 4) = b
        Else
            Range("E6:H65000").ClearContents
            Range("E6:H65000").Borders.LineStyle = xl None
        End If
    End If
End Sub
 
Lần chỉnh sửa cuối:
Công thức cho F6
Mã:
=IFERROR(INDEX($A$1:$C$100,AGGREGATE(15,6,ROW($1:$100)/($A$1:$A$100=$F$3),ROWS($1:1)),COLUMNS($A:A)),"")
copy sang phải tới cột H rồi xuống dưới
Tìm hiểu thêm Pivot Table.
Mỗi khi cập nhật xong dữ liệu, bạn chỉ cần nhấn Refresh, rồi chọn đối tượng ưa thích.
Xem file kèm.
Thân.
Cám ơn bạn rất nhiều, mình đã làm được như bạn hướng dẫn nhé
 
Cám ơn hoanganhvo2612 nhé. Nếu mình dùng advance filter thì đang thao tác trên 1 sheet, nhưng yêu cầu của mình khác chút là phải tạo ra sheet khác, mỗi sheet tương ứng 1 tên, đặc biệt nữa sheet cũ ko ổn định mà sẽ up tiếp dữ liệu khi có
Bài đã được tự động gộp:


bạn ơi, đúng nội dung mình cần, tuy nhiên mình đang ko biết xảy ra lỗi gì khi mình nhập tên khác vào ô Search thì kết quả lại là dòng trắng, chỉ duy nhất tên paul là chạy. Cám ơn bạn
Bạn thử:
PHP:
Sub Test()
    Dim a
    Application.ScreenUpdating = False
    With Sheets(1).Range("A1").CurrentRegion
        .Parent.AutoFilterMode = False
        For Each a In .Offset(1).Resize(.Rows.Count - 1).Columns(1).Value
            If Not Evaluate("ISREF('" & a & "'!A1)") Then
                Sheets.Add(after:=Sheets(Sheets.Count)).Name = a
            Else
                Sheets(a).UsedRange.ClearContents
            End If
            .AutoFilter 1, a
            .Copy Sheets(a).Range("A1")
        Next
        .AutoFilter
    End With
    Application.ScreenUpdating = True
End Sub
 
Web KT

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

Back
Top Bottom