So sánh trùng và không trùng trên 2 cột.

Liên hệ QC
Bạn nói chi tiết xem nào.Mình đọc không hiểu lắm.Cái nào là dữ liệu cái nào bạn cần trả về kết quả như thế nào.
Ý của mình là muốn lọc dữ liệu trùng nhau của 2 cột B và D . Sau đó mình thay vào bằng dữ liệu cho trước . Ví dụ : Ở hàng đầu tiên bạn thấy ô B4 trùng với ô D4 , nên kết quả sẽ là Nguyễn Anh Vu : 1 . Tiếp theo ô B6 trùng với ô D5 , nên kết quả sẽ là Đào Văn Tân : 2 ... Theo mình hiểu cái này là lọc dữ liệu trùng nhau , sau đó thay thế nó với dữ liệu có ở ban đầu . Tương tự như cách làm trước đó của bạn , nhưng ở đây là lấy dữ liệu trùng nhau , sau đó thay thế nó .
 
Ý của mình là muốn lọc dữ liệu trùng nhau của 2 cột B và D . Sau đó mình thay vào bằng dữ liệu cho trước . Ví dụ : Ở hàng đầu tiên bạn thấy ô B4 trùng với ô D4 , nên kết quả sẽ là Nguyễn Anh Vu : 1 . Tiếp theo ô B6 trùng với ô D5 , nên kết quả sẽ là Đào Văn Tân : 2 ... Theo mình hiểu cái này là lọc dữ liệu trùng nhau , sau đó thay thế nó với dữ liệu có ở ban đầu . Tương tự như cách làm trước đó của bạn , nhưng ở đây là lấy dữ liệu trùng nhau , sau đó thay thế nó .
Bạn chạy thử code này xem đúng không nhé.Nếu không đúng thì bạn ghi dõ dữ liệu có và kết quả cần có nhé.
Mã:
Sub thaydoi()
Dim arr
Dim dic As Object
Dim a As Long, lr As Long, i As Long
Dim dk As String
Set dic = CreateObject("scripting.dictionary")
With Sheet1
     lr = .Range("D" & Rows.Count).End(xlUp).Row
     If lr < 4 Then Exit Sub
     arr = .Range("D4:E" & lr).Value
     For i = 1 To UBound(arr, 1)
         dk = Trim(arr(i, 1))
         If Not dic.exists(dk) Then
            dic.Add dk, arr(i, 2)
         End If
     Next i
     lr = .Range("b" & Rows.Count).End(xlUp).Row
     If lr < 4 Then Exit Sub
     arr = .Range("A4:B" & lr).Value
     For i = 1 To UBound(arr, 1)
         dk = Trim(arr(i, 2))
         If dic.exists(dk) Then
            arr(i, 1) = dic.Item(dk)
         End If
     Next i
     .Range("A4:B" & lr).Value = arr
End With
End Sub
 
Hình như chưa được . Ở tệp này , mình có giải thích sẵn trong đó , và có viết kết quả 7 8 dòng. Chắc bạn đã hình dùng được . Mình có sửa lại họ và tên để bạn không bị lỗi font chữ. Cảm ơn bạn nhiều
 

File đính kèm

  • Sổ làm việc1.xlsm
    21.4 KB · Đọc: 14
Những người ở bài viết này còn sống ko nhỉ ? Thấy tên Phạm Duy Long ( Thành Viên đã mất ) ko biết ý nghĩa này là gì , hiểu sao cho đúng nữa . Tính hỏi mà thấy vậy ... quỳ lạy luôn .
[Thành viên đã mất] đúng là những thành viên đã về cõi Vĩnh hằng. Nhưng nhiều người trong họ như OKEBAP, thầy Long mà bạn nhắc tới, . . . . (nhiều người khác nữa). . . đã để lại cho diễn đàn chúng ta những đứa con tinh thần của họ rất đáng giá, vô cùng quí báu & quan trọng hơn cả là rất đáng trân trọng!
Rất nên trân trọng câu từ & thành kính với những người đã khuất!
 
[Thành viên đã mất] đúng là những thành viên đã về cõi Vĩnh hằng. Nhưng nhiều người trong họ như OKEBAP, thầy Long mà bạn nhắc tới, . . . . (nhiều người khác nữa). . . đã để lại cho diễn đàn chúng ta những đứa con tinh thần của họ rất đáng giá, vô cùng quí báu & quan trọng hơn cả là rất đáng trân trọng!
Rất nên trân trọng câu từ & thành kính với những người đã khuất!
Thật sự tôi ko biết ở đây đã từng có 1 diễn đàn đông vui , và tồn tại rất lâu rồi chứ. Cũng có thể do số lượng thành viên càng lúc càng sút giảm nên bây giờ mọi người ko còn hoạt động liên tục như xưa. Có lẽ trong đây có 1 mình tôi duy nhất thuộc dạng dốt nhất . Qủa thật tôi ko biết gì . Và tôi cũng chỉ mới biết đến nó vài hôm. Tôi chỉ muốn tìm hiểu và nghịch phá trên máy vậy thôi . Còn vận dụng về sau này hay ko tôi cũng chưa biết . Dù sao tôi cũng rất cảm ơn các bạn đã hỗ trợ .
Còn về vấn đề viết chữ đã mất đúng như tôi nói nó khó hiểu. Tôi nghĩ để đơn giản vấn đề , rõ ràng hơn thì mình để chữ đã khuất nó tế nhị . Và cũng ko làm bất cứ ai tò mò về họ nữa . Đó là ý kiến riêng của tôi. R.I.P
 
Mình ko ngờ đơn giản chỉ dùng command để có kết quả . Vì xem , tìm hiểu video bài viết nhiều , mình làm theo đều hỏng bét. Cũng có 1 2 lần để ý INDEX , nhưng nếu ko kết hợp đúng là ko ra được . Có lẽ thấy từ đầu topic này mọi ng tập trung vào viết Marco , nên cứ nghĩ Marco dễ hơn . Cảm ơn bạn nhiều lắm. Bây giờ mới thấy được 1 bài Excel vô số cách xử lý và giải quyết . Chỉ có thể là thuộc lệnh , và hiểu rõ chức năng của nó . Cách nào cũng hay và có ưu nhược điểm riêng . 1 lần nữa chân thành cảm ơn bạn .
 
Bạn chạy thử code này xem đúng không nhé.Nếu không đúng thì bạn ghi dõ dữ liệu có và kết quả cần có nhé.
Mã:
Sub thaydoi()
Dim arr
Dim dic As Object
Dim a As Long, lr As Long, i As Long
Dim dk As String
Set dic = CreateObject("scripting.dictionary")
With Sheet1
     lr = .Range("D" & Rows.Count).End(xlUp).Row
     If lr < 4 Then Exit Sub
     arr = .Range("D4:E" & lr).Value
     For i = 1 To UBound(arr, 1)
         dk = Trim(arr(i, 1))
         If Not dic.exists(dk) Then
            dic.Add dk, arr(i, 2)
         End If
     Next i
     lr = .Range("b" & Rows.Count).End(xlUp).Row
     If lr < 4 Then Exit Sub
     arr = .Range("A4:B" & lr).Value
     For i = 1 To UBound(arr, 1)
         dk = Trim(arr(i, 2))
         If dic.exists(dk) Then
            arr(i, 1) = dic.Item(dk)
         End If
     Next i
     .Range("A4:B" & lr).Value = arr
End With
End Sub
Ok cảm ơn bạn nhiều lắm . Lúc đầu cứ nghĩ sẽ đợi lâu dài . Ko ngờ mọi người nhiệt tình quá . ước gì có thể có trình độ như các bạn . Tôi cần học hỏi thật nhiều .
 
Còn về vấn đề viết chữ đã mất đúng như tôi nói nó khó hiểu. Tôi nghĩ để đơn giản vấn đề , rõ ràng hơn thì mình để chữ đã khuất nó tế nhị . Và cũng ko làm bất cứ ai tò mò về họ nữa . Đó là ý kiến riêng của tôi. R.I.P
Chuyện này bạn hoàn toàn có thể gởi bài đến ban điều hành; BĐH có riêng 1 mục để mọi thành viên góp ý mà!
Chúc bạn có nhiều niềm vui khi đến với diễn đàn!
 
R.I.P nghĩa là gì vậy?
Sợ nhất là tiếng Anh lồng trong tiếng Việt. Chả hiểu người dùng muốn nói ngữ cảnh tiếng nào.
 
