Thắc mắc về Data Validation + IF

Liên hệ QC

comeonnow

Thành viên chính thức
Tham gia
26/3/13
Bài viết
52
Được thích
4
Em có Data Validation theo điều kiện của ô [B1]
Nếu là E1, E2 thì ra 1 list, nếu là F1, F2, F3 thì ra list khác.

Điều kiện trong ô của Data Validtion em viết như sau
PHP:
=IF(OR($B$1="E1",$B$1="E2"),GPE!$A$29:$A$32:$E$14),(IF(OR(B1="F1",B1="F2",B1="F3"),GPE!$A$34:$A$39))

Excel hiện ra thông báo như hình dưới
11.JPG

Kết qua ra là em ko xổ được list ra, ko theo điều kiện nào cả... Bác nào giúp em với. Nói chung em thấy là việc viết điều kiện trong Data Validation khá là khó khăn do ko di chuyển con trỏ bằng mũi tên được :3 nên hay bị sai, có mẹo nào khắc phục không nhỉ

Ngoài ra, nếu được, em cần ẩn or để trống (blank) ô B4 đó khi không chọn bất kỳ trường hợp nào trong số E1, E2, F1, F2, F3 thì có thực hiện được không nhỉ? Vì bình thường thì, ô B4 sẽ giữ nguyên kết quả chọn của lần trước đó
 

File đính kèm

  • Data.Validation.xlsx
    12.4 KB · Đọc: 67
Em có Data Validation theo điều kiện của ô [B1]
Nếu là E1, E2 thì ra 1 list, nếu là F1, F2, F3 thì ra list khác.

Điều kiện trong ô của Data Validtion em viết như sau
PHP:
=IF(OR($B$1="E1",$B$1="E2"),GPE!$A$29:$A$32:$E$14),(IF(OR(B1="F1",B1="F2",B1="F3"),GPE!$A$34:$A$39))

Excel hiện ra thông báo như hình dưới
View attachment 155999

Kết qua ra là em ko xổ được list ra, ko theo điều kiện nào cả... Bác nào giúp em với. Nói chung em thấy là việc viết điều kiện trong Data Validation khá là khó khăn do ko di chuyển con trỏ bằng mũi tên được :3 nên hay bị sai, có mẹo nào khắc phục không nhỉ

Ngoài ra, nếu được, em cần ẩn or để trống (blank) ô B4 đó khi không chọn bất kỳ trường hợp nào trong số E1, E2, F1, F2, F3 thì có thực hiện được không nhỉ? Vì bình thường thì, ô B4 sẽ giữ nguyên kết quả chọn của lần trước đó
Do công thức bạn gõ không đúng cú pháp nên nó sai là đúng rồi. Phải vầy mới đúng.
Mã:
=IF(OR($B$1="E1",$B$1="E2"),GPE!$A$29:$A$32,IF(OR(B1="F1",B1="F2",B1="F3"),GPE!$A$34:$A$39))
Kinh nghiệm của tôi là gõ công thức bên Word sau đó copy vào.
 
Do công thức bạn gõ không đúng cú pháp nên nó sai là đúng rồi. Phải vầy mới đúng.
Mã:
=IF(OR($B$1="E1",$B$1="E2"),GPE!$A$29:$A$32,IF(OR(B1="F1",B1="F2",B1="F3"),GPE!$A$34:$A$39))
Kinh nghiệm của tôi là gõ công thức bên Word sau đó copy vào.

Tks bác, hóa ra là em ấn nhầm nút phải trái gì đó nó thêm $E$14 . Còn có cách nào để cho ô Data Valadition (list) đó tự động trở thành blank được không nhỉ? Em để cuối câu If thứ 2 khi false trỏ về 1 ô trắng nhưng mình phải thủ công chọn bằng tay

PS: Tiện đây cho em hỏi: Conditional Formating có cách nào đặt điều kiện IF cho ô [A1]để khi 1 ô khác [H8] = 1 giá trị đặt trước (ví dụ : H8= "F1"), thì ô [A1] chuyển màu thành màu đỏ không nhỉ?
 
Lần chỉnh sửa cuối:
Tks bác, hóa ra là em ấn nhầm nút phải trái gì đó nó thêm $E$14 . Còn có cách nào để cho ô Data Valadition (list) đó tự động trở thành blank được không nhỉ? Em để cuối câu If thứ 2 khi false trỏ về 1 ô trắng nhưng mình phải thủ công chọn bằng tay
Cái này thì không được đâu, phải chọn bằng tay hoặc gõ vào thôi. Còn muốn nó tự động phải dùng đến code thôi bạn à.
PS: Tiện đây cho em hỏi: Conditional Formating có cách nào đặt điều kiện IF cho ô [A1]để khi 1 ô khác [H8] = 1 giá trị đặt trước (ví dụ : H8= "F1"), thì ô [A1] chuyển màu thành màu đỏ không nhỉ?
Được chứ bác, cài công thức kiểm tra khi nào thỏa mãn thì tô màu nó thôi.
Bạn chọn ô A1 và cài Conditional Formating như trong hình.
Hinh.jpg
 
Lần chỉnh sửa cuối:
Cái này thì không được đâu, phải chọn bằng tay hoặc gõ vào thôi. Còn muốn nó tự động phải dùng đến code thôi bạn à.

Bác nói sơ qua về code VBA để tạo blank , em cũng đang làm file excel chủ yếu bằng VBA, nhưng chỉ là dùng 1 số cơ bản: IF, FOR, CASE..
 
Bác nói sơ qua về code VBA để tạo blank , em cũng đang làm file excel chủ yếu bằng VBA, nhưng chỉ là dùng 1 số cơ bản: IF, FOR, CASE..
Bạn dùng sự kiện này cho sheet bang tinh thử xem
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Address = "$B$1") And (Target.Value = "") Then [b5].Value = ""
End Sub
 
Bạn dùng sự kiện này cho sheet bang tinh thử xem
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Address = "$B$1") And (Target.Value = "") Then [b5].Value = ""
End Sub

PHP:
If (Target.Address = "$B$1") And (Target.Value = "F2") Then [b5].Value = " "

Em sửa lại 1 chút cho đúng ý của em, nhưng chạy vẫn không khác gì là trường hợp lúc ko đúng điều kiện của Data Validation, nó vẫn lưu lại lựa chọn cũ, và ấn vào mũi tên chỉ xuống thì không ra list.

Em chuyển hướng sang nhắc nhở bằng cách đổ màu vào ô vậy!
 
Web KT
Back
Top Bottom