IF
ฟังก์ชั่น IF จะส่งค่าหนึ่งในสองค่ากลับมา โดยขึ้นอยู่กับว่านิพจน์ที่ระบุไว้ประเมินเป็นค่าบูลีน TRUE หรือ FALSE
IF(if-expression, if-true, if-false)
if-expression: นิพจน์ทางตรรกะ if-expression สามารถประกอบด้วยอะไรก็ได้ตราบใดที่ยังสามารถคำนวณนิพจน์เป็นค่าบูลีนได้ ถ้านิพจน์ประเมินเป็นตัวเลข 0 จะพิจารณาว่าเป็น FALSE และหมายเลขอื่นใดๆ จะพิจารณาว่าเป็น TRUE
if-true: ค่าที่จะส่งค่ากลับมาหาก if-expression เป็น TRUE if-trueสามารถประกอบด้วยค่าใดๆ ก็ได้ ถ้า if-true ถูกเว้นว่าง (มีเครื่องหมายจุลภาค แต่ไม่มีการใส่ค่า) และ if-expression ประเมินเป็น TRUE แล้ว IF จะส่งค่ากลับมาเป็น 0
if-false: อาร์กิวเมนต์ทางเลือกที่จะระบุค่าที่จะส่งกลับมาหาก if-expression เป็น FALSE if-false สามารถประกอบด้วยค่าใดๆ ก็ได้ ถ้า if-false ถูกเว้นว่าง (มีเครื่องหมายจุลภาค แต่ไม่มีการใส่ค่า) และ if-expression ประเมินเป็น FALSE แล้ว IF จะคืนค่ากลับมาเป็น 0 ถ้า if-false ถูกเว้นว่างไว้ทั้งหมด (มีเครื่องหมายจุลภาคตามหลัง if-true) และ if-expression ประเมินเป็น FALSE แล้ว IF จะคืนค่ากลับมาเป็น FALSE
หมายเหตุ
ทั้ง if-true และ if-false อย่างใดอย่างหนึ่งหรือทั้งสองอย่างสามารถประกอบด้วยฟังก์ชั่น IF เพิ่มเติม (มักจะเรียกว่าฟังก์ชั่น IF ซ้อน)
ตัวอย่างเช่น |
---|
=IF(A5>=0, “ไม่เป็นจำนวนลบ”, “จำนวนลบ”) จะส่งข้อความกลับมาเป็น “ไม่เป็นจำนวนลบ” หากเซลล์ A5 ประกอบด้วยตัวเลขที่มากกว่าหรือเท่ากับศูนย์ หรือไม่ใช่ค่าตัวเลข ถ้าเซลล์ A5 ประกอบด้วยค่าที่น้อยกว่า 0 ฟังก์ชั่นนี้จะส่งค่ากลับมาเป็น “เลขลบ” =IF(IFERROR(OR(ISEVEN(B4+B5), ISODD(B4+B5)), FALSE), “ตัวเลขทั้งหมด”, “ไม่ใช่ตัวเลขทั้งหมด”) จะส่งข้อความกลับมาว่า “ตัวเลขทั้งหมด” หากทั้งเซลล์ B4 และ B5 ประกอบด้วยตัวเลข หรือกรณีอื่นๆ จะส่งข้อความกลับมาว่า “ไม่ใช่ตัวเลขทั้งหมด” นี่จะเป็นการทดสอบเพื่อพิจารณาว่าผลรวมของทั้งสองเซลล์นั้นเป็นเลขคู่หรือเลขคี่ ถ้าเซลล์นั้นไม่ใช่ตัวเลข ฟังก์ชั่น EVEN และ ODD จะส่งข้อความแสดงความผิดพลาดกลับมาและฟังก์ชั่น IFERROR จะส่งค่ากลับเป็น FALSE หรือกรณีอื่นๆ จะส่งค่ากลับเป็น TRUE เนื่องจากทั้งฟังก์ชั่น EVEN หรือ ODD เป็น TRUE ดังนั้นถ้า B4 หรือ B5 ไม่ใช่ค่าตัวเลขหรือบูลีน ประโยค IF จะส่งค่ากลับมาเป็นนิพจน์ if-false “ไม่ใช่ตัวเลขทั้งหมด” และจะส่งค่ากลับมาเป็นนิพจน์ if-true “ตัวเลขทั้งหมด” หากเป็นอย่างอื่น |
ตัวอย่าง การหลีกเลี่ยงข้อผิดพลาดที่เกิดจากการหารด้วยศูนย์ |
---|
บางครั้งไม่อาจเป็นไปได้ที่จะสร้างตารางในลักษณะที่สามารถหลีกเลี่ยงการหารด้วยศูนย์ได้ อย่างไรก็ตาม ถ้าเกิดการหารด้วยศูนย์ขึ้น ผลลัพธ์จะเป็นค่าข้อผิดพลาดในเซลล์ ซึ่งโดยทั่วไปแล้วจะไม่ใช่ผลลัพธ์ที่ต้องการ ตัวอย่างนี้แสดงวิธีการสามวิธีการที่จะป้องกันข้อผิดพลาดนี้ อนุมานว่าเซลล์ D2 กับ E2 ต่างประกอบด้วยตัวเลข เป็นไปได้ที่ E2 จะประกอบด้วย 0 คุณต้องการที่จะหาร D2 ด้วย E2 แต่หลีกเลี่ยงข้อผิดพลาดจากการหารด้วยศูนย์ แต่ละวิธีการในสามวิธีการต่อไปนี้จะส่งค่ากลับมาเป็น 0 หากเซลล์ E2 เท่ากับศูนย์ ถ้าเป็นอย่างอื่นจะส่งค่ากลับมาเป็นผลลัพธ์ของ D2/E2 =IF(E2=0, 0, D2/E2) จะดำเนินงานโดยการทดสอบเซลล์ E2 โดยตรงเพื่อดูว่าเป็น 0 หรือไม่ =IFERROR(D2/E2, 0) จะดำเนินงานโดยการส่งค่ากลับมาเป็น 0 หากมีข้อผิดพลาดเกิดขึ้น การหารด้วยศูนย์เป็นข้อผิดพลาด =IF(ISERROR(D2/E2), 0, D2/E2) ดำเนินงานโดยการทดสอบตรรกะเพื่อดูว่า D2/E2 เป็น TRUE หรือไม่ |