การใช้ IF / IFS

การใช้ IF นี้จะพูดถึงการใช้งานฟังก์ชันเปรียบเทียบตรรกะ ของอะไรสักอย่างที่ต้องการทดสอบ ซึ่งต้องเป็นเงื่อนไขที่ได้ผลลัพธ์เพียงแค่สองอย่างคือ จริง กับ เท็จ หรือ True กับ False เท่านั้น

IF

IF(เงื่อนไขที่ทดสอบ, สิ่งที่ทำ ถ้าเงื่อนไขเป็นจริง, สิ่งที่ทำ ถ้าเงื่อนไขเป็นเท็จ)

ตัวอย่าง IF

ในเซลล์ A1 ถึง A10 ใส่ค่าตั้งแต่ 1 ถึง 10 เราจะทดสอบว่า ถ้าค่าใน A มีค่าเกิน 5 ให้แสดงว่า “เกิน” แต่ถ้าไม่เกิน 5 ให้แสดงว่า “ใช้ได้”

ที่เซลล์ B2 เราจะใช้สูตรว่า

=IF(A1 >5, "เกิน", "ใช้ได้")

สูตรด้านบนนี้ แปลเป็นภาษาไทยได้ว่า ถ้า A1 มีค่าเกิน 5 ให้แสดงคำว่า  “เกิน” แต่ถ้าไม่เกิน ให้แสดงคำว่า “ใช้ได้”

เงื่อนไขที่ทดสอบ ในที่นี้คือ ทดสอบว่ามีค่ามากกว่า 5 หรือไม่ (A1>5)

สิ่งที่ทำ ถ้าเงื่อนไขเป็นจริง ในที่นี้คือ ให้แสดงคำว่า “เกิน”

สิ่งที่ทำ ถ้าเงื่อนไขเป็นเท็จ ในที่นี้คือ ให้แสดงคำว่า “ใช้ได้”

IF

หมายเหตุ

เราอาจจะใช้ฟังก์ชันนี้ร่วมกับฟังก์ชันเชิงตรรกะอื่น เช่น AND และ OR เพื่อทดสอบมากกว่าหนึ่งเงื่อนไขในแต่ละครั้ง

ไม่ใช่ case-sensitive หมายความว่า N หรือ n ก็ใช้แทนกันได้

ถ้าต้องการนับจำนวนแบบมีเงื่อนไข โปรดใช้ COUNTIF หรือ COUNTIFS

ถ้าต้องการบวกแบบมีเงื่อนไข โปรดใช้ SUMIF หรือ SUMIFS

IFS

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

หมายเหตุ แต่ Excel ที่จะใช้ฟังก์ชัน IFS ได้ ต้องเป็นเวอร์ชัน 365 หรือว่า Excel 2019 หรือใหม่กว่า

=IFS(เงื่อนไข1, ค่าที่แสดงเมื่อตรงเงื่อนไข1, [เงื่อนไข2, ค่าที่แสดงเมื่อตรงเงื่อนไข2], ...)

หมายเหตุ IFS ยอมรับเงื่อนไขได้ถึง 127 เงื่อนไข

ตัวอย่าง

ในเซลล์ A1 ถึง A10 ใส่ค่าตั้งแต่ 1 ถึง 10 เราจะทดสอบว่า ถ้าค่าใน A มีค่าเกิน 5 ให้แสดงว่า “เกิน” แต่ถ้าไม่เกิน 5 ให้แสดงว่า “ใช้ได้”

ที่ C1 เราจะเขียนสูตรว่า

=IFS(A1>5,"เกิน",A1=<5,"ใช้ได้")

จะได้ผลลัพธ์แบบเดียวกับ IF ข้างต้น

IFS

IFS กับ IF

ลองมาเปรียบเทียบความแตกต่างระหว่าง IFS กับ IF ว่าการเขียนสูตรโดยใช้สองฟังก์ชันนี้แตกต่างกันอย่างไรบ้าง

ตัวอย่าง

เอาเรื่องการคำนวณเกรดการเรียนก็แล้วกัน สมมติว่า เราตั้งเกณฑ์ไว้ว่า

  • ต่ำกว่า 59 คะแนน = F
  • 60 – 69 คะแนน = D
  • 70 – 79 คะแนน = C
  • 80 – 89 คะแนน = B
  • 90 คะแนนขึ้นไป = A

ถ้าใช้ IF

อย่างที่บอกว่า ถ้าเป็น IF จะให้ผลลัพธ์เพียงแค่สองทางคือ จริง กับ เท็จ ดังนั้น ถ้ามีเงื่อนไขมากกว่า 1 จะต้องดำเนินการต่อเนื่องกันไปทีละลำดับขั้น อย่างที่เรียกกันว่า “IF ซ้อน IF” หมายถึงสูตรที่มีฟังก์ชัน IF ซ้อนอยู่ภายในอีกฟังก์ชันหนึ่งเพื่อทดสอบเงื่อนไขเพิ่มเติม

IF(A1=>90, “A”, IF(A1=>80, “B”, IF(A1=>70, “C”, IF(A1=>60, “D”, “F”)

เราสามารถใช้ IF ซ้อน IF ได้ถึง 64 ครั้ง แต่ เว็บไซต์ของไมโครซอฟต์ เตือนว่า ถ้าซ้อนเงื่อนไขมากเกินไป สิ่งที่จะเป็นปัญหาคือ “ความถูกต้อง” เพราะอาจทำให้การคำนวณเป็นเรื่องยากอย่างคาดไม่ถึง โดยเฉพาะ เมื่อย้อนกลับมาดูในภายหลังและพยายามทำความเข้าใจจุดประสงค์ของสูตรนั้น

ถ้าใช้ IFS

สำหรับการใช้ IFS ออกแบบมาเพื่อลดปัญหาการใช้ IF ซ้อน IF ที่จะกลายเป็นการวนซ้อนทับกันอ่านยาก ถ้าเป็น IFS เราแค่กำหนดเงื่อนไขของแต่ละเงื่อนไขและสิ่งที่ต้องการให้จัดการได้ง่ายดายมากขึ้น

=IFS(A6>=90,"A",A6>=80,"B",A6>=70,"C",A6>=60,"D",A6<60,"F")

นี่คือความแตกต่างระหว่าง IFS ที่มีออกมาเพื่อให้รับมือกับเงื่อนไขมากกว่า 1 เงื่อนไข ได้สะดวกรวดเร็ว อ่านเข้าใจง่ายกว่าของเดิม

อย่างไรก็ตาม DefExcel.com ไม่แนะนำให้ซ้อนเงื่อนไขมากเกินไป เนื่องจากต้องเรียงตามลำดับให้ถูกต้อง การใช้เงื่อนไขที่มากเกินไป อาจทำให้ตรวจสอบลำบากขึ้น และถ้ามีสิ่งที่ต้องแก้ไขปรับปรุง จะต้องมานั่งไล่สูตรกันยาวเหยียดเกินไป

อ้างอิง

ฟังก์ชัน IF https://support.microsoft.com/en-us/office/if-function-69aed7c9-4e8a-4755-a9bc-aa8bbff73be2

ฟังก์ชัน IFS https://support.microsoft.com/en-us/office/ifs-function-36329a26-37b2-467c-972b-4a39bd951d45

2 thoughts on “การใช้ IF / IFS”

  1. Pingback: OR (Function) | Def Excel

  2. Pingback: NOT (Function) - Def Excel

ความคิดเห็น