การใช้ฟังก์ชัน 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 – แล้ว" เหลือของตรรกะได้

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

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

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

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

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

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

×