So sánh hai biểu thức text cho ra kết quả number (1 người xem)

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

vanduynguyen1983

Thành viên hoạt động
Tham gia
21/6/13
Bài viết
101
Được thích
8
Anh chị giúp em lập công thức hoặc viết VBA cho 2 cột text so sánh cho ra kết quả number em gởi file đính kèm . Rat mong Anh chị coi giúp em với
 

File đính kèm

Anh chị giúp em lập công thức hoặc viết VBA cho 2 cột text so sánh cho ra kết quả number em gởi file đính kèm . Rat mong Anh chị coi giúp em với
Kiểm tra xem thế nào
Mã:
Public Sub VanDuyNguyen()
Dim MSA, MSE, kq(), r As Long, i

With Sheet1
MSA = .Range("A4", .Range("B65000").End(xlUp))
MSE = .Range("E4", .Range("F65000").End(xlUp))
.UsedRange.ClearFormats
ReDim kq(1 To UBound(MSE) + UBound(MSA), 1 To 2)
End With

With CreateObject("scripting.dictionary")
For r = 1 To UBound(MSE)
.Item(MSE(r, 1)) = .Item(MSE(r, 1)) + MSE(r, 2)
Next r

For r = 1 To UBound(MSA)
If .exists(MSA(r, 1)) Then
i = i + 1
kq(i, 1) = MSA(r, 1)
kq(i, 2) = MSA(r, 2) - .Item(MSA(r, 1))
.Remove MSA(r, 1)
Else
Sheet1.Range("A" & r + 3, "B" & r + 3).Interior.ColorIndex = 6
End If
Next r

For r = 1 To UBound(MSE)
If .exists(MSE(r, 1)) Then
Sheet1.Range("E" & r + 3, "F" & r + 3).Interior.ColorIndex = 8
End If
Next r
End With

Sheet1.Range("G4").Resize(UBound(MSE) + UBound(MSA), 2).Clear
Sheet1.Range("G4").Resize(i, 2) = kq
End Sub
 
Lần chỉnh sửa cuối:
Công thức tại G4:

Mã:
=IFERROR(INDEX($A$4:$A$324,SMALL(IF(COUNTIF($E$4:$E$184,$A$4:$A$324)>0,ROW($A$4:$A$324)-ROW($A$4)+1,""),ROWS($1:1))),"")

Kết thúc bằng Ctrl-shift-enter.

H4:

Mã:
=SUMIF($A$4:$A$324,G4,$B$4:$B$324)-SUMIF($E$4:$E$184,G4,$F$4:$F$184)

Copy cả hai xuống

Để đánh dấu ô màu vàng tại cột A, dùng Condition formating tại ô A4, copy công thức này vào điều kiện:

=COUNTIF($E$4:$E$184,A4)=0
 
Bạn giúp mình đưa doan code này vô file mẫu mình với sao mình đưa vô không thấy nó chạy
 
Anh chị giúp em lập công thức hoặc viết VBA cho 2 cột text so sánh cho ra kết quả number em gởi file đính kèm . Rat mong Anh chị coi giúp em với
Yêu cầu không khó mà trình bày trong file đọc như mớ bòng bong ý, chắc là mình đang mơ ngủ :D :D :D
Công thức có thêm khuyến mãi Conditional Formatting na :
1. Mã có ở cả cột A và cột E :
Mã:
=IFERROR(INDEX($E$4:$E$184,MATCH(1,INDEX((COUNTIF($E$4:$E$184,$A$4:$A$84)>0)*(COUNTIF($G$3:G3,$E$4:$E$184)=0),0),0),0),"")
2. Số lượng :
Mã:
=SUMIF($A$4:$A$85,G4,$B$4:$B$85)-SUMIF($E$4:$E$184,G4,$F$4:$F$184)
*** Bôi màu vàng nếu Mã có ở A mà không có ở E - Dùng conditional Formatting với công thức này :
Mã:
=AND(($A4<>""),COUNTIF($E$4:$E$184,$A4)=0)
3. Mã có ở A mà không có ở E :
Mã:
=IFERROR(INDEX($A$4:$A$84,MATCH(1,INDEX((COUNTIF($E$4:$E$184,$A$4:$A$84)=0)*(COUNTIF($I$3:I3,$A$4:$A$84)=0)*($A$4:$A$84<>""),0),0),0),"")
*** Bôi màu xanh nếu mã có ở E mà không có ở A - Dùng CF với công thức
Mã:
=COUNTIF($A$4:$A$84,$E4)=0
4. Mã có ở E mà không có ở A :
Mã:
=IFERROR(INDEX($E$4:$E$184,MATCH(1,INDEX((COUNTIF($A$4:$A$84,$E$4:$E$184)=0)*(COUNTIF($J$3:J3,$E$4:$E$184)=0),0),0),0),"")
Chi tiết xem file đính kèm :D :D :D : D.
P/S : Nếu không xài được IFERROR thì xài tạm IF(ISERROR( na.
 

File đính kèm

Lần chỉnh sửa cuối:
Bạn cho mình hỏi mỗi lần thay đổi số thì mình run thì vba mới chạy đc hả bạn. Bạn giúp mình thêm cái này với .
Nếu cột A thay đổi text bất kỳ cho giống cột E thì VBA vẩn hiêu và cho ra kết quả mới
 
Bạn cho mình hỏi mỗi lần thay đổi số thì mình run thì vba mới chạy đc hả bạn. Bạn giúp mình thêm cái này với .
Nếu cột A thay đổi text bất kỳ cho giống cột E va nguoc lai thì VBA vẩn hiêu và cho ra kết quả mới
 
Bạn cho mình hỏi mỗi lần thay đổi số thì mình run thì vba mới chạy đc hả bạn. Bạn giúp mình thêm cái này với .
Nếu cột A thay đổi text bất kỳ cho giống cột E va nguoc lai thì VBA vẩn hiêu và cho ra kết quả mới
Vậy bạn cho code vào sự kiện Worksheet_Change của sheet luôn, và nhớ kiểm tra trên cột A mới thực hiện.
 
Bạn có thể chỉ rõ hơn được không hay bạn lam trên file goi cho mình được không sao mình mò hoài mà không ra . Cảm ơn bạn quan tâm giúp đỡ
 
Bạn giúp mình hiệu chỉnh công thức với mình có thêm vài cái nữa mình lấy cột A làm chuẩn để cho ra kết quả mình gởi file có gì bạn xem giúp mình với . Cảm ơn bạn giúp đỡ
 

File đính kèm

Bạn giúp mình hiệu chỉnh công thức với mình có thêm vài cái nữa mình lấy cột A làm chuẩn để cho ra kết quả mình gởi file có gì bạn xem giúp mình với . Cảm ơn bạn giúp đỡ

Bạn hỏi tiếp bài của ai thì nên trích dẫn vài dòng của bài đó chứ...
Cái đó là định dạng có điều kiện (Conditional Formatting), bạn sửa lại vùng của 2 name tôi đã tạo là được (Nhấn Ctrl + F3 để xem)
 

File đính kèm

Sao yêu cầu này mình thấy quen quen, có khả năng gặp nhiều rồi.
Mà bạn chủ thớt nói mình thấy nó loằng ngoằng lên bao nhiêu ấy.
 
Bạn hỏi tiếp bài của ai thì nên trích dẫn vài dòng của bài đó chứ...
Cái đó là định dạng có điều kiện (Conditional Formatting), bạn sửa lại vùng của 2 name tôi đã tạo là được (Nhấn Ctrl + F3 để xem)

mình kiểm tra thấy cột A có (125+450)x450 cột E cũng có (125+450)x450 công thức của vẫn tô màu nó không hiểu 2 thằng đó giống nhau. bạn kiểm tra dùm mình vói
 
mình kiểm tra thấy cột A có (125+450)x450 cột E cũng có (125+450)x450 công thức của vẫn tô màu nó không hiểu 2 thằng đó giống nhau. bạn kiểm tra dùm mình vói

Tại sao bạn không tự kiểm tra mà lại đề nghị tôi kiểm tra?
Nếu đúng như bạn nói thì tại sao khi B106 = 1 mà G106 = -1 ?
Bạn thử nhập vào ô H106 = A106=E312 xem kết quả là gì?
 
Tại sao bạn không tự kiểm tra mà lại đề nghị tôi kiểm tra?
Nếu đúng như bạn nói thì tại sao khi B106 = 1 mà G106 = -1 ?
Bạn thử nhập vào ô H106 = A106=E312 xem kết quả là gì?
Mình kiểm tra chủ nhưng không biết tại sao nên mới nhờ bạn mình kiểm tra gần 2 tiếng mà k ra nên mới lên nhờ bạn coi dùm nè hehehe
 

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

Back
Top Bottom