Hàm IIf

Quan trọng:  Bài viết này là dịch máy, hãy xem tuyên bố miễn trừ trách nhiệm. Bạn hãy tìm phiên bản tiếng Anh của bài viết này tại đây để tham khảo.

Trả về một trong hai phần, tùy theo việc đánh giá của một biểu thức.

Bạn có thể dùng IIf bất kỳ tại đâu bạn có thể dùng biểu thức. Bạn dùng IIf để xác định xem một biểu thức khác đúng hay sai. Nếu biểu thức là đúng, IIf trả về một giá trị; nếu biểu thức sai, IIf trả về một giá trị khác. Bạn xác định các giá trị mà IIf trả về.

Hãy xem một số ví dụ

Cú pháp

IIf ( expr , truepart , falsepart )

Cú pháp hàm IIf có các đối số:

Tham đối

Mô tả

expr

Bắt buộc. Biểu thức bạn muốn đánh giá.

truepart

Bắt buộc. Giá trị hoặc biểu thức được trả về nếu expr là Đúng.

falsepart

Bắt buộc. Giá trị hoặc biểu thức được trả về nếu expr là Sai.


Chú thích

IIf luôn đánh giá cả hai truepart và falsepart, mặc dù nó chỉ trả về một trong hai phần này. Do điều này, bạn nên theo dõi các hiệu ứng phụ không mong muốn. Ví dụ, nếu các kết quả đánh giá falsepart trong một phép chia theo lỗi bằng không, một lỗi xuất hiện ngay cả khi expr là Đúng.

Ví dụ

Dùng IIf trên một biểu mẫu hoặc báo cáo    Giả sử bạn có một bảng khách hàng có chứa một trường có tên là khu vực quốc gia. Trong một biểu mẫu, bạn muốn biểu thị xem tiếng ý là ngôn ngữ đầu tiên của liên hệ. Bạn có thể thêm điều khiển và dùng IIf trong thuộc tính Nguồn điều khiển của nó, giống như:

=IIf([Khu vực Quốc gia]="Ý", "Tiếng Ý", "Ngôn ngữ khác nào đó")

Khi bạn mở biểu mẫu trong dạng xem Biểu mẫu, điều khiển hiển thị "Tiếng Ý" bất kể khi nào giá trị cho Khu vực Quốc gia là Ý, và "Ngôn ngữ khác nào đó" bất kỳ khi nào Khu vực Quốc gia là bất kỳ giá trị nào khác.

Dùng IIf trong biểu thức phức tạp    Bạn có thể dùng bất kỳ biểu thức làm bất kỳ phần nào của câu lệnh IIf . Bạn có thể cũng "lồng" biểu thức IIf , cho phép bạn đánh giá một chuỗi các biểu thức phụ thuộc. Để tiếp tục với ví dụ trước, bạn có thể muốn kiểm tra cho một số giá trị khu vực quốc gia khác nhau, và sau đó hiển thị ngôn ngữ thích hợp tùy thuộc vào những giá trị tồn tại:

=IIf([Khu vực Quốc gia]="Ý", "Tiếng Ý", IIf([Khu vực Quốc gia]="Pháp", "Tiếng Pháp", IIf([Khu vực Quốc gia]="Đức", "Tiếng Đức", "Ngôn ngữ khác nào đó")))

Văn bản "Ngôn ngữ khác nào đó" là đối số falsepart của hàm IIf trong cùng. Vì mỗi hàm IIf được lồng vào là đối số falsepart của hàm IIf có chứa nó, văn bản "Ngôn ngữ khác nào đó" chỉ được trả về nếu tất cả đối số expr của tất cả các hàm IIf đánh giá là Sai.

Ví dụ khác, giả sử bạn làm việc ở thư viện. Cơ sở dữ liệu thư viện có một bảng được đặt tên là Kiểm xuất có chứa một trường, được đặt tên là Ngày Đến hạn, có chứa ngày mà một cuốn sách cụ thể đến hạn phải trả lại. Bạn có thể tạo một biểu mẫu biểu thị trạng thái của một mục được kiểm xuất trong một điều khiển bằng cách sử dụng hàm IIf trong thuộc tính Nguồn Điều khiển của điều khiển đó, như thế này:

=IIf([Ngày Đến hạn]<Ngày(),"QUÁ HẠN",IIf([Ngày Đến hạn]=Ngày(),"Đến hạn hôm nay","Chưa Đến hạn"))

Khi bạn mở một biểu mẫu trong dạng xem Biểu mẫu, điều khiển hiển thị "QUÁ HẠN" nếu giá trị của Ngày Đến hạn thấp hơn ngày hiện tại, "Đến hạn hôm nay" nếu nó bằng với ngày hiện tại, và "Chưa Đến hạn" nếu ngược lại.

Ghi chú: Sử dụng toán tử lô-gic chẳng hạn như "Và" hoặc "Hoặc" trong đối số expr hàm IIf , bạn phải đặt biểu thức lô-gic trong các Eval hàm. Hãy xem bảng ví dụ sau.

Dùng IIf trong một truy vấn   

Hàm IIf thường được sử dụng để tạo trường được tính toán trong truy vấn. Cú pháp là giống nhau với ngoại lệ rằng trong một truy vấn, bạn phải lời nói đầu biểu thức bí danh của trường và một dấu hai chấm (:) thay vì dấu bằng (=). Để dùng trong ví dụ trước, bạn sẽ nhập như sau trong hàng trường của lưới thiết kế truy vấn:

Ngôn ngữ: IIf([Khu vực Quốc gia]="Ý", "Tiếng Ý", "Ngôn ngữ khác nào đó")

Trong trường hợp này, "Ngôn ngữ:" là bí danh trường.

Để biết thêm thông tin về cách tạo truy vấn và trường được tính toán, hãy xem bài viết tạo một truy vấn chọn đơn giản.

Dùng IIf trong mã VBA   

Ghi chú: Ví dụ dưới đây minh họa sử dụng hàm này trong Visual Basic for Applications (VBA) mô-đun. Để biết thêm thông tin về cách làm việc với VBA, chọn Nhà phát triển tham chiếu trong danh sách thả xuống bên cạnh Tìm kiếm và nhập một hoặc nhiều thuật ngữ trong hộp tìm kiếm.

Ví dụ này dùng hàm IIf để đánh giá tham số TestMe của thủ tục CheckIt và trả về từ "Lớn" nếu số tiền lớn hơn 1000; nếu không, nó trả về từ "Nhỏ".

Function CheckIt (TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function

Các ví dụ khác

Biểu thức

Kết quả

=IIf([Mã Sân bay]="ORD","Chicago",IIf([Mã Sân bay]="ATL","Atlanta",IIf([Mã Sân bay]="SEA","Seattle","Khác")))

Nếu [Mã Sân bay] là "ORD", trả về "Chicago". Nếu không, nếu [Mã Sân bay] là "ATL", trả về "Atlanta". Nếu không, nếu [Mã Sân bay] là "SEA", trả về "Seattle". Nếu không, trả về "Khác".

=IIf([Ngày Vận chuyển]<Ngày(),"Được vận chuyển",IIf([Ngày Vận chuyển]=Ngày(),"Vận chuyển hôm nay","Không được vận chuyển"))

Nếu [Ngày Vận chuyển] trước ngày hôm nay, trả về "Được vận chuyển". Nếu không, nếu [Ngày Vận chuyển] bằng ngày hôm nay, trả về "Vận chuyển hôm nay". Nếu không, trả về "Không được vận chuyển."

=IIf([Ngày Mua]<#1/1/2008#,"Cũ","Mới")

Nếu [Ngày Mua] trước ngày 01/01/08, trả về "Cũ". Nếu không, trả về "Mới."

=IIf(Eval([Volts] Nằm Giữa 12 Và 15 Và [Amps] Nằm Giữa 0,25 Và 0,3),"OK","Ngoài định cỡ")

Nếu [Volts] nằm giữa 12 và 15 và [Amps] nằm giữa 0,25 và 0,3, trả về "OK". Nếu không, trả về "Ngoài định cỡ."

=IIf(Eval([Khu vực Quốc gia] Tại ("Canada","Mỹ","Mexico")),"Bắc Mỹ","Khác")

Nếu [Khu vực Quốc gia] là "Canada", "Mỹ" hoặc "Mexico", trả về "Bắc Mỹ". Nếu không, trả về "Khác".

=IIf([Trung bình]>=90,"A",IIf([Trung bình]>=80,"B",IIf([Trung bình]>=70,"C",IIf([Trung bình]>=60,"D","F"))))

Nếu [Trung bình] là 90 hoặc lớn hơn, trả về "A". Nếu không, nếu [Trung bình] là 80 hoặc lớn hơn, trả về "B". Nếu không, nếu [Trung bình] là 70 hoặc lớn hơn, trả về "C". Nếu không, nếu [Trung bình] là 60 hoặc lớn hơn, trả về "D". Nếu không, trả về "F".

Ghi chú: Nếu bạn đang dùng hàm IIf để tạo trường được tính toán trong truy vấn, thay thế dấu bằng (=) với một bí danh trường và một dấu hai chấm (:). Ví dụ, trạng thái: IIf ([ShipDate] < ngày (), "Shipped", IIf ([ShipDate] = ngày (), "Chuyển hàng hôm nay", "Unshipped"))

Ghi chú: Tuyên bố miễn trừ trách nhiệm Dịch Máy: Bài viết này do một hệ thống máy tính dịch mà không có sự can thiệp của con người. Microsoft cung cấp những bản dịch máy này để giúp người dùng không nói tiếng Anh hiểu nội dung về các sản phẩm, dịch vụ và công nghệ của Microsoft. Do bài viết này được dịch máy nên có thể có các lỗi về từ vựng, cú pháp hoặc ngữ pháp.

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Người dùng nội bộ Office

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×