TÌM KIẾM THẤY NHIỀU GIÁ TRỊ VÀ TRẢ VỀ CÁC GIÁ TRỊ TRONG 1 Ô EXCEL

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

LINHCM

Thành viên mới
Tham gia
10/8/24
Bài viết
4
Được thích
0
Em xin chào các anh chị chú bác quản trị Web: www.giaiphapexcel.com. Em chào các anh chị cộng đồng excel của mình.
Em đang gặp vấn đề như thế này:
Em có một bảng gồm các học sinh với số điểm từng môn.
Em muốn thực hiện dò tìm trong bảng này để trả về các mã số học sinh đạt điểm 10 môn toán (có hơn 2 học sinh đạt điểm 10) vào đúng 1 ô excel.
Em có dùng thử hàm VLOOKUP, nhưng nó chỉ trả được giá trị của 1 học sinh đầu tiên.
Em không biết phải làm sao để nó hiện thị ra hết các kết quả vào đúng 1 ô excel (em có gửi file đính kèm).
Em xin nhờ các anh chị chỉ điểm. Em xin cảm ơn ạ!
 

File đính kèm

  • TÌM KIẾM THẤY NHIỀU GIÁ TRỊ VÀ TRẢ VỀ CÁC GIÁ TRỊ TRONG 1 Ô EXCEL.xlsx
    10.6 KB · Đọc: 18
Em xin chào các anh chị chú bác quản trị Web: www.giaiphapexcel.com. Em chào các anh chị cộng đồng excel của mình.
Em đang gặp vấn đề như thế này:
Em có một bảng gồm các học sinh với số điểm từng môn.
Em muốn thực hiện dò tìm trong bảng này để trả về các mã số học sinh đạt điểm 10 môn toán (có hơn 2 học sinh đạt điểm 10) vào đúng 1 ô excel.
Em có dùng thử hàm VLOOKUP, nhưng nó chỉ trả được giá trị của 1 học sinh đầu tiên.
Em không biết phải làm sao để nó hiện thị ra hết các kết quả vào đúng 1 ô excel (em có gửi file đính kèm).
Em xin nhờ các anh chị chỉ điểm. Em xin cảm ơn ạ!
Dùng VBA bạn à.Nghiên cứu nhé.
 
Em xin chào các anh chị chú bác quản trị Web: www.giaiphapexcel.com. Em chào các anh chị cộng đồng excel của mình.
Em đang gặp vấn đề như thế này:
Em có một bảng gồm các học sinh với số điểm từng môn.
Em muốn thực hiện dò tìm trong bảng này để trả về các mã số học sinh đạt điểm 10 môn toán (có hơn 2 học sinh đạt điểm 10) vào đúng 1 ô excel.
Em có dùng thử hàm VLOOKUP, nhưng nó chỉ trả được giá trị của 1 học sinh đầu tiên.
Em không biết phải làm sao để nó hiện thị ra hết các kết quả vào đúng 1 ô excel (em có gửi file đính kèm).

Nếu excel của bạn có hàm TEXTJOIN, có thể dùng:

=TEXTJOIN(", ",1,IF(C2:C12=10,A2:A12,""))

hoặc

=TEXTJOIN(", ",1,FILTER(A2:A12,C2:C12=10,""))
 
2 cách, dùng hàm hoặc dùng VBA
+ Dùng hàm: =TEXTJOIN(", ", TRUE, IF(C2:C12 = 10, A2:A12, ""))
+ Dùng VBA:

Mã:
Sub FilterAndCombine()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long
    Dim result As String
  
    ' Thiet lap trang tinh can lam viec
    Set ws = ThisWorkbook.Sheets("Sheet1") ' Thay "Sheet1" bang ten sheet ban dang su dung
  
    ' Xac dinh so dong cuoi cung trong cot C
    lastRow = ws.Cells(ws.Rows.Count, "C").End(xlUp).Row
  
    ' Khoi tao chuoi ket qua
    result = ""
  
    ' Duyet qua tung hang tu C2 den C cuoi cung
    For i = 2 To lastRow
        If ws.Cells(i, "C").Value = 10 Then
            If result = "" Then
                result = ws.Cells(i, "A").Value
            Else
                result = result & ", " & ws.Cells(i, "A").Value
            End If
        End If
    Next i
  
    ' Dien ket qua vao o B15
    ws.Range("B15").Value = result
End Sub
 
Web KT

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

Back
Top Bottom