So sánh 3 giá trị trên 1 hàng giữa 2 bảng (1 người xem)

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

thehappyheart

Thành viên mới
Tham gia
9/12/11
Bài viết
13
Được thích
1
Chào mọi người!
Mình có 1 vấn đề mà mình chưa nghĩ ra để làm.
Đó là so sánh 3 giá trị trên 1 hàng của bảng B với các giá trị của các hàng của bảng A. Nếu bằng nhau thì sẽ cho kết quả là Y, ngược lại thì N
Mọi người xem file excel bên dưới nhé
Thanks mọi người nhiều
 

File đính kèm

Chào mọi người!
Mình có 1 vấn đề mà mình chưa nghĩ ra để làm.
Đó là so sánh 3 giá trị trên 1 hàng của bảng B với các giá trị của các hàng của bảng A. Nếu bằng nhau thì sẽ cho kết quả là Y, ngược lại thì N
Mọi người xem file excel bên dưới nhé
Thanks mọi người nhiều
Dùng hàm COUNTIFS để kiểm tra.
 
Hàm countifs dùng để đếm có điều kiện mà bạn.
Ở đây mình muốn so sánh đồng thời giá trị 3 ô của cùng 1 hàng của bảng này với các hàng của bảng khác
 
Cảm ơn bạn nhiều lắm
Đúng là mình cần tìm hiểu rõ hơn về giá trị False True. Với những hàm thông dụng như vậy mà mình cứ nghĩ nó sẽ cực kỳ phức tạp.-+*/
 
Chào mọi người!
Mình có 1 vấn đề mà mình chưa nghĩ ra để làm.
Đó là so sánh 3 giá trị trên 1 hàng của bảng B với các giá trị của các hàng của bảng A. Nếu bằng nhau thì sẽ cho kết quả là Y, ngược lại thì N
Mọi người xem file excel bên dưới nhé
Thanks mọi người nhiều
Code cùi:
[GPECODE=vb]Sub Hang_trung_nhau()
Dim Dic As Object
Dim i As Long
Dim TamA
Dim TamB
Set Dic = CreateObject("Scripting.Dictionary")
For i = 2 To Sheets("SheetA").[A65536].End(xlUp).Row
TamA = Sheets("SheetA").Cells(i, 1).Value & Sheets("SheetA").Cells(i, 2).Value & Sheets("SheetA").Cells(i, 5).Value
If Not Dic.exists(TamA) Then
Dic.Add TamA, ""
End If
Next
For i = 2 To Sheets("SheetB").[A2].End(xlDown).Row
TamB = Sheets("SheetB").Cells(i, 1).Value & Sheets("SheetB").Cells(i, 2).Value & Sheets("SheetB").Cells(i, 6).Value
If Dic.exists(TamB) Then
Cells(i, 7) = "Y"
Else
Cells(i, 7) = "N"
End If
Next
End Sub[/GPECODE]
 
Code cùi:
[GPECODE=vb]Sub Hang_trung_nhau()
Dim Dic As Object
Dim i As Long
Dim TamA
Dim TamB
Set Dic = CreateObject("Scripting.Dictionary")
For i = 2 To Sheets("SheetA").[A65536].End(xlUp).Row
TamA = Sheets("SheetA").Cells(i, 1).Value & Sheets("SheetA").Cells(i, 2).Value & Sheets("SheetA").Cells(i, 5).Value
If Not Dic.exists(TamA) Then
Dic.Add TamA, ""
End If
Next
For i = 2 To Sheets("SheetB").[A2].End(xlDown).Row
TamB = Sheets("SheetB").Cells(i, 1).Value & Sheets("SheetB").Cells(i, 2).Value & Sheets("SheetB").Cells(i, 6).Value
If Dic.exists(TamB) Then
Cells(i, 7) = "Y"
Else
Cells(i, 7) = "N"
End If
Next
End Sub[/GPECODE]

code cùi hay không chưa biết. Nhưng giải thuật chắc chắn là cùi.
đem cộng nhiều trị lại thành 1 để tìm một lần cho tiện? Lô gíc quá hay.
muốn tìm 3 số 3,5,7 thì tìm số 15 !!!!

đã nói ham nuốt vội thì mắc nghẹn.
 
đem cộng nhiều trị lại thành 1 để tìm một lần cho tiện?
Cộng giá trị gì nhỉ? Ở đây tôi ghép 3 ô là "Mặt hàng , Mã lô nhập và Lưu kho tại" vào biến TamA ở SheetA (Thông qua Dictionary) => Đem Dictionary đi so sánh với 3 ô là "Mặt hàng , Mã lô nhập và Lưu kho tại" (biến TamB) ở SheetB => Nếu trùng thì đánh Y, còn không trùng thì là N.

muốn tìm 3 số 3,5,7 thì tìm số 15 !!!!
Chả hiểu bạn nói gì? Muốn tìm 3 số 3, 5, 7 thì tìm số 15 là như thế nào?
 
Tìm tài liệu học thêm về:
1. Cách so sánh dữ liệu dạng chuỗi
2. Cách so sánh nhiều biến 1 lúc

nếu lười tìm tài liệu thì mở hẳn một cái thớt khác và hỏi "tôi viết code như thế này có trục trặc gì không"
bài này chủ thớt có thể giải bằng công thức được rồi. Tôi không muốn rầy rà với code, chỉ cảnh báo là code sai thôi.
 

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

Back
Top Bottom