1. 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:
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.
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á tŕ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: