Chiêu th 17: S dng Data-Validation khi danh sách ngun nm trong mt Sheet khác
S dng Data-Validation là mt cách d nhất để áp dng mt quy tc nhp liu cho
mty d liu. Theo mặc đnh, Excel ch cho phép Data-Validation s dng nhng
danh sách ngun nm trong cùng mt Sheet vi y d liu s được áp dng quy tc
y. Tuy nhiên, vn có cách đ lách khi chuyện đó.
Chiêuy s giúp bn làm cho Data-Validation có th s dng nhng danh sách ngun
nm trong mt Sheet khác. Cách th nht là li dng chính việc đặt tên cho mt dãy ca
Excel, cách th hai là s dng một hàm đ gi ra danh sách đó.
Cách 1: S dng Name cho dãy ngun
Có l cách nhanh nht và d nhất đvượt qua rào cn Data-Validation của Excel là đặt
tên cho dãybn s dùng làm quy tc nhp liu. Để biết cách đt tên choy, bn
xem lot bài này: S dng tên cho y.
Gi s bạn đã đặt tên cho dãy s dùng m quy tc nhp liuMyRange. Bn chn ô
(hoc dãy) trong bt k Sheet nào mà bn mun có mt danh sách x ra để nhp liu,
ri trong menu Data trên Ribbon, bn chn Data Tools | Data Validation [E2003: Data
| Validation]. Chn List trong danh sách các Allow, trong khung Source, bn nhp
vào =MyRange. Nhn OK. Bi vì bạn đã s dng mt Name để làm List, nên bn có
th áp dng Data-Validation này cho bt k Sheet nào.
Cách 2: S dngm INDIRECT
m INDIRECT() cho phép bn tham chiếu đến ô cha d liệu text đại din cho mt
địa ch ô. Và ri bn có th s dụng ô đó như môt tham chiếu cc b, cho dù nó tham
chiếu đến d liu trong mt Sheet khác. Bn có th s dng tính năng y đ tham
chiếu đến nơi chứa dãy mà bn s dùng làm danh sách ngun cho quy tc Data-
Validation.
Gi s, dãy cha danh sách ngun này nm Sheet1, trongy $A$1:$A$8. Để to mt
Dala-Validation, bn cũng làm nhng bước như tôi đã nói ở cách 1, nhưng thay vì
tên dãy vào trong Source, thì bn nhập vào đó công thức:
=INDIRECT("Sheet1!$A$1:$A$8"). Hãy chc chn rng tùy chn In-cell drop-down
đang được kích hot, và nhn OK.
Nếu tên Sheet ca bn có cha khong trng, hoc du tiếng Vit, bn phải đặt tên
Sheet trong mt cặp nháy đơn ('). Ví dụ, gi sn Sheet cha danh sách ngun là Sheet
1 (ch không phi Sheet1), thì bn sa công thc trên lại như sau: =INDIRECT("'Sheet
1'!$A$1:$A$8"). Ch khác nhau so vi công thc hi nãy là có thêm mt du nhy đơn
(') sau du nháy p ("), và mt du nháy đơn (') nữa trước du chm than (!).
Xin m mt ngoặc đơn: Nếu như có thể đưc, khi gp nhng tham chiếu đến tên Sheet,
bn nên tp thói quen luôn luôn b nó vào trong cp dấu nháy đơn. Điều này, tuy chng
có tác dng gì vi nhữngn sheet như Sheet1, DMHH... nhưng nó sẽ giúp bn không
bao gi gp li, khi bạn hay đt tên Sheet khong trng, hay có b du tiếng Vit...
Ưu điểm và Khuyết điểm ca c hai cách đã nêu trên
Đặt tên cho dãy, và dùng hàm INDIRECT, đu có cái tin li và c cái bt tin.
Tin li ca việc đặt tên cho dãy, là vic bạn thay đổi tên Sheet chng có ảnh hưởng gì
đến Data-Validation. Và đó chính là cái bất tin ca vic dùng INDIRECT, khi bạn đổi
tên Sheet, tên mi s không tự động cp nht trong công thc dùng INDIRECT, cho nên
nếu vn mun dùng công thc này, bn phi m Data-Validation ra và sa li tên Sheet
trong công thc.
Tin li ca vic dùng INDIRECT, là dãyngm danh sách ngun ca bn ln luôn
nm yên chđã chn (A1:A8 trong ví d trên chng hn). Còn nếu bn dùng Name, mà
bn l tay xóa mt vài hàng (hoc ct) ngay ch cha Name, thì bn phải điu chnh li
cho đúng...