ต้องรู้
- ฟังก์ชัน IF ใช้สำหรับทดสอบตรรกะ กล่าวคือ มีบางสิ่งที่เป็นจริงหรือไม่
- ไวยากรณ์และอาร์กิวเมนต์ของฟังก์ชัน IF คือ =IF(logical_test, value_if_true, [value_if_false]).
- ตัวอย่างเช่น =IF(A2>A3, "ใหญ่กว่า", "เล็กกว่า")
บทความนี้อธิบายวิธีใช้ฟังก์ชัน IF เพื่อทำการทดสอบเชิงตรรกะของ Excel ทุกเวอร์ชัน รวมถึง Excel 2019 และ Microsoft 365 โดยมีตัวอย่างหลายตัวอย่างระบุไว้
ฟังก์ชัน IF คืออะไร
ฟังก์ชัน IF ใน Excel ใช้เพื่อทดสอบตรรกะ สูตรที่ใช้ฟังก์ชันนี้เรียกอีกอย่างว่าคำสั่ง IF หรือคำสั่ง if/then.
สูตรทั้งหมดที่ใช้ฟังก์ชันนี้สามารถมีผลลัพธ์ได้หนึ่งในสองรายการ วิธีการทำงาน ดังที่เราจะเห็นในตัวอย่างด้านล่าง คือ มีการตั้งค่าสูตรเพื่อทดสอบว่าบางสิ่งเป็นความจริงหรือไม่ ถ้ามันจริงสิ่งหนึ่งจะเกิดขึ้น แต่ถ้ามันเป็นเท็จสิ่งอื่นจะเกิดขึ้น
ฟังก์ชัน IF เป็นหนึ่งในหลายฟังก์ชันเชิงตรรกะที่คุณสามารถใช้ได้ใน Excel อื่นๆ ได้แก่ AND, IFERROR, IFS, NOT และ OR
IF ไวยากรณ์และอาร์กิวเมนต์ของฟังก์ชัน
ทุกสูตรที่ใช้ฟังก์ชัน IF จะมีส่วนประกอบบางส่วน:
=IF (logical_test, value_if_true, [value_if_false])
- logical_test: เงื่อนไขที่คุณกำลังทดสอบ จำเป็น
- value_if_true: จะเกิดอะไรขึ้นถ้า logical_test เป็นจริง จำเป็น
- value_if_false: จะเกิดอะไรขึ้นถ้า logical_test เป็นเท็จ เป็นทางเลือก
การเขียนคำสั่ง IF ของ Excel เป็นเรื่องง่ายหากคุณอ่านต่างออกไปเล็กน้อย: ถ้าส่วนแรกเป็นจริง ให้ทำสิ่งนี้ หากส่วนแรกเป็นเท็จ ให้ทำอย่างอื่นแทน
จำกฎเหล่านี้ไว้:
- Excel คืนค่า FALSE หาก logical_test เป็นเท็จ และละค่า value_if_false
- ในการส่งคืนข้อความเป็น value_if_true หรือ value_if_false จะต้องอยู่ในเครื่องหมายคำพูด ยกเว้นคำว่า TRUE และ FALSE
- ฟังก์ชัน IF ไม่คำนึงถึงขนาดตัวพิมพ์
- Excel 2010 และใหม่กว่าอนุญาตให้มีคำสั่ง IF สูงสุด 64 รายการภายในสูตรเดียวกัน Excel เวอร์ชันเก่าถูกจำกัดไว้ที่เจ็ด
IF ตัวอย่างฟังก์ชัน
นี่คือวิธีต่างๆ ที่คุณสามารถใช้สูตร IF ใน Excel:
เขียนข้อความถ้าคำชี้แจงเป็นจริง
=IF(A2>A3, "ใหญ่ขึ้น", "เล็กลง")
นี่คือตัวอย่างพื้นฐานของคำสั่ง IF ใน Excel การทดสอบคือดูว่า A2 ใหญ่กว่า A3 หรือไม่ ถ้าเป็น ให้เขียน Bigger หรือเขียน Smaller.
ทำคณิตศาสตร์ถ้าคำชี้แจงเป็นจริง
=IF(A2>A3, A2-A3)
คำสั่ง IF นี้เขียนต่างกันเล็กน้อย แทนที่จะให้ผลลัพธ์ value_if_true เป็นคำ จะลบค่าหนึ่งออกจากค่าอื่น ดังนั้น ถ้าจริง ๆ แล้ว A2 ใหญ่กว่า A3 ผลลัพธ์ก็จะต่างกัน หากไม่เป็นความจริง เนื่องจากเราละเว้นส่วน value_if_false Excel จะส่งกลับ FALSE.
ทดสอบคำชี้แจงด้วยคณิตศาสตร์
=IF(A2/A3=5, A2/A3, "")
อีกวิธีหนึ่งในการเขียนคำสั่ง IF คือทำการคำนวณภายในส่วน logical_test เงื่อนไข IF ที่นี่คือ A2/A3=5 หากเป็นเช่นนั้น เราจะทำการคำนวณ A2/A3 หากไม่เท่ากับ 5 เราต้องการให้ผลลัพธ์ไม่เป็นอะไรเลย เราจึงใช้เครื่องหมายคำพูดคู่
ทดสอบว่าวันนี้มีนัดไหม
=IF(A2=TODAY(), "This is today", "")
ฟังก์ชัน Excel อื่นๆ สามารถใช้ในคำสั่ง IF ในตัวอย่างนี้ เราใช้ฟังก์ชัน TODAY เพื่อตรวจสอบว่า A2 เป็นวันที่ของวันนี้หรือไม่ ถ้าใช่ สูตรจะเขียนว่า นี่คือวันนี้ มิฉะนั้นจะไม่มีอะไรเขียน
การใช้ AND ด้วยสูตร IF
=IF(E2<=TODAY(), "Now", "Soon")
=IF(AND(F2="Now", D2>=(B2-C2)), "ใช่", "ไม่")
ตัวอย่างของฟังก์ชัน IF นี้มีความเกี่ยวข้องมากกว่าเล็กน้อย แนวคิดในที่นี้คือเพื่อดูว่ารายการที่เราค้างชำระนั้นเลยกำหนดชำระหรือไม่ และหากเป็นเช่นนั้น เรากำลังดูว่าจำนวนเงินนั้นอยู่ในงบประมาณของเราหรือไม่เพื่อที่เราจะสามารถชำระคืนได้ หากข้อความทั้งสองนี้เป็นจริง เราจะเห็นได้ในคอลัมน์ G ว่าถึงเวลาต้องจ่ายหรือไม่
IF(E2<=TODAY(), "Now", "Soon") อยู่ในคอลัมน์ด่วน โดยจะบอกเราว่าสินค้าเกินกำหนดหรือครบกำหนดในวันนี้โดยเปรียบเทียบวันที่ครบกำหนดกับวันที่ของวันนี้ หากวันที่ครบกำหนดคือวันนี้หรือในอดีต Now จะถูกเขียนในคอลัมน์ F มิฉะนั้นเราจะเขียน Soon.
คำสั่ง IF ที่สองยังคงมีโครงสร้างเหมือนกับคำสั่ง IF แม้ว่า AND จะถูกใช้งานอยู่ก็ตาม ส่วนที่เป็นตัวหนาที่นี่คือตำแหน่งของฟังก์ชัน AND และเนื่องจากอยู่ในเครื่องหมายจุลภาคชุดแรก เราจึงใช้เป็น logical_test:
=IF(AND(F2="ตอนนี้", D2>=(B2-C2)), "ใช่", "ไม่")
ที่นี่เขียนต่างกันเพื่อแสดงว่าเหมือนกับคำสั่ง IF อื่นๆ:
=IF(test this AND function, write Yes if it's true, or เขียน Noถ้าเป็นเท็จ)
ภายในฟังก์ชัน AND มีคำสั่ง IF สองคำสั่ง:
- F2="Now" เป็นส่วนหนึ่งของสูตรในคอลัมน์ G ซึ่งจะตรวจสอบว่า Now อยู่ใน F2 หรือไม่
- D2>=(B2-C2) มีสองส่วน: ขั้นแรกทำการคำนวณ B2-C2 เพื่อดูว่าเราเหลือเงินสำหรับสินค้าเท่าไหร่ แล้วจึง ตรวจสอบงบประมาณที่มีอยู่ใน D2 เพื่อดูว่าเรามีเงินที่จะจ่ายออกหรือไม่
ดังนั้น ถ้าเราเป็นหนี้เงินตอนนี้ และเรามีเงินที่จะจ่ายออก เราก็บอกว่าใช่ ได้เวลาชำระสินค้าแล้ว
ตัวอย่างคำสั่ง IF ที่ซ้อนกัน
คำสั่ง IF ที่ซ้อนกันคือสิ่งที่เรียกว่าเมื่อมีคำสั่ง IF มากกว่าหนึ่งคำสั่งรวมอยู่ในสูตร การตั้งค่าเกือบจะเหมือนกัน แต่แทนที่จะปิดวงเล็บที่ส่วนท้ายของชุดแรก เราใส่เครื่องหมายจุลภาคและเขียนคำสั่งอื่น
คำสั่ง IF สองคำในสูตรเดียว
=IF(B2="F", "Class A", IF(B2="M", "Class B"))
ตัวอย่างแรกนี้ใช้เพื่อจัดหมวดหมู่นักเรียนตามเพศ โดยที่ผู้หญิงจะได้รับมอบหมายให้เรียนคลาส A และผู้ชายคลาส B สูตรจะตรวจสอบ F และ M ใน B2 แล้วจึงเขียนว่าคลาส A หรือคลาส B ขึ้นอยู่กับข้อความ จริงนะ
จำนวนวงเล็บที่คุณต้องการต่อท้ายสูตรที่มีฟังก์ชัน IF ที่ซ้อนกันคือจำนวนครั้งที่เขียน IF เท่ากัน ในตัวอย่างของเรา IF ถูกเขียนสองครั้ง เราจึงต้องมีวงเล็บสองอันต่อท้าย
คำสั่ง IF สามคำในสูตรเดียว
=IF(A2=TODAY(), "This is today", IF(A2TODAY(), "Future date")))
นี่คือตัวอย่างสูตรที่มีคำสั่ง IF หลายคำ เหมือนกับตัวอย่าง TODAY ด้านบน แต่มีการทดสอบเชิงตรรกะอีกหนึ่งอย่าง:
- ชุดแรกตรวจสอบว่า A2 เป็นวันที่ของวันนี้หรือไม่และส่งคืน นี่คือวันนี้หรือไม่
- การทดสอบครั้งที่สองถ้าวันนี้มากกว่า A2 เพื่อระบุว่า A2 เป็นวันที่เก่ากว่า และส่งกลับวันที่เก่าถ้าเป็น
- สุดท้าย มีการทดสอบเพื่อดูว่าวันที่ของวันนี้น้อยกว่าวันที่ใน A2 หรือไม่ และสูตรจะคืนค่าวันที่ในอนาคตหากใช่
คัดลอกราคาหากคำชี้แจงเป็นเท็จ
=IF(C2="Bill", "", IF(C2="Food", "", B2))
ในตัวอย่างสูตร IF ที่ซ้อนกันขั้นสุดท้ายนี้ เราจำเป็นต้องระบุยอดรวมของการซื้อทั้งหมดที่ไม่จัดอยู่ในหมวดหมู่ใดหมวดหมู่หนึ่งอย่างรวดเร็ว เรากำลังรวมการซื้อที่ไม่จำเป็นทั้งหมดของเรา และด้วยรายการที่ยาวนาน นี่เป็นวิธีที่ดีที่สุดที่จะทำ เราได้พิจารณาแล้วว่าคำอธิบายสินค้าใดๆ ที่ระบุว่าบิลหรืออาหารมีความสำคัญ ดังนั้นราคาใน B2 จะต้องแสดงสำหรับรายการอื่นๆ ทั้งหมด
นี่คือสิ่งที่จะเกิดขึ้น:
- C2="Bill", "": ถ้า C2 พูดว่า Bill ให้ปล่อยเซลล์ว่างไว้
- C2="อาหาร", "": หาก C2 ระบุว่าอาหาร ให้ปล่อยช่องว่างไว้
- B2: หากข้อความใดข้อความหนึ่งเป็นเท็จ ให้เขียนสิ่งที่อยู่ใน B2.
สูตรนี้บอกอะไรเราได้บ้างคือรายการราคาที่เราสามารถรวมด้วยฟังก์ชัน SUM เพื่อประเมินอย่างรวดเร็วว่าเงินที่ใช้ไปกับสินค้าที่เราไม่ต้องการ
วิธีที่ง่ายกว่าในการเขียนคำสั่ง IF ที่ซ้อนกัน
เมื่อคุณสร้างสูตรมากขึ้นเรื่อยๆ จะไม่สามารถจัดการได้อย่างรวดเร็วและแก้ไขในภายหลังได้ยาก วิธีหนึ่งในการทำให้คำสั่ง IF ที่ซ้อนกันทำงานได้ง่ายขึ้นคือใส่ตัวแบ่งบรรทัดหลังแต่ละคำสั่ง เช่น:
=
IF(A2=TODAY(), "นี่คือวันนี้",
IF(A2<TODAY(), "วันเก่า",
IF(A2IF(A2>TODAY(), "วันที่ในอนาคต")))
ในการทำสิ่งนี้ใน Excel เราต้องแก้ไขจากแถบสูตร:
- เลือกแถบสูตรที่ด้านบนของ Excel
- วางเมาส์ไว้ใต้พื้นที่ข้อความจนกว่าเคอร์เซอร์จะเปลี่ยนเป็นลูกศรสองด้าน จากนั้นคลิกและลากกล่องลงเพื่อเพิ่มพื้นที่ทำงาน
- วางเคอร์เซอร์หลังเครื่องหมายเท่ากับ แล้วกด Alt+Enter (Windows) หรือ Ctrl+Option+Enter (Mac) ซึ่งจะทำให้สูตรที่เหลือขึ้นบรรทัดใหม่
-
ทำซ้ำขั้นตอนที่ 3 ก่อนแต่ละคำสั่ง IF เพื่อให้ทุกอินสแตนซ์อยู่ในบรรทัดของตัวเอง