Xử lý bài toán Validation này khó quá

Liên hệ QC

tuanminhtdhbthn

Thành viên chính thức
Tham gia
3/4/08
Bài viết
75
Được thích
13
Nghề nghiệp
KT
Em có 3 bài toán này, chưa tìm ra cách giải quyết được. Em gộp cả 3 bài vào 1 file. Mong các bác quan tâm tháo gỡ hộ em với

Bài 1: Em muốn hỏi về cách nhập theo ngày tháng tăng dần (dùng Validation) ở cột D. Tức là chỉ cho nhập theo ngày tháng tăng dần (Các bác xem file đính kèm)
Bài 2: Em muốn hỏi về cách nhập dữ liệu không bị trùng nhau (dùng Validation) ở cột I và K. Cụ thể ví dụ cột I em muốn các dữ liệu ở cột I khi nhập không bị trùng với dữ liệu có sẵn ở chính cột I (cái này thì em làm được) và cột K (Cái này em đang muốn hỏi các bác), tương tự với việc nhập dữ liệu ở cột K, khi nhập không có dữ liệu nào trùng với cột K và cột I (Các bác xem file đính kèm)
Bài 3: Em muốn hỏi về cách nhập dữ liệu không bị trùng nhau từ List có sẵn (dùng Validation) ở cột P. Em có 1 list ở cột P gồm (a,b,c…). Và chỉ việc chọn dữ liệu từ list có sẵn đó. Nhưng em muốn chỉ chọn dữ liệu không bị trùng nhau thôi. Tức là không có dữ liệu nào bị trùng lặp cả. (Các bác xem file đính kèm)

Cảm ơn các bác đã quan tâm
 

File đính kèm

Em có 3 bài toán này, chưa tìm ra cách giải quyết được. Em gộp cả 3 bài vào 1 file. Mong các bác quan tâm tháo gỡ hộ em với

Bài 1: Em muốn hỏi về cách nhập theo ngày tháng tăng dần (dùng Validation) ở cột D. Tức là chỉ cho nhập theo ngày tháng tăng dần (Các bác xem file đính kèm)
Bài 2: Em muốn hỏi về cách nhập dữ liệu không bị trùng nhau (dùng Validation) ở cột I và K. Cụ thể ví dụ cột I em muốn các dữ liệu ở cột I khi nhập không bị trùng với dữ liệu có sẵn ở chính cột I (cái này thì em làm được) và cột K (Cái này em đang muốn hỏi các bác), tương tự với việc nhập dữ liệu ở cột K, khi nhập không có dữ liệu nào trùng với cột K và cột I (Các bác xem file đính kèm)
Bài 3: Em muốn hỏi về cách nhập dữ liệu không bị trùng nhau từ List có sẵn (dùng Validation) ở cột P. Em có 1 list ở cột P gồm (a,b,c…). Và chỉ việc chọn dữ liệu từ list có sẵn đó. Nhưng em muốn chỉ chọn dữ liệu không bị trùng nhau thôi. Tức là không có dữ liệu nào bị trùng lặp cả. (Các bác xem file đính kèm)

Cảm ơn các bác đã quan tâm
Câu hỏi 3 Validation không làm được.
Câu 1 và 2 bạn xem trong file.
 

File đính kèm

Em có 3 bài toán này, chưa tìm ra cách giải quyết được. Em gộp cả 3 bài vào 1 file. Mong các bác quan tâm tháo gỡ hộ em với

Bài 1: Em muốn hỏi về cách nhập theo ngày tháng tăng dần (dùng Validation) ở cột D. Tức là chỉ cho nhập theo ngày tháng tăng dần (Các bác xem file đính kèm)
Bài 2: Em muốn hỏi về cách nhập dữ liệu không bị trùng nhau (dùng Validation) ở cột I và K. Cụ thể ví dụ cột I em muốn các dữ liệu ở cột I khi nhập không bị trùng với dữ liệu có sẵn ở chính cột I (cái này thì em làm được) và cột K (Cái này em đang muốn hỏi các bác), tương tự với việc nhập dữ liệu ở cột K, khi nhập không có dữ liệu nào trùng với cột K và cột I (Các bác xem file đính kèm)
Bài 3: Em muốn hỏi về cách nhập dữ liệu không bị trùng nhau từ List có sẵn (dùng Validation) ở cột P. Em có 1 list ở cột P gồm (a,b,c…). Và chỉ việc chọn dữ liệu từ list có sẵn đó. Nhưng em muốn chỉ chọn dữ liệu không bị trùng nhau thôi. Tức là không có dữ liệu nào bị trùng lặp cả. (Các bác xem file đính kèm)

Cảm ơn các bác đã quan tâm
Câu 1 và 2 quá dể ---> Bạn suy nghĩ 1 tí là ra ngay thôi
Riêng câu hỏi số 3 bạn có thể tham khảo tại đây:
Valiadation - chống nhập trùng
 
