hàm tra cụm từ trong các cụm từ nhỏ (1 người xem)

Liên hệ QC

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

maiban116

Thành viên thường trực
Tham gia
29/3/15
Bài viết
361
Được thích
20
xin hỏi các thầy. có công thức nào hay dùng code nào tra một câu trong các cụm từ không ạ. em gửi file lên nhờ cả nhà hướng dẫn. xin cám ơn
 

File đính kèm

xin hỏi các thầy. có công thức nào hay dùng code nào tra một câu trong các cụm từ không ạ. em gửi file lên nhờ cả nhà hướng dẫn. xin cám ơn
Nói cho cùng là nối chuỗi có điều kiện? Vậy câu trả lời là: "Làm được nhưng phải là VBA". Bạn thấy sao?
 

File đính kèm

xin hỏi các thầy. có công thức nào hay dùng code nào tra một câu trong các cụm từ không ạ. em gửi file lên nhờ cả nhà hướng dẫn. xin cám ơn
Thử:
PHP:
Sub abc()
    Dim x As Range, y As Range, dk As Range
    Set dk = [d2]
    [d3] = Application.Transpose(Join(Application.Transpose(Range("a2", Range("a" & Rows.Count).End(xlUp))), " "))
    If dk.Value Like [d3] Then
        [e3] = Application.Transpose(Join(Application.Transpose(Range("B2", Range("b" & Rows.Count).End(xlUp))), ""))
    Else
        [e3] = "Khong biet!"
    End If
    [d3].ClearContents
End Sub
 

File đính kèm

Bạn thử lại như vầy xem
Mã:
=JoinIf("";IFERROR(IF(FIND(A2:A1000;C2;1);1;0);"");1;B2:B1000)
Ết úc ằng Ctrl+Shift+Enter
 
Kiểm tra lại lần nữa xem sao
Đoán là vì mấy bạn kia vẫn còn dùng phiên bản cũ
dạ cám ơn các thầy nhiều ạ.. thầy cho em hỏi thêm tý nữa , giả sử những từ cần tra không có trong bảng tra
em muốn nó trả về đúng từ cần tra thì làm như thế nào ạ. và ở cột từ điển hai từ giống nhau thì nó sẽ lấy cái từ đầu tiên nó nhận được mong hồi âm của các thầy. xin cảm ơn nhiều ạ
 
dạ cám ơn các thầy nhiều ạ.. thầy cho em hỏi thêm tý nữa , giả sử những từ cần tra không có trong bảng tra
em muốn nó trả về đúng từ cần tra thì làm như thế nào ạ. và ở cột từ điển hai từ giống nhau thì nó sẽ lấy cái từ đầu tiên nó nhận được mong hồi âm của các thầy. xin cảm ơn nhiều ạ. em gửi file lên mong các thầy hướng dẫn em lần nữa ạ
 

File đính kèm

có thầy nào giúp em với ạ
 
có thầy nào giúp em với ạ
PHP:
Public Function LuXuBu(ByVal Rng As Range, ByVal DK As Range) As String
Dim Txt As String, Arr(), I As Long, R As Long
Arr = Rng.Value:    R = UBound(Arr):    Txt = DK.Value
For I = 1 To R
    If InStr(Txt, Arr(I, 1)) Then
        LuXuBu = LuXuBu & Arr(I, 2)
        Txt = Replace(Txt, Arr(I, 1), "")
    End If
Next I
End Function
Công thức:
PHP:
=LuXuBu($A$2:$B$11;D2)
Chưa hiểu và thấy kết quả mẫu của yêu cầu: "và nếu không tìm thấy nó sẽ trả về chính nó"
 
PHP:
Public Function LuXuBu(ByVal Rng As Range, ByVal DK As Range) As String
Dim Txt As String, Arr(), I As Long, R As Long
Arr = Rng.Value:    R = UBound(Arr):    Txt = DK.Value
For I = 1 To R
    If InStr(Txt, Arr(I, 1)) Then
        LuXuBu = LuXuBu & Arr(I, 2)
        Txt = Replace(Txt, Arr(I, 1), "")
    End If
Next I
End Function
Công thức:
PHP:
=LuXuBu($A$2:$B$11;D2)
Chưa hiểu và thấy kết quả mẫu của yêu cầu: "và nếu không tìm thấy nó sẽ trả về chính nó"
cái này đáp ứng được 1 vế thầy ạ. còn vế những từ không tra thấy thì trả vể chính nó. mong thầy kiểm tra lại hộ. xin cảm ơn
 
có thầy nào giúp em với ạ
Bạn có thể thêm điều kiện vào tùy thích mà. Cụ thể ở đây là điều kiện Unique, đúng không?
Vậy đề xuất công thức này:
Mã:
=JoinIf("",FIND(A2:A100,D2)*FREQUENCY(IF(A2:A100<>"",MATCH(A2:A100,A2:A100,0)),MATCH(A2:A100,A2:A100,0)),">0",B2:B100)
 
Bạn đọc lại dòng cuối cùng bài #14.
Bạn đọc lại dòng cuối cùng bài #14.
thầy ơi cụm từ 15/55 nếu nó tra không có thì nó có thể trở về chính 15/55 được không ạ. có nghĩa là cụm từ tra được + với chính nó ạ: ví dụ
Bạn đọc lại dòng cuối cùng bài #14.
ý em như trong hình ảnh. thầy xem hướng dẫn em với ạ
 

File đính kèm

  • hỏi cách sửa.png
    hỏi cách sửa.png
    8.2 KB · Đọc: 15
Thấy mới hiểu được.
PHP:
Public Function LuXuBu(ByVal Rng As Range, ByVal DK As Range) As String
Dim Txt As String, Arr(), I As Long, R As Long
Arr = Rng.Value:    R = UBound(Arr):    Txt = DK.Value
For I = 1 To R
    If InStr(Txt, Arr(I, 1)) Then
        LuXuBu = LuXuBu & Arr(I, 2)
        Txt = Replace(Txt, Arr(I, 1), "")
    End If
Next I
LuXuBu = LuXuBu & Application.WorksheetFunction.Trim(Txt)
End Function
Công thức nhập như cũ.
 

File đính kèm

Web KT

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

Back
Top Bottom