11/4/20

Tạo một danh sách xác thực thay đổi theo sự lựa chọn từ một danh sách khác

Chiêu thứ 25: Tạo một danh sách xác thực thay đổi theo sự lựa chọn từ một danh sách khác Trước tiên, chúng ta cần chuẩn bị một số dữ liệu ... thumbnail 1 summary
Chiêu thứ 25: Tạo một danh sách xác thực thay đổi theo sự lựa chọn từ một danh sách khác

Trước tiên, chúng ta cần chuẩn bị một số dữ liệu để thực hành bài này. Bạn hãy tạo một sheet mới và đặt tên là List và tại ô A1 nhập vào tiêu đề “Objects”. Tại ô B1 nhập vào tiêu đề “Corresponding List”. Vùng A2:A5 bạn nhập vào từ “Can”. Vùng A2:A9 nhập vào từ “Sofa”. Vùng A10:A13 nhập vào từ “Shower”. Vùng A14:A17 nhập vào từ “Car”. Sau đó, trong vùng B2:B17 bạn nhập vào các từ sau: Tin, Steel, Opener, Lid, Bed, Seat, Lounge, Cushion, Rain, Hot, Cold, Warm, Trip, Journey, Bonnet, và Boot.


Tại ô C1 nhập vào tiêu đề “Validation List”. Kế đó, bạn nhập vào các từ sau tại các ô C2:C5: Can, Sofa, Shower và Car. Đây là danh sách chứa các từ duy nhất từ vùng A2:A17.

Bạn có thể dùng chứa năng Advanced Filter để lọc ra danh sách duy nhất này bằng cách chọn vùng A2:A17 ➝ Data ➝ Sort & Filter ➝ Advanced (E2003: Data ➝ Filter ➝➝ chọn Unique Records Only ➝ chọn Filter the List in Place ➝ OK. Sau đó chép danh sách kết quả lọc duy nhất và dán vào vùng C2:C5. Advanced Filter) ​

Sau khi nhập xong bạn có danh sách như hình sau:




Bước tiếp theo là chúng ta sẽ định nghĩa một số Name cho các List trên. Bạn vào Formulas ➝➝ Name Manager ➝ chọn New (E2003: Insert ➝ Name ➝ Define). Trong hộp Name bạn nhập vào từ “Objects”. Tại hộp Refer To bạn nhập vào công thức sau: Define Names

=OFFSET($A$2,0,0,COUNTA($A$2:$A$20),1)
Nhấn nút OK sau khi nhập xong công thức trên. Tiếp theo, bạn nhấn New (E2003: nhấn Add) để tạo Name mới. Trong hộp Name nhập vào tên là “ValList” và tại Refer To nhập vào =$C$2:$C$5. Nhấn Close để đóng hộp thoại lại.

Bạn chèn thêm một sheet mới có tên là “Sheet1”. Bạn vào Formular ➝ chọn Define Names ➝Manager ➝ chọn New (E2003: Insert ➝ Name ➝ Define). Trong hộp Name bạn nhập vào “CorrespondingList” và tại Refer To nhập vào công thức sau: Name

=OFFSET(INDIRECT(ADDRESS(MATCH(Val1Cell,Objects,0)+1,2,,,"Lists")),0,0,COUNTIF(Objects,Val1Cell),1)

Tiếp tục nhấn New (hoặc Add trong Excel 2003) để thêm Name mới. Trong hộp Name bạn đặt tên là Val1Cell và tại Refer To nhập vào =$D$6 và nhấn OK.

Tiếp tục nhấn New để thêm Name mới với tên là Val2Cell và Refer To là =$E$6 nhấn OK sau khi hoàn tất.

Các Name mà bạn đã tạo như hình sau:

224528

Chúng ta đã chuẩn bị xong các thứ cần thiết, bây giờ đã đến lúc áp dụng chức năng Data Validation. Bạn chọn ô $D$6 trên Sheet1, sau đó vào ngăn Data ➝ tại nhóm Data Tools bạn chọn Data Validation ➝ chọn ngăn Settings trong hộp thoại Data Validatin (E2003: Data ➝ Validation ➝ Settings). Bạn chọn loại List tại hộp Allow và tại hộp Source nhập vào =ValList, đánh dấu chọn In-cell dropdown, sau đó nhấn OK để hoàn tất.

224529

Chọn ô E6, sau đó vào ngăn settings trong hộp thoại Data Validation như trên. Bạn chọn List tại Allow và nhập vào =CorrespondingList tại hộp Source, đánh dấu chọn vào In-cell dropdown và nhấn OK để hoàn tất.

Trong quá trình thiết lập Data Validation cho ô E6, bạn sẽ nhận được thông báo lỗi “The source currently evaluates to an error. Do you want to continue?”. Bạn hãy chọn Yes. Lỗi này xuất hiện là do ô D6 đang rỗng.​

Bạn thử chọn một tên trong danh sách tại ô D6 và xem sự thay đổi tương ứng trong danh sách tại ô E6 như hình minh họa sau:


Tải file ví dụ
DOWNLOAD
===================================================
Để trao đổi và hỏi đáp thêm về chủ đề này, vui lòng truy cập vào diễn đàn các bạn nhé https://thuthuataccess.com/forum/forum-21.html

Không có nhận xét nào

Đăng nhận xét