Bác VetMini, post: 901634, member: 780703 à, đó là Rau Ít Phân
Khá khen cho tài ứng biến , đưa ra đáp án hợp với dữ liệu ban đầu . Muốn té ghế luôn .
R.I.P : Thay cho lời cầu nguyện , hãy yên nghĩ . Chỉ thế thôi . Sâu hơn nữa thì chưa học tới bạn ơi .
 
Ok cảm ơn bạn nhiều lắm . Lúc đầu cứ nghĩ sẽ đợi lâu dài . Ko ngờ mọi người nhiệt tình quá . ước gì có thể có trình độ như các bạn . Tôi cần học hỏi thật nhiều .
Bác này mấy dạo trước còn đăng bài nhờ và mọi người góp ý "Giải thích rõ kết quả mong muốn" mà bác chưa giải thích kết quả.
Vậy bài viết trong link sau https://www.giaiphapexcel.com/diendan/threads/help-me-tìm-kiếm-và-lọc-dữ-liệu.140058/#post-900839
Bác đã tìm ra cách giải quyết chưa?
 
Bác này mấy dạo trước còn đăng bài nhờ và mọi người góp ý "Giải thích rõ kết quả mong muốn" mà bác chưa giải thích kết quả.
Vậy bài viết trong link sau https://www.giaiphapexcel.com/diendan/threads/help-me-tìm-kiếm-và-lọc-dữ-liệu.140058/#post-900839
Bác đã tìm ra cách giải quyết chưa?
Nói thiệt là chưa làm được. Dùng đúng công thức mà nó cứ hiện #N/A hoài. Còn bài bạn nói chỉ là ví dụ thôi . Tính bê luôn cái dữ liệu mà thôi làm phiền mọi ng quá. Ghép từng hàng cũng đc . Dần sẽ quen. Có mấy hàng... ngắn ngủn à . Mang tiếng dấu dốt vậy .
 
Tại sao 2 chuỗi của tôi y chang nhau , lại có số LEN khác nhau vậy mọi người ? Giai thích cho tôi hiểu khúc này với . Tôi sai ở chỗ này thì fai~ . Ngồi đếm mãi thấy 32 kí tự . Nhưng 1 bên là 32 , 1 bên 33 . Vậy thì sao mà dùng công thức hay gì gì đc
 
Tại sao 2 chuỗi của tôi y chang nhau , lại có số LEN khác nhau vậy mọi người ? Giai thích cho tôi hiểu khúc này với . Tôi sai ở chỗ này thì fai~ . Ngồi đếm mãi thấy 32 kí tự . Nhưng 1 bên là 32 , 1 bên 33 . Vậy thì sao mà dùng công thức hay gì gì đc
Hôm trước mình làm cái hàm Trim đó.Nó bị thừa 1 dấu cách ở cuối dòng len 33.
 
Ban oi trường hợp này thì sao vậy ? Qủa thực mỏi tay quá . Xin lỗi chịu ko nổi
Bài đã được tự động gộp:

Hôm trước mình làm cái hàm Trim đó.Nó bị thừa 1 dấu cách ở cuối dòng len 33.
Nếu trường hợp đó mà thay vào cái kia thì công thức ... sai rồi . Tôi đến bó tay cái cảnh này . Đúng là mình đã dốt còn chơi khó . Yên lành như ng khác ko được thì fai
 

File đính kèm

  • Sổ làm việc1.xlsm
    23.1 KB · Đọc: 4
Hình như được rồi . Mình loại khoảng thừa rồi . Mình làm đc rồi hihi
Bài đã được tự động gộp:

Thay thế khoảng thừa = 0 . Thế là chúng = nhau. Phải chi lúc đầu bạn làm cách này ... mình sẽ rõ hơn . Thấy 32 33 ... chẳng hiểu gì cả . Thông cảm tôi mới vào nghề . Chưa biết Len hay gì gì cả :p
 
Hình như được rồi . Mình loại khoảng thừa rồi . Mình làm đc rồi hihi
Bài đã được tự động gộp:

Thay thế khoảng thừa = 0 . Thế là chúng = nhau. Phải chi lúc đầu bạn làm cách này ... mình sẽ rõ hơn . Thấy 32 33 ... chẳng hiểu gì cả . Thông cảm tôi mới vào nghề . Chưa biết Len hay gì gì cả :p
1 công thức khác để bạn sử dụng
 

File đính kèm

  • Sổ làm việc1 (1).xlsm
    22.8 KB · Đọc: 13
Web KT
Back
Top Bottom