Bác huuthang xem lại hộ em câu 1 với. Em chặn sẵn là ngày từ 10/02/2009 đến 31/12/2012. Tức là chỉ nhập được dạng ngày tháng thôi. Đặt điều kiện như bác thì em nhập các ký tự a, b,c...cũng được
 
Bác huuthang xem lại hộ em câu 1 với. Em chặn sẵn là ngày từ 10/02/2009 đến 31/12/2012. Tức là chỉ nhập được dạng ngày tháng thôi. Đặt điều kiện như bác thì em nhập các ký tự a, b,c...cũng được
Câu 1 làm vầy nè

attachment.php


Yêu cầu: Không được để cell rổng
 

File đính kèm

  • untitled.JPG
    untitled.JPG
    24.3 KB · Đọc: 162
Câu 1 làm vầy nè

attachment.php


Yêu cầu: Không được để cell rổng
Cách này cũng chưa hoàn hảo. Nếu ngay từ D4 người ta không nhập vào ngày 10/02/2009 mà nhập vào một ngày trước đó thì cũng không chặng được. Hoặc nếu người nhập bỏ qua một dòng và nhập dòng dưới thì cũng có thể thoát khỏi giới hạn của Validation.
 
Cách này cũng chưa hoàn hảo. Nếu ngay từ D4 người ta không nhập vào ngày 10/02/2009 mà nhập vào một ngày trước đó thì cũng không chặng được. Hoặc nếu người nhập bỏ qua một dòng và nhập dòng dưới thì cũng có thể thoát khỏi giới hạn của Validation.
Thì đương nhiên! Nhập liệu phải tuân thủ quy luật nào đó chứ ---> Nếu "cố tình" thì tôi nghĩ chẳng có giải pháp nào (cả công thức lần VBA) có thể ngăn cản nổi
Quy luật ở đây là nhập liên tục từ trên xuống... nhập rồi không được sửa lại và cũng không được bỏ dòng trống
Muốn "ăn" phải "chịu khó" thôi bạn à!
 
1. Cách của ndu:

attachment.php


yêu cầu là không được để ô trống, muốn có ô trống mà vẫn đúng thì thêm max vào:

=MAX($D$4:$D4)


2. Còn với yêu cầu chặn trên và chặn dưới, giả sử giá trị chặn dưới ở ô A14 và giá trị chặn trên ở ô A15:

=AND(D4>=$A$14;D4<=$A$15;D4>=MAX($D$4:$D4))

3. nếu biết giá trị chặn là 10/02/2009 và 31/12/2012 thì vầy:


=AND(D4>=39854;D4<=41274;D4>=MAX($D$4:$D4))
 
1. Cách của ndu:

attachment.php


yêu cầu là không được để ô trống, muốn có ô trống mà vẫn đúng thì thêm max vào:

=MAX($D$4:$D4)


2. Còn với yêu cầu chặn trên và chặn dưới, giả sử giá trị chặn dưới ở ô A14 và giá trị chặn trên ở ô A15:

=AND(D4>=$A$14;D4<=$A$15;D4>=MAX($D$4:$D4))

3. nếu biết giá trị chặn là 10/02/2009 và 31/12/2012 thì vầy:


=AND(D4>=39854;D4<=41274;D4>=MAX($D$4:$D4))
Sư phụ đưa luôn file lên xem thử ---> Chứ em thấy hình như vẫn có gì đó không ổn
Sư phụ thử nhập xong rồi sửa lại cell đầu tiên xem!
 
Sorry, không nói rõ là của ndu dùng Date, còn lão chết tiệt dùng custom
 

File đính kèm

Lần chỉnh sửa cuối:
Đó là hạn chế của validation mà, cái file này dựa theo nguyên tắc nhập liệu từ trên xuống. Cái gì phát sinh sau thì nhập vào sau ở dòng dưới. Giả sử phát hiện D4 lẽ ra là 11/05/2009 thì phải xoá nhập lại xuống dưới, hoặc move xuống dưới, hoặc sort lại. Bên kế toán là làm như vậy.

Cách làm ban đầu của ndu cũng vậy chứ gì. (Date + Greater than or equal to + =D3)

Những hạn chế của Validation thì nhiều lắm, như copy paste vô chẳng hạn.
 
Mà muốn báo hả, thì cho báo luôn:

=AND(D4>=39854;D4<=41274;D4>=MAX($D$4:$D4);D4<=MIN($D$100;$D4))

Có điều cũng chẳng ăn thua gì nếu copy - paste!
 
Lần chỉnh sửa cuối:
Các bạn làm như thế này nè. File đính kèm
 

File đính kèm

Các bạn làm như thế này nè. File đính kèm
Có đọc kỹ yêu cầu của người ta không vậy ông bạn?
Ngoài yêu cầu nhập liệu thuộc dạng DATE ra, cái người ta cần là ngày nhập sau phải >= ngày nhập trước... Bạn hiểu rồi chứ ---> Nếu đơn giản thế thì nói làm gì
 
Web KT

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

Back
Top Bottom