การใช้ฟังก์ชัน IIf เพื่อแสดงหรือคำนวณค่า

หมายเหตุ: เราต้องการมอบเนื้อหาวิธีใช้ปัจจุบันในภาษาของคุณให้กับคุณโดยเร็วที่สุดเท่าที่เราจะทำได้ หน้านี้ได้รับการแปลด้วยระบบอัตโนมัติ และอาจมีข้อผิดพลาดทางไวยากรณ์หรือความไม่ถูกต้อง จุดประสงค์ของเราคือเพื่อให้เนื้อหานี้มีประโยชน์กับคุณ คุณแจ้งให้เราทราบว่าข้อมูลดังกล่าวมีประโยชน์ต่อคุณที่ด้านล่างของหน้านี้ได้หรือไม่ นี่คือบทความภาษาอังกฤษเพื่อให้ง่ายต่อการอ้างอิง

ฟังก์ชัน IIfมีไวยากรณ์ต่อไปนี้:

IIf(การทดสอบตรรกะ, ค่าถ้าเป็นจริง, ค่าถ้าเป็นเท็จ)

ตัวอย่างเช่น เมื่อต้องการคำนวณภาษีขายในกล่องข้อความบนฟอร์ม คุณอาจใส่นิพจน์ต่อไปนี้ในคุณสมบัติ แหล่งตัวควบคุม สำหรับกล่องข้อความ:

=IIf([StateProvince] = “WA”,[OrderTotal] * 0.095, 0)

คำแปล: ถ้าเขตข้อมูล StateProvince มี “WA” จะคำนวณภาษีขายเป็น OrderTotal คูณด้วย 0.095 ไม่เช่นนั้นจะส่งกลับศูนย์

IIf ที่ซ้อนกัน

เมื่อคุณได้เรียนรู้วิธีการใช้ฟังก์ชัน IIf แล้ว คุณจะค้นพบว่าการซ้อนฟังก์ชันนั้นมีประสิทธิภาพมาก "การซ้อน" คือ การที่คุณใช้ฟังก์ชัน IIf หนึ่งภายในฟังก์ชัน IIf อีกฟังก์ชันหนึ่ง โดยใช้เป็นอาร์กิวเมนต์ที่มี “ค่าถ้าเป็นจริง” หรือ “ค่าถ้าเป็นเท็จ” (หรือทั้งคู่) ตัวอย่างเช่น สมมติว่าคุณต้องการให้คอลัมน์ Status ในรายงานแสดง "พ้นกำหนด" ถ้า Due Date ของรายการนั้นผ่านไปแล้ว ถ้า Due Date คือวันนี้ คุณต้องการให้แสดง "ครบกำหนดวันนี้" ถ้า Due Date ยังไม่มาถึง คุณต้องการให้คอลัมน์ Status นั้นว่างเปล่า สมมติว่าวันที่ของวันนี้เป็นวันที่ 9 กุมภาพันธ์ 2555 คุณอาจต้องการเห็นบางสิ่งเหล่านี้ ดังนี้:

รายงานงานที่มีคอลัมน์ Status ที่ใช้ฟังก์ชัน IIf เพื่อแสดงข้อความ

ซึ่งในกรณีนี้สามารถทำได้โดยการใช้ฟังก์ชัน IIf สองฟังก์ชัน โดยให้ฟังก์ชันหนึ่งซ้อนกันเป็นอาร์กิวเมนต์ที่มี “ค่าถ้าเป็นเท็จ” ของอาร์กิวเมนต์อื่น:

= IIf ([DueDate] < วัน(), "พ้นกำหนดแล้ว" IIf ([DueDate] = Date () "ครบกำหนดวันนี้"))

IIf ภายนอกจะเปรียบเทียบเขตข้อมูล DueDate กับวันที่ของวันนี้ (ซึ่งถูกส่งกลับค่าโดยฟังก์ชัน Date()) สำหรับสองงานแรกในรายงานที่แสดงข้างบน วันครบกำหนดจะมาก่อนวันที่ของวันนี้ ดังนั้นการทดสอบตรรกะของ IIf ภายนอกจะประเมินเป็น จริง และจะแสดงผลเป็น “พ้นกำหนด” สำหรับงานที่สาม (ทาสีโรงรถ) IIf ภายนอกจะประเมินเป็น "เท็จ" ดังนั้นฟังก์ชัน IIf ที่ซ้อนกันจะทดสอบเพื่อดูว่าวันครบกำหนดนั้นคือวันที่ของวันนี้หรือไม่ เป็นวันนี้จริงๆ ดังนั้น IIf ที่ซ้อนกันจะแสดงผลเป็น “ครบกำหนดวันนี้” สำหรับงานที่สี่ (ตัดแต่งต้นไม้) ไม่มีฟังก์ชัน IIf ใดที่จะประเมินเป็น "จริง" ดังนั้นจึงไม่มีอะไรแสดงขึ้นมาเนื่องจากไม่มีอาร์กิวเมนต์ใน IIf ที่ซ้อนกันที่มี “ค่าถ้าเป็นเท็จ” แน่นอน คุณสามารถเพิ่มอาร์กิวเมนต์ได้ ถ้าคุณต้องการให้บางอย่างแสดงขึ้นในกรณีนี้

ถ้อยคำสั้นๆ ถึงคนฉลาด

ซ้อนฟังก์ชัน IIf สนุก แต่คุณโดยทั่วไปจะไม่ต้องการไปมากกว่าหนึ่ง หรือสองระดับความลึก นิพจน์ที่สามารถได้อย่างรวดเร็วกลายเสียการอ่าน และการบำรุงรักษา ถ้า iif ซ้อนกันของคุณที่มีการเลือนของตนเอง คุณอาจลองใช้ฟังก์ชัน Switchซึ่งเป็นคล้ายกัน " if – แล้ว" เหลือของตรรกะได้

ด้านบนของหน้า

ขยายทักษะ Office ของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×