Tìm tất cả vị trí dòng của một giá trị/text xuất hiện nhiều lần trong 1 cột. (1 người xem)

Liên hệ QC

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

chiduckte

Thành viên mới
Tham gia
9/8/07
Bài viết
21
Được thích
0
chào các bạn!
Ví dụ mình có một cột từ A1:A10, trong đó có giá trị X nằm ở các ô: A1; A3; A4; A7. Mình biết được giá trị X xuất hiện 4 lần, vậy mình có thể dùng hàm gì để tìm lần lượt các vị trí dòng của X trong cột A1:A10? (các dòng cụ thể: 1, 3, 4, 7).
Cảm ơn!
 
chào các bạn!
Ví dụ mình có một cột từ A1:A10, trong đó có giá trị X nằm ở các ô: A1; A3; A4; A7. Mình biết được giá trị X xuất hiện 4 lần, vậy mình có thể dùng hàm gì để tìm lần lượt các vị trí dòng của X trong cột A1:A10? (các dòng cụ thể: 1, 3, 4, 7).
Cảm ơn!
Mã:
=IFERROR(AGGREGATE(15,6,ROW($1:$10)/($A$1:$A$10="X"),ROW($A1)),"")
 
chào các bạn!
Ví dụ mình có một cột từ A1:A10, trong đó có giá trị X nằm ở các ô: A1; A3; A4; A7. Mình biết được giá trị X xuất hiện 4 lần, vậy mình có thể dùng hàm gì để tìm lần lượt các vị trí dòng của X trong cột A1:A10? (các dòng cụ thể: 1, 3, 4, 7).
Cảm ơn!
Trong khi chờ hàm cho bài toán của bạn, bạn có thể tham khảo
PHP:
Sub abc()
    Dim i%, k%: k = 0
    For i = 1 To 10
        If Cells(i, 1) = "X" Then
            k = k + 1
            Cells(k, 2) = Cells(i, 1).Address
            'Debug.Print Cells(i, 1).Address
        End If
    Next
End Sub
 
Mã:
=IFERROR(AGGREGATE(15,6,ROW($1:$10)/($A$1:$A$10="X"),ROW($A1)),"")
Cảm ơn bạn hocexcel_1991 nhiều! bạn có thể giải thích thêm về ý nghĩa của hàm dùng không!
Bài đã được tự động gộp:

Trong khi chờ hàm cho bài toán của bạn, bạn có thể tham khảo
PHP:
Sub abc()
    Dim i%, k%: k = 0
    For i = 1 To 10
        If Cells(i, 1) = "X" Then
            k = k + 1
            Cells(k, 2) = Cells(i, 1).Address
            'Debug.Print Cells(i, 1).Address
        End If
    Next
End Sub
Cảm ơn bạn Phuclien1902! Code của bạn rất hay, hôm trước mình cũng có làm thử cái VBA nhưng file excel của mình nó bị lỗi là không dán được, tức là khi copy 1 ô, chuyển sang ô khác để dán thì mất chức năng dán. Bạn có cách gì khắc phục chỉ giáo giúp? Cảm ơn bạn.
 
Cảm ơn bạn hocexcel_1991 nhiều! bạn có thể giải thích thêm về ý nghĩa của hàm dùng không!
Bài đã được tự động gộp:

Hàm AGGREGATE với đối số thứ nhất là 15 dùng để lấy số nhỏ thứ n trong dãy số. đối số thứ 2 là 6: bỏ qua giá trị lỗi (chia cho 0)
Cụm ROW($1:$10)/($A$1:$A$10="X") sẽ tạo ra 1 mảng {1,2,3,4,5,6,7,8,9,10}/{1,0,1,1,0,0,1,0,0,0} kết quả được {1,3,4,7} (loại bỏ những số chia cho 0)
ROW($A1), $A2, $A3, $A4, $A5... sẽ cho ra những con số 1,2,3,4,5...
Túm lại là lấy trong các con số {1,3,4,7} với các số nhỏ thứ 1,2,3,4 liệt kê trong vài ô liên tiếp nhau cũng là vị trí dòng mà những chữ X xuất hiện
 
Cảm ơn bạn hocexcel_1991 nhiều! bạn có thể giải thích thêm về ý nghĩa của hàm dùng không!
Bài đã được tự động gộp:


Cảm ơn bạn Phuclien1902! Code của bạn rất hay, hôm trước mình cũng có làm thử cái VBA nhưng file excel của mình nó bị lỗi là không dán được, tức là khi copy 1 ô, chuyển sang ô khác để dán thì mất chức năng dán. Bạn có cách gì khắc phục chỉ giáo giúp? Cảm ơn bạn.
Bạn đưa cái File đó lên đây tôi xem thế nào.
 

File đính kèm

Vậy thì bây giờ bạn có 2 lựa chọn:
1. Dùng HightLight để trang trí bảng tính
2. Không có HightLight, sẽ còn Copy &Paste được.
Còn trường hợp thứ 3 là kết hợp HightLight & Copy/ Paste thì tôi chưa nghĩ ra.
Chờ ai đó đi ngang qua, biết sẽ trả lời bạn.
 
Lần chỉnh sửa cuối:
Cho em hỏi với ạ, nếu như cái này mà dữ liệu từ A2:A11 thì lại ko xuất hiện X ở vị trí thứ 2 ạ ?
Thì mình phải tinh mắt, tinh ý, tinh suy luận í.

1619171428032.png

Thấy người ta A1:A10 thì có Row($1:$10) thì mình cũng bắt chước y chang thế.
ROW($2:$11)/($A$2:$A$11="X")

Hoặc mình cứ úp sọt hết luôn từ A1 ấy, úp sọt thì túm hết, kiểu gì cũng trúng đông trúng tây. :-)
ROW($1:$100)/($A$1:$A$100="X")
 
Web KT

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

Back
Top Bottom