หมายเหตุ: เราต้องการมอบเนื้อหาวิธีใช้ปัจจุบันในภาษาของคุณให้กับคุณโดยเร็วที่สุดเท่าที่เราจะทำได้ หน้านี้ได้รับการแปลด้วยระบบอัตโนมัติ และอาจมีข้อผิดพลาดทางไวยากรณ์หรือความไม่ถูกต้อง จุดประสงค์ของเราคือเพื่อให้เนื้อหานี้มีประโยชน์กับคุณ คุณแจ้งให้เราทราบว่าข้อมูลดังกล่าวมีประโยชน์ต่อคุณที่ด้านล่างของหน้านี้ได้หรือไม่ นี่คือ บทความภาษาอังกฤษ เพื่อให้ง่ายต่อการอ้างอิง
ส่งกลับค่าหนึ่งค่าถ้าเงื่อนไขที่คุณระบุเป็น TRUE และส่งกลับค่าอีกค่าหนึ่งถ้าเงื่อนไขที่คุณระบุเป็น FALSE ใช้ IF เพื่อทำการทดสอบเงื่อนไขของค่าและสูตร
ไวยากรณ์
IF(logical_test,value_if_true,value_if_false)
Logical_test เป็นค่าหรือนิพจน์ที่สามารถประเมินออกมาเป็น TRUE หรือ FALSE ได้ ตัวอย่างเช่น [Quarter1]=100 เป็นนิพจน์ตรรกศาสตร์ ถ้าค่าในแถวหนึ่งของคอลัมน์ ซึ่งก็คือ [Quarter1] เท่ากับ 100 นิพจน์จะให้ค่าเป็น TRUE มิฉะนั้นจะให้ค่าเป็น FALSE อาร์กิวเมนต์นี้สามารถใช้ตัวดำเนินการคำนวณเชิงเปรียบเทียบได้
Value_if_true คือค่าที่ถูกส่งกลับถ้า logical_test เป็น TRUE ตัวอย่างเช่น ถ้าอาร์กิวเมนต์นี้เป็นสตริงข้อความ "Within budget" และอาร์กิวเมนต์ logical_test ประเมินค่าเป็น TRUE จากนั้นฟังก์ชัน IF จะแสดงข้อความ "Within budget" แต่ถ้า logical_test เป็น TRUE และ value_if_true ว่างเปล่า อาร์กิวเมนต์นี้จะส่งกลับ 0 (ศูนย์) เมื่อต้องการแสดงคำว่า TRUE ให้ใช้ค่าตรรกะ TRUE สำหรับอาร์กิวเมนต์นี้ ทั้งนี้ Value_if_true สามารถเป็นสูตรอื่นได้
value_if_false คือค่าที่ถูกส่งกลับถ้า logical_test เป็น FALSE ตัวอย่างเช่น ถ้าอาร์กิวเมนต์เป็นสตริงข้อความ "Over budget" และอาร์กิวเมนต์ logical_test ให้ค่าเป็น FALSE แล้ว ฟังก์ชัน IF จะแสดงข้อความ "Over budget" ถ้า logical_test เป็น FALSE และไม่ได้ใส่ค่าอะไรไว้ใน value_if_false (นั่นคือ หลัง value_if_true ไม่มีเครื่องหมายจุลภาค) ค่าตรรกะ FALSE จะถูกส่งกลับ ถ้า logical_test เป็น FALSE และ value_if_false ไม่ใส่ค่าอะไรไว้ (นั่นคือ หลัง value_if_true มีเครื่องหมายจุลภาคตามด้วยวงเล็บปิด) ค่าที่ส่งกลับมาจะเป็น 0 (ศูนย์) อย่างไรก็ตาม value_if_false สามารถเป็นสูตรอื่นได้
ข้อสังเกต
-
คุณสามารถใช้ฟังก์ชัน IF ซ้อนๆ กันเป็นอาร์กิวเมนต์ของ value_if_true และ value_if_false ได้สูงสุด 7 ชั้นเพื่อทำให้การทดสอบมีความละเอียดยิ่งขึ้น ให้ดูฟังก์ชันชั้นสุดท้ายในตัวอย่างต่อไปนี้
-
เมื่อมีการประมวลผลอาร์กิวเมนต์ value_if_true และ value_if_false ฟังก์ชัน IF จะส่งกลับค่าตามคำสั่งเหล่านั้น
-
ถ้าอาร์กิวเมนต์ตัวใดตัวหนึ่งในฟังก์ชัน IF เป็นอาร์เรย์ ทุกองค์ประกอบของอาร์เรย์จะถูกหาค่าเมื่อมีการประมวลผลคำสั่ง IF
ตัวอย่างชุดที่ 1
C ol1 |
Col2 |
Col3 |
Expense |
สูตร |
คำอธิบาย (ผลลัพธ์) |
50 |
=IF([Expense]<=100,"อยู่ในงบ","เกินงบ") |
ถ้าตัวเลขน้อยกว่าหรือเท่ากับ 100 สูตรจะแสดงคำว่า "อยู่ในงบ" มิฉะนั้นฟังก์ชันจะแสดงคำว่า "เกินงบ" (อยู่ในงบ) |
|||
23 |
45 |
89 |
50 |
=IF([Expense]=100,SUM([Col1],[Col2],[Col3]),"") |
ถ้าตัวเลขเท่ากับ 100 ค่าทั้งสามจะถูกรวมเข้าด้วยกัน มิฉะนั้นจะแสดงเป็นข้อความว่าง ("") แทน () |
ตัวอย่างชุดที่ 2
ActualExpenses |
PredictedExpenses |
สูตร |
คำอธิบาย (ผลลัพธ์) |
1500 |
900 |
=IF([ActualExpenses]>[PredictedExpenses],"เกินงบ","ผ่าน") |
ตรวจดูว่าแถวแรกเกินงบหรือไม่ (เกินงบ) |
500 |
900 |
=IF([ActualExpenses]>[PredictedExpenses],"เกินงบ","ผ่าน") |
ตรวจสอบว่าแถวที่สองมีค่าสูงเกินกว่างบประมาณหรือไม่ (OK) |
ตัวอย่างชุดที่ 3
Score |
สูตร |
คำอธิบาย (ผลลัพธ์) |
45 |
=IF([Score]>89,"A",IF([Score]>79,"B", IF([Score]>69,"C",IF([Score]>59,"D","F")))) |
กำหนดเกรดเป็นตัวอักษรให้กับคะแนนแรก (F) |
90 |
=IF([Score]>89,"A",IF([Score]>79,"B", IF([Score]>69,"C",IF([Score]>59,"D","F")))) |
กำหนดเกรดเป็นตัวอักษรให้กับคะแนนที่สอง (A) |
78 |
=IF([Score]>89,"A",IF([Score]>79,"B", IF([Score]>69,"C",IF([Score]>59,"D","F")))) |
กำหนดเกรดเป็นตัวอักษรให้กับคะแนนที่สาม (C) |
ในตัวอย่างข้างต้น คำสั่ง IF คำสั่งที่สองถือเป็นอาร์กิวเมนต์ value_if_false ของคำสั่ง IF คำสั่งแรกเช่นกัน ในทำนองเดียวกัน คำสั่ง IF คำสั่งที่สามก็เป็นอาร์กิวเมนต์ value_if_false ของคำสั่ง IF คำสั่งที่สองด้วย ตัวอย่างเช่น ถ้า logical_test ตัวแรก ([Score]>89) เป็น TRUE ฟังก์ชันจะส่งกลับค่า "A" แต่ถ้า logical_test ตัวแรกเป็น FALSE ฟังก์ชันก็จะไปประเมินคำสั่ง IF คำสั่งที่สองต่อไปอย่างนี้เรื่อยๆ
เกรดแบบตัวอักษรที่กำหนดให้กับคะแนน (Score) ต่างๆ ใช้เกณฑ์ดังต่อไปนี้ (ใช้การสมมุติค่าจำนวนเต็มเท่านั้น)
ถ้าคะแนนเท่ากับ |
แล้วส่งกลับค่า |
มากกว่า 89 |
A |
80 ถึง 89 |
B |
70 ถึง 79 |
C |
60 ถึง 69 |
D |
น้อยกว่า 60 |
F |