mình nghỉ chắc chỉ xài vba mới được, mà vba thì yêu cầu data phải rỏ ràng, chứ mà nằm lung tung thì ko biết đường đâu mà mò, bạn nên gởi file thật của bạn lên
bạn chép thử đoạn code này,(nó chỉ gói gọn trong vùng số liêu của bạn thôi nha
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("B3:B5")) Is Nothing Then
If Target.Value = "Khác" Then
Target.Offset(0, 2).Select
Else
Target.Offset(0, 2).Select
End If
End If
If Not Intersect(Target, Range("B26:B40")) Is Nothing Then
sobang = Application.WorksheetFunction.VLookup(Target.Value, [B18:C21], 2, 0)
KiemTra = Application.WorksheetFunction.CountIf([B26:b40], Target.Value)
If KiemTra > sobang Then
MsgBox " " & Target.Value & " chi co " & sobang & " Bang Cap"
End If
End If
On Error GoTo 0
End Sub