Mục lục
Hướng dẫn chỉ ra cách tạo quy tắc Xác thực dữ liệu tùy chỉnh trong Excel. Bạn sẽ tìm thấy một vài ví dụ về công thức xác thực dữ liệu E xcel để chỉ cho phép các số hoặc giá trị văn bản trong các ô cụ thể hoặc chỉ văn bản bắt đầu bằng các ký tự cụ thể, cho phép dữ liệu duy nhất ngăn trùng lặp, v.v.
Trong hướng dẫn ngày hôm qua, chúng ta đã bắt đầu tìm hiểu về Xác thực dữ liệu Excel - mục đích của nó là gì, cách thức hoạt động và cách sử dụng các quy tắc tích hợp sẵn để xác thực dữ liệu trong trang tính của bạn. Hôm nay, chúng ta sẽ tiến thêm một bước và nói về các khía cạnh cơ bản của việc xác thực dữ liệu tùy chỉnh trong Excel cũng như thử nghiệm một số công thức xác thực khác nhau.
Cách để tạo xác thực dữ liệu tùy chỉnh bằng công thức
Microsoft Excel có một số quy tắc xác thực dữ liệu tích hợp sẵn cho số, ngày tháng và văn bản nhưng chúng chỉ bao gồm các tình huống cơ bản nhất. Nếu bạn muốn xác thực các ô bằng tiêu chí của riêng mình, hãy tạo quy tắc xác thực tùy chỉnh dựa trên công thức. Dưới đây là cách thực hiện:
- Chọn một hoặc nhiều ô để xác thực.
- Mở hộp thoại Xác thực dữ liệu. Đối với điều này, hãy nhấp vào nút Xác thực dữ liệu trên tab Dữ liệu , trong nhóm Công cụ dữ liệu hoặc nhấn tổ hợp phím Alt > D > L (từng phím được nhấn riêng).
- Trên tab Cài đặt của cửa sổ hộp thoại Xác thực dữ liệu , hãy chọn Tùy chỉnh trong hộp Cho phép và nhậpvị trí của hàng và cột. Do đó, đối với ô D3, công thức sẽ thay đổi thành
=A3/B3
và đối với D4, nó sẽ trở thành=A4/B4
, do việc xác thực dữ liệu hoàn toàn sai!Để sửa công thức, chỉ cần nhập "$" trước tham chiếu cột và hàng để khóa chúng:
=$A$2/$B$2
. Hoặc nhấn F4 để chuyển đổi giữa các loại tham chiếu khác nhau.Trong trường hợp bạn muốn xác thực từng ô dựa trên tiêu chí riêng của ô đó, hãy sử dụng tham chiếu ô tương đối không có ký hiệu $ để lấy công thức điều chỉnh cho mỗi hàng hoặc/và cột:
Như bạn thấy, không có "sự thật tuyệt đối", cùng một công thức có thể đúng hoặc sai tùy thuộc vào tình huống và nhiệm vụ cụ thể của bạn.
Đây là cách sử dụng xác thực dữ liệu trong Excel với các công thức của riêng bạn. Để hiểu rõ hơn, vui lòng tải xuống sổ làm việc mẫu của chúng tôi bên dưới và kiểm tra cài đặt quy tắc. Tôi cảm ơn bạn đã đọc và hy vọng sẽ gặp bạn trên blog của chúng tôi vào tuần tới!
Sách bài tập thực hành để tải xuống
Các ví dụ về Xác thực dữ liệu Excel (tệp .xlsx)
công thức xác thực dữ liệu của bạn trong hộp Công thức . - Nhấp vào OK .
Tùy chọn, bạn có thể thêm thông báo nhập tùy chỉnh và Cảnh báo lỗi sẽ hiển thị khi người dùng chọn ô đã xác thực hoặc nhập dữ liệu không hợp lệ tương ứng.
Dưới đây, bạn sẽ tìm thấy một số ví dụ về quy tắc xác thực tùy chỉnh cho các loại dữ liệu khác nhau.
Lưu ý. Tất cả các quy tắc xác thực dữ liệu Excel, được tích hợp sẵn và tùy chỉnh, chỉ xác minh dữ liệu mới được nhập vào một ô sau khi tạo quy tắc. Dữ liệu đã sao chép không được xác thực, cũng như không được nhập dữ liệu vào ô trước khi thực hiện quy tắc. Để ghim các mục hiện có không đáp ứng tiêu chí xác thực dữ liệu của bạn, hãy sử dụng tính năng Vòng tròn dữ liệu không hợp lệ như được minh họa trong Cách tìm dữ liệu không hợp lệ trong Excel.
Xác thực dữ liệu Excel để chỉ cho phép các số
Đáng ngạc nhiên là không có quy tắc xác thực dữ liệu sẵn có nào của Excel phù hợp với tình huống rất điển hình khi bạn cần hạn chế người dùng chỉ nhập số vào các ô cụ thể. Tuy nhiên, bạn có thể dễ dàng thực hiện điều này bằng công thức xác thực dữ liệu tùy chỉnh dựa trên hàm ISNUMBER, chẳng hạn như sau:
=ISNUMBER(C2)
Trong đó C2 là ô trên cùng của phạm vi mà bạn muốn xác thực.
Lưu ý. Hàm ISNUMBER cho phép bất kỳ giá trị số nào trong các ô được xác thực, bao gồm số nguyên, số thập phân, phân số cũng như ngày và giờ, cũng là các số theo định nghĩa của Excel.
Cho phép xác thực dữ liệu Excelchỉ văn bản
Nếu bạn đang tìm kiếm điều ngược lại - chỉ cho phép nhập văn bản trong phạm vi ô nhất định, thì hãy tạo quy tắc tùy chỉnh bằng hàm ISTEXT, ví dụ:
=ISTEXT(D2)
Trong đó D2 là ô trên cùng của phạm vi đã chọn.
Cho phép văn bản bắt đầu bằng (các) ký tự cụ thể
Nếu tất cả các giá trị trong một phạm vi nhất định phạm vi phải bắt đầu bằng một ký tự hoặc chuỗi con cụ thể, sau đó thực hiện xác thực dữ liệu Excel dựa trên hàm COUNTIF bằng ký tự đại diện:
COUNTIF( cell," text*")Ví dụ: để đảm bảo rằng tất cả id đơn đặt hàng trong cột A bắt đầu bằng tiền tố "AA-", "aa-", "Aa-" hoặc "aA-" (không phân biệt chữ hoa chữ thường), hãy xác định quy tắc tùy chỉnh với điều này công thức xác thực dữ liệu:
=COUNTIF(A2,"aa-*")
Công thức xác thực với logic OR (nhiều tiêu chí)
Trong trường hợp có 2 tiêu chí hợp lệ trở lên tiền tố, thêm một số hàm COUNTIF để quy tắc xác thực dữ liệu Excel của bạn hoạt động với logic OR:
=COUNTIF(A2,"aa-*")+COUNTIF(A2,"bb-*")
Công thức xác thực phân biệt chữ hoa chữ thường
Nếu trường hợp ký tự quan trọng, thì hãy sử dụng EXACT kết hợp với hàm LEFT để tạo công thức xác thực phân biệt chữ hoa chữ thường cho các mục nhập bắt đầu bằng văn bản cụ thể:
EXACT(LEFT( cell, number_of_chars), text)Ví dụ: để chỉ cho phép những id đơn hàng bắt đầu bằng "AA-" (không cho phép "aa-" hay "Aa-"), hãy sử dụng mã này công thức:
=EXACT(LEFT(A2,3),"AA-")
Trong công thức trên,hàm LEFT trích xuất 3 ký tự đầu tiên từ ô A2 và EXACT thực hiện so sánh phân biệt chữ hoa chữ thường với chuỗi con được mã hóa cứng ("AA-" trong ví dụ này). Nếu hai chuỗi con khớp chính xác, công thức trả về TRUE và quá trình xác thực sẽ thành công; nếu không FALSE được trả về và quá trình xác thực không thành công.
Cho phép các mục chứa văn bản nhất định
Để cho phép các mục chứa văn bản cụ thể ở bất kỳ đâu trong một ô (ở đầu , giữa hoặc cuối), hãy sử dụng hàm ISNUMBER kết hợp với TÌM hoặc TÌM KIẾM tùy thuộc vào việc bạn muốn khớp phân biệt chữ hoa chữ thường hay không phân biệt chữ hoa chữ thường:
- Xác thực không phân biệt chữ hoa chữ thường: ISNUMBER(SEARCH( văn bản , ô ))
- Xác thực phân biệt chữ hoa chữ thường: ISNUMBER(FIND( văn bản , ô ))
Trên tập dữ liệu mẫu của chúng tôi, để chỉ cho phép các mục nhập chứa văn bản "AA" trong các ô A2:A6, hãy sử dụng một trong các công thức sau:
Không phân biệt chữ hoa chữ thường:
=ISNUMBER(SEARCH("AA", A2))
Phân biệt chữ hoa chữ thường:
=ISNUMBER(FIND("AA", A2))
Các công thức hoạt động theo logic sau:
Bạn tìm kiếm chuỗi con "AA" trong ô A2 sử dụng TÌM hoặc TÌM KIẾM và cả hai đều trả về vị trí của ký tự đầu tiên trong chuỗi con. Nếu văn bản không được tìm thấy, một lỗi sẽ được trả về. Đối với bất kỳ giá trị số nào được trả về dưới dạng kết quả tìm kiếm, hàm ISNUMBER cho kết quả TRUE và xác thực dữ liệu thành công. Trong trường hợp có lỗi, ISNUMBER trả về FALSE và mục nhập sẽ không được phép trong mộtô.
Xác thực dữ liệu để chỉ cho phép các mục nhập duy nhất và không cho phép trùng lặp
Trong các trường hợp khi một cột hoặc một phạm vi ô nhất định không được chứa bất kỳ mục trùng lặp nào, định cấu hình quy tắc xác thực dữ liệu tùy chỉnh để chỉ cho phép các mục nhập duy nhất. Đối với điều này, chúng ta sẽ sử dụng công thức COUNTIF cổ điển để xác định các giá trị trùng lặp:
=COUNTIF( range, topmost_cell)<=1Ví dụ: để tạo đảm bảo rằng chỉ các id đơn hàng duy nhất được nhập vào các ô từ A2 đến A6, hãy tạo quy tắc tùy chỉnh với công thức xác thực dữ liệu này:
=COUNTIF($A$2:$A$6, A2)<=1
Khi một giá trị duy nhất được nhập, công thức sẽ trả về TRUE và xác thực thành công. Nếu cùng một giá trị đã tồn tại trong phạm vi được chỉ định (số đếm lớn hơn 1), COUNTIF trả về FALSE và thông tin nhập vào không xác thực được.
Xin lưu ý rằng chúng tôi khóa phạm vi bằng tham chiếu ô tuyệt đối (A$2:$A $6) và sử dụng tham chiếu tương đối cho ô trên cùng (A2) để điều chỉnh công thức phù hợp cho từng ô trong phạm vi đã xác thực.
Lưu ý. Công thức xác thực dữ liệu này không phân biệt chữ hoa chữ thường , nó không phân biệt chữ hoa và chữ thường.
Các công thức xác thực cho ngày và giờ
Xác thực ngày có sẵn cung cấp khá nhiều tiêu chí được xác định trước để hạn chế người dùng chỉ nhập ngày giữa hai ngày bạn chỉ định, lớn hơn, nhỏ hơn hoặc bằng một ngày nhất định.
Nếu bạn muốn kiểm soát dữ liệu nhiều hơnxác thực trong trang tính của mình, bạn có thể sao chép chức năng sẵn có bằng quy tắc tùy chỉnh hoặc viết công thức của riêng mình ngoài khả năng tích hợp sẵn của xác thực dữ liệu Excel.
Cho phép ngày giữa hai ngày
Để giới hạn mục nhập vào một ngày trong phạm vi đã chỉ định, bạn có thể sử dụng quy tắc Ngày được xác định trước với tiêu chí "giữa" hoặc tạo quy tắc xác thực tùy chỉnh bằng công thức chung sau:
AND( cell> ;= ngày_bắt_đầu), ô<= ngày_kết_thúc)Ở đâu:
- ô là ô trên cùng trong phạm vi đã xác thực và ngày
- bắt đầu và kết thúc là những ngày hợp lệ được cung cấp qua hàm DATE hoặc tham chiếu đến các ô chứa ngày.
Ví dụ: để chỉ cho phép các ngày trong tháng 7 năm 2017, hãy sử dụng công thức sau:
=AND(C2>=DATE(2017,7,1),C2<=DATE(2017,7,31))
Hoặc nhập ngày bắt đầu và ngày kết thúc ngày trong một số ô ( F1 và F2 trong ví dụ này) và tham chiếu các ô đó trong công thức của bạn:
=AND(C2>=$F$1, C2<=$F$2)
Xin lưu ý rằng các ngày ranh giới ar e bị khóa với các tham chiếu ô tuyệt đối.
Chỉ cho phép các ngày trong tuần hoặc cuối tuần
Để hạn chế người dùng chỉ nhập các ngày trong tuần hoặc cuối tuần, hãy định cấu hình quy tắc xác thực tùy chỉnh dựa trên trên hàm WEEKDAY.
Với đối số return_type được đặt thành 2, WEEKDAY trả về một số nguyên nằm trong khoảng từ 1 (Thứ Hai) đến 7 (Chủ Nhật). Vì vậy, đối với các ngày trong tuần (Thứ Hai đến Thứ Sáu), kết quả của công thức phải lànhỏ hơn 6 và đối với các ngày cuối tuần (Thứ Bảy và Chủ Nhật) lớn hơn 5.
Chỉ cho phép ngày làm việc :
WEEKDAY( cell,2)<6Chỉ cho phép cuối tuần :
WEEKDAY( cell,2)>5Ví dụ: để chỉ cho phép nhập ngày làm việc trong ô C2:C6, hãy sử dụng công thức:
=WEEKDAY(C2,2)<6
Xác thực ngày dựa trên ngày hôm nay
Trong nhiều trường hợp, bạn có thể muốn sử dụng ngày hôm nay làm ngày bắt đầu ngày của phạm vi ngày được phép. Để có được ngày hiện tại, hãy sử dụng hàm TODAY, sau đó thêm số ngày mong muốn vào hàm đó để tính ngày kết thúc.
Ví dụ: để giới hạn mục nhập dữ liệu trong 6 ngày kể từ bây giờ (bao gồm 7 ngày hôm nay), chúng ta sẽ sử dụng quy tắc Ngày tích hợp sẵn với tiêu chí dựa trên công thức:
- Chọn Ngày trong Cho phép
- Chọn giữa trong Dữ liệu
- Trong hộp Ngày bắt đầu , nhập
=TODAY()
- Trong Ngày kết thúc , nhập
=TODAY() + 6
Theo cách tương tự, bạn có thể hạn chế người dùng nhập ngày trước hoặc sau ngày hôm nay. Đối với điều này, hãy chọn nhỏ hơn hoặc lớn hơn trong hộp Dữ liệu , sau đó nhập =TODAY()
vào Ngày kết thúc hoặc hộp ngày bắt đầu tương ứng.
Xác thực thời gian dựa trên thời gian hiện tại
Để xác thực dữ liệu dựa trên thời gian hiện tại, hãy sử dụng quy tắc Thời gian được xác định trước với công thức xác thực dữ liệu của riêng bạn:
- Trong hộp Cho phép , hãy chọn Thời gian .
- Trong hộp Dữ liệu , hãy chọn nhỏ hơn để chỉ cho phép thời gian trước thời điểm hiện tại hoặc lớn hơn để cho phép thời gian sau thời gian hiện tại.
- Trong hộp Thời gian kết thúc hoặc Thời gian bắt đầu (tùy thuộc vào tiêu chí bạn đã chọn ở bước trước), nhập một trong các công thức sau:
- Để xác thực ngày và giờ dựa trên ngày và giờ hiện tại:
=NOW()
- Để xác thực lần dựa trên thời gian hiện tại:
=TIME( HOUR(NOW()), MINUTE(NOW()), SECOND(NOW()))
- Để xác thực ngày và giờ dựa trên ngày và giờ hiện tại:
Ảnh chụp màn hình bên dưới hiển thị quy tắc chỉ cho phép số lần lớn hơn thời gian hiện tại:
Quy tắc xác thực dữ liệu Excel tùy chỉnh không hoạt động
Nếu quy tắc xác thực dữ liệu dựa trên công thức của bạn không hoạt động như mong đợi, có 3 điểm chính cần kiểm tra:
- Công thức xác thực dữ liệu là chính xác
- Công thức xác thực không tham chiếu đến ô trống
- Tham chiếu ô phù hợp được sử dụng
Kiểm tra tính chính xác công thức xác thực dữ liệu Excel của bạn
Đối với người mới bắt đầu, sao chép công thức xác thực của bạn vào một số ô để đảm bảo công thức đó không trả về lỗi như #N/A, #VALUE hoặc #DIV/0!.
Nếu bạn đang tạo quy tắc tùy chỉnh , công thức sẽ trả về các giá trị logic là TRUE và FALSE hoặc các giá trị 1 và 0 tương ứng với chúng.
Nếu bạn sử dụng tiêu chí dựa trên công thức trong quy tắc tích hợp sẵn (giống như chúng tôi đã làm để xác thực thời gian dựa trênthời điểm hiện tại), nó cũng có thể trả về một giá trị số khác.
Công thức xác thực dữ liệu Excel không nên tham chiếu đến một ô trống
Trong nhiều trường hợp, nếu bạn chọn Bỏ qua ô trống khi xác định quy tắc (thường được chọn theo mặc định) và một hoặc nhiều ô được tham chiếu trong công thức của bạn trống, mọi giá trị sẽ được phép trong ô đã xác thực.
Dưới đây là một ví dụ ở dạng đơn giản nhất:
Tham chiếu ô tuyệt đối và tương đối trong công thức xác thực dữ liệu
Khi thiết lập quy tắc xác thực Excel dựa trên công thức, xin lưu ý rằng tất cả tham chiếu ô trong công thức so với ô phía trên bên trái trong phạm vi đã chọn.
Nếu bạn đang tạo quy tắc cho nhiều ô và tiêu chí xác thực của bạn phụ thuộc vào các ô cụ thể , đảm bảo sử dụng tham chiếu ô tuyệt đối (với ký hiệu $ như $A$1), nếu không, quy tắc của bạn sẽ chỉ hoạt động chính xác cho ô đầu tiên. Để minh họa rõ hơn điểm này, vui lòng xem xét ví dụ sau.
Giả sử bạn muốn hạn chế nhập dữ liệu trong các ô từ D2 đến D5 ở các số nguyên trong khoảng từ 1 (giá trị nhỏ nhất) và kết quả của phép chia A2 cho B2. Vì vậy, bạn tính giá trị lớn nhất bằng công thức đơn giản =A2/B2
này, như minh họa trong ảnh chụp màn hình bên dưới:
Vấn đề là công thức có vẻ đúng này sẽ không hoạt động đối với các ô từ D3 đến D5 vì tham chiếu tương đối thay đổi dựa trên tương đối