IF (ฟังก์ชัน IF)

นำไปใช้กับ
SharePoint Server 2019 SharePoint Server 2016 SharePoint Server 2013 SharePoint Server 2013 Enterprise SharePoint Foundation 2010 SharePoint Server 2010 Windows SharePoint Services 3.0

ส่งกลับค่าหนึ่งค่าถ้าเงื่อนไขที่คุณระบุประเมินเป็น 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 ตัวอย่างเช่น ถ้าอาร์กิวเมนต์นี้เป็นสตริงข้อความ "อยู่ในงบ" และอาร์กิวเมนต์ logical_test ประเมินเป็น TRUE ฟังก์ชัน IF จะแสดงข้อความ "อยู่ในงบ" ถ้า logical_test เป็น TRUE และ value_if_true ว่างเปล่า อาร์กิวเมนต์นี้จะส่งกลับ 0 (ศูนย์) เมื่อต้องการแสดงคําว่า TRUE ให้ใช้ค่าตรรกะ TRUE สําหรับอาร์กิวเมนต์นี้ Value_if_true อาจเป็นสูตรอื่นได้

Value_if_false คือค่าที่ส่งกลับถ้า logical_test เป็น FALSE ตัวอย่างเช่น ถ้าอาร์กิวเมนต์นี้เป็นสตริงข้อความ "เกินงบ" และอาร์กิวเมนต์ logical_test ประเมินเป็น FALSE ฟังก์ชัน IF จะแสดงข้อความ "เกินงบ" ถ้า 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 เพื่อสร้างการทดสอบที่ซับซ้อนมากขึ้น ดูตัวอย่างสุดท้ายต่อไปนี้
  • เมื่ออาร์กิวเมนต์ value_if_true และ value_if_false ถูกประเมิน IF จะส่งกลับค่าที่ส่งกลับโดยคําสั่งเหล่านั้น
  • ถ้าอาร์กิวเมนต์ใดก็ตามของ IF เป็นอาร์เรย์ ทุกองค์ประกอบของอาร์เรย์จะถูกประเมินเมื่อดําเนินการคําสั่ง IF

ชุดตัวอย่าง 1

C ol1 col2 Col3 ค่าใช้จ่าย สูตร คำอธิบาย (ผลลัพธ์)
50 =IF([ค่าใช้จ่าย]<=100,"อยู่ในงบ","เกินงบ") ถ้าตัวเลขน้อยกว่าหรือเท่ากับ 100 สูตรจะแสดง "อยู่ในงบ" มิฉะนั้นฟังก์ชันจะแสดงข้อความ "เกินงบ" (อยู่ในงบ)
23 45 89 50 =IF([ค่าใช้จ่าย]=100,SUM([col1],[col2],[col3]),"") ถ้าตัวเลขเป็น 100 ค่าสามค่าจะถูกเพิ่ม มิฉะนั้น จะแสดงเป็นข้อความว่าง ("") ()

ชุดตัวอย่าง 2

ค่าใช้จ่ายจริง ค่าใช้จ่ายที่คาดการณ์ไว้ สูตร คำอธิบาย (ผลลัพธ์)
1500 900 =IF([ActualExpenses]>[PredictedExpenses],"เกินงบ","ตกลง") ตรวจสอบว่าแถวแรกเกินงบหรือไม่ (เกินงบ)
500 900 =IF([ActualExpenses]>[PredictedExpenses],"เกินงบ","ตกลง") ตรวจสอบว่าแถวที่สองเกินงบหรือไม่ (ตกลง)

ชุดตัวอย่าง 3

คะแนน สูตร คำอธิบาย (ผลลัพธ์)
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 ศ.