ต้องรู้
- =IF(D7=50000, $D$5D7, $D$4D7))=คือสูตรที่คุณป้อนเพื่อเริ่มฟังก์ชัน Nested IF
- ป้อนอาร์กิวเมนต์ Logical_test ซึ่งเปรียบเทียบข้อมูลสองรายการ จากนั้นป้อนอาร์กิวเมนต์ Value_if_true
- ป้อนฟังก์ชัน IF ที่ซ้อนกันเป็น Value_if_false อาร์กิวเมนต์ ในการสิ้นสุด ให้คัดลอกฟังก์ชัน Nested IF โดยใช้ Fill Handle.
บทความนี้อธิบายวิธีการซ้อนฟังก์ชัน IF ใน Excel เพื่อเพิ่มเงื่อนไขที่ทดสอบและการดำเนินการที่ทำโดยฟังก์ชัน คำแนะนำครอบคลุม Excel 2019-10, Excel for Mac และ Excel Online
การสอนฟังก์ชัน Nest IF
ตามที่แสดงในรูปภาพ บทช่วยสอนนี้ใช้ฟังก์ชัน IF สองฟังก์ชันเพื่อสร้างสูตรที่คำนวณจำนวนเงินที่หักรายปีสำหรับพนักงานตามเงินเดือนประจำปีของพวกเขา สูตรที่ใช้ในตัวอย่างแสดงไว้ด้านล่าง ฟังก์ชัน IF ที่ซ้อนกันทำหน้าที่เป็นอาร์กิวเมนต์ value_if_false สำหรับฟังก์ชัน IF แรก
=IF(D7=50000, $D$5D7, $D$4D7))
ส่วนต่างๆ ของสูตรคั่นด้วยเครื่องหมายจุลภาคและทำงานต่อไปนี้:
- ส่วนแรก D7<30000 ตรวจดูว่าเงินเดือนของพนักงานน้อยกว่า $30, 000 หรือไม่
- ถ้าเงินเดือนน้อยกว่า $30,000 ภาคกลาง $D$3D7 คูณเงินเดือนด้วยอัตราการหัก 6%
- ถ้าเงินเดือนมากกว่า $30, 000 ฟังก์ชัน IF ที่สอง IF(D7>=50000, $D$5D7, $D$4D7) จะทดสอบสองเงื่อนไขเพิ่มเติม
- D7>=50000 ตรวจสอบเพื่อดูว่าเงินเดือนของพนักงานมากกว่าหรือเท่ากับ $50, 000
- ถ้าเงินเดือนเท่ากับหรือมากกว่า $50,000, $D$5D7 จะคูณเงินเดือนด้วยอัตราการหัก 10%
- ถ้าเงินเดือนน้อยกว่า $50, 000 แต่มากกว่า $30, 000, $D$4D7 คูณเงินเดือนด้วยอัตราการหัก 8%
ป้อนข้อมูลการสอน
ป้อนข้อมูลลงในเซลล์ C1 ถึง E6 ของเวิร์กชีต Excel ดังที่เห็นในภาพ ข้อมูลเดียวที่ไม่ได้ป้อน ณ จุดนี้คือฟังก์ชัน IF ที่อยู่ในเซลล์ E7
คำแนะนำในการคัดลอกข้อมูลไม่รวมขั้นตอนการจัดรูปแบบสำหรับเวิร์กชีต การดำเนินการนี้ไม่รบกวนการทำบทแนะนำให้เสร็จสิ้น แผ่นงานของคุณอาจดูแตกต่างจากตัวอย่างที่แสดง แต่ฟังก์ชัน IF จะให้ผลลัพธ์เหมือนกัน
เริ่มฟังก์ชัน IF ที่ซ้อนกัน
สามารถกรอกสูตรได้เลย
=IF(D7=50000, $D$5D7, $D$4D7))
ลงในเซลล์ E7 ของเวิร์กชีตและใช้งานได้ ใน Excel Online นี่คือวิธีที่คุณต้องใช้ อย่างไรก็ตาม หากคุณใช้ Excel เวอร์ชันเดสก์ท็อป การใช้กล่องโต้ตอบของฟังก์ชันเพื่อป้อนอาร์กิวเมนต์ที่จำเป็นมักจะง่ายกว่า
การใช้กล่องโต้ตอบจะยุ่งยากกว่าเล็กน้อยเมื่อเข้าสู่ฟังก์ชันที่ซ้อนกัน เนื่องจากต้องพิมพ์ฟังก์ชันที่ซ้อนกันอยู่ ไม่สามารถเปิดกล่องโต้ตอบที่สองเพื่อป้อนอาร์กิวเมนต์ชุดที่สองได้
ในตัวอย่างนี้ ฟังก์ชัน IF ที่ซ้อนกันถูกป้อนลงในบรรทัดที่สามของกล่องโต้ตอบเป็นอาร์กิวเมนต์ Value_if_false เนื่องจากแผ่นงานคำนวณการหักเงินรายปีสำหรับพนักงานหลายคน สูตรนี้จึงถูกป้อนลงในเซลล์ E7 ก่อน โดยใช้การอ้างอิงเซลล์แบบสัมบูรณ์สำหรับอัตราการหักเงิน จากนั้นจึงคัดลอกไปยังเซลล์ E8:E11
ขั้นตอนการสอน
- เลือกเซลล์ E7 เพื่อทำให้เป็นเซลล์ที่ทำงานอยู่ นี่คือตำแหน่งของสูตร IF ที่ซ้อนกัน
- เลือก สูตร.
- Select Logical เพื่อเปิดรายการดรอปดาวน์ของฟังก์ชัน
- เลือก IF ในรายการเพื่อเปิดกล่องโต้ตอบของฟังก์ชัน
ข้อมูลที่ป้อนลงในบรรทัดว่างในกล่องโต้ตอบสร้างอาร์กิวเมนต์ของฟังก์ชัน IF อาร์กิวเมนต์เหล่านี้บอกฟังก์ชันถึงเงื่อนไขที่กำลังทดสอบ และสิ่งที่ควรทำหากเงื่อนไขเป็นจริงหรือเท็จ
ตัวเลือกทางลัดการสอน
เพื่อดำเนินการต่อกับตัวอย่างนี้ คุณอาจ:
- ป้อนอาร์กิวเมนต์ลงในกล่องโต้ตอบดังที่แสดงในภาพด้านบน จากนั้นข้ามไปยังขั้นตอนสุดท้ายที่ครอบคลุมการคัดลอกสูตรไปยังแถวที่ 7 ถึง 10
- หรือ ทำตามขั้นตอนถัดไปที่ให้คำแนะนำโดยละเอียดและคำอธิบายสำหรับการป้อนอาร์กิวเมนต์ทั้งสาม
ป้อนอาร์กิวเมนต์ Logical_test
อาร์กิวเมนต์ Logical_test เปรียบเทียบข้อมูลสองรายการ ข้อมูลนี้อาจเป็นตัวเลข การอ้างอิงเซลล์ ผลลัพธ์ของสูตร หรือแม้แต่ข้อมูลข้อความ ในการเปรียบเทียบค่าสองค่า Logical_test จะใช้ตัวดำเนินการเปรียบเทียบระหว่างค่าต่างๆ
ในตัวอย่างนี้ มีสามระดับเงินเดือนที่กำหนดการหักประจำปีของพนักงาน:
- น้อยกว่า $30, 000.
- ระหว่าง $30, 000 และ $49, 999.
- $50, 000 หรือมากกว่า
ฟังก์ชัน IF เดียวสามารถเปรียบเทียบสองระดับได้ แต่ระดับเงินเดือนที่สามต้องใช้ฟังก์ชัน IF ที่ซ้อนกันที่สอง การเปรียบเทียบครั้งแรกคือระหว่างเงินเดือนประจำปีของพนักงาน ซึ่งอยู่ในเซลล์ D โดยมีเงินเดือนขั้นต่ำอยู่ที่ 30,000 ดอลลาร์ เนื่องจากเป้าหมายคือการพิจารณาว่า D7 น้อยกว่า 30,000 ดอลลาร์หรือไม่ ผู้ดำเนินการ Less Than (<) ใช้ระหว่างค่า
ขั้นตอนการสอน
- เลือกบรรทัด Logical_test ในกล่องโต้ตอบ
- เลือกเซลล์ D7 เพื่อเพิ่มการอ้างอิงเซลล์นี้ไปยังบรรทัด Logical_test
- กดปุ่ม น้อยกว่า (<) บนแป้นพิมพ์
- ประเภท 30000 หลังเครื่องหมายน้อยกว่า
- การทดสอบตรรกะที่เสร็จสมบูรณ์แสดงเป็น D7<30000
อย่าใส่เครื่องหมายดอลลาร์ ($) หรือคั่นด้วยเครื่องหมายจุลภาค (,) ที่มี 30000 ข้อความแสดงข้อผิดพลาดที่ไม่ถูกต้องจะปรากฏขึ้นที่ท้ายบรรทัด Logical_test ถ้าอย่างใดอย่างหนึ่ง สัญลักษณ์เหล่านี้ถูกป้อนพร้อมกับข้อมูล
ป้อนอาร์กิวเมนต์ Value_if_true
อาร์กิวเมนต์ Value_if_true บอกฟังก์ชัน IF ว่าต้องทำอย่างไรเมื่อ Logical_test เป็นจริง อาร์กิวเมนต์ Value_if_true สามารถเป็นสูตร กลุ่มข้อความ ค่า การอ้างอิงเซลล์ หรือเซลล์สามารถเว้นว่างไว้ได้
ในตัวอย่างนี้ เมื่อข้อมูลในเซลล์ D7 น้อยกว่า $30, 000 Excel จะคูณเงินเดือนประจำปีของพนักงานในเซลล์ D7 ด้วยอัตราการหัก 6 เปอร์เซ็นต์ที่อยู่ในเซลล์ D3
การอ้างอิงเซลล์แบบสัมพันธ์กับแบบสัมบูรณ์
โดยปกติ เมื่อคัดลอกสูตรไปยังเซลล์อื่น การอ้างอิงเซลล์สัมพัทธ์ในสูตรจะเปลี่ยนเพื่อแสดงตำแหน่งใหม่ของสูตร ทำให้ง่ายต่อการใช้สูตรเดียวกันในหลายตำแหน่ง ในบางครั้ง การอ้างอิงเซลล์จะเปลี่ยนไปเมื่อมีการคัดลอกฟังก์ชันทำให้เกิดข้อผิดพลาด เพื่อป้องกันข้อผิดพลาดเหล่านี้ การอ้างอิงเซลล์สามารถทำได้โดย Absolute ซึ่งจะหยุดการเปลี่ยนแปลงเมื่อถูกคัดลอก
การอ้างอิงเซลล์แบบสัมบูรณ์ถูกสร้างขึ้นโดยการเพิ่มเครื่องหมายดอลลาร์รอบๆ การอ้างอิงเซลล์ปกติ เช่น $D$3 การเพิ่มเครื่องหมายดอลลาร์ทำได้ง่ายโดยกดปุ่ม F4 บนแป้นพิมพ์หลังจากที่ป้อนการอ้างอิงเซลล์ลงในกล่องโต้ตอบแล้ว
ในตัวอย่าง อัตราการหักเงินที่อยู่ในเซลล์ D3 จะถูกป้อนเป็นการอ้างอิงเซลล์แบบสัมบูรณ์ในบรรทัด Value_if_true ของกล่องโต้ตอบ
ขั้นตอนการสอน
- เลือกบรรทัด Value_if_true ในกล่องโต้ตอบ
- เลือกเซลล์ D3 ในเวิร์กชีตเพื่อเพิ่มการอ้างอิงเซลล์นี้ในบรรทัด Value_if_true
- กดปุ่ม F4 เพื่อทำให้ D3 เป็นการอ้างอิงเซลล์แบบสัมบูรณ์ ($D$3)
- กดปุ่มดอกจัน () เครื่องหมายดอกจันคือสัญลักษณ์การคูณใน Excel
- เลือกเซลล์ D7 เพื่อเพิ่มการอ้างอิงเซลล์นี้ไปยังบรรทัด Value_if_true
- บรรทัด Value_if_true ที่กรอกเสร็จจะแสดงเป็น $D$3D7
D7 ไม่ได้ป้อนเป็นการอ้างอิงเซลล์แบบสัมบูรณ์ จำเป็นต้องเปลี่ยนเมื่อคัดลอกสูตรไปยังเซลล์ E8:E11 เพื่อให้ได้ยอดเงินหักที่ถูกต้องสำหรับพนักงานแต่ละคน
ป้อนฟังก์ชัน IF ที่ซ้อนกันเป็นอาร์กิวเมนต์ Value_if_false
โดยปกติ อาร์กิวเมนต์ Value_if_false จะบอกฟังก์ชัน IF ว่าต้องทำอย่างไรเมื่อ Logical_test เป็นเท็จ ในกรณีนี้ ฟังก์ชัน IF ที่ซ้อนกันจะถูกป้อนเป็นอาร์กิวเมนต์นี้ เมื่อทำเช่นนี้ ผลลัพธ์ต่อไปนี้จะเกิดขึ้น:
- อาร์กิวเมนต์ Logical_test ในฟังก์ชัน IF ที่ซ้อนกัน (D7>=50000) ทดสอบเงินเดือนทั้งหมดที่ไม่ต่ำกว่า $30, 000
- สำหรับเงินเดือนที่มากกว่าหรือเท่ากับ $50,000 อาร์กิวเมนต์ Value_if_true จะคูณด้วยอัตราการหัก 10% ที่อยู่ในเซลล์ D5
- สำหรับเงินเดือนที่เหลืออยู่ (ที่มากกว่า $30, 000 แต่น้อยกว่า $50, 000) อาร์กิวเมนต์ Value_if_false จะคูณด้วยอัตราการหัก 8% ที่อยู่ในเซลล์ D4
ขั้นตอนการสอน
ดังที่กล่าวไว้ตอนต้นของบทช่วยสอน กล่องโต้ตอบที่สองไม่สามารถเปิดขึ้นเพื่อเข้าสู่ฟังก์ชันที่ซ้อนกัน ดังนั้นจึงต้องพิมพ์ลงในบรรทัด Value_if_false
ฟังก์ชันที่ซ้อนกันไม่ได้ขึ้นต้นด้วยเครื่องหมายเท่ากับ แต่จะเริ่มต้นด้วยชื่อฟังก์ชัน
- เลือกบรรทัด Value_if_false ในกล่องโต้ตอบ
- ป้อนฟังก์ชัน IF ต่อไปนี้:
- Select OK เพื่อสิ้นสุดฟังก์ชัน IF และปิดกล่องโต้ตอบ
- มูลค่า $3, 678.96 ปรากฏในเซลล์ E7 เนื่องจาก R. Holt มีรายได้มากกว่า $30,000 แต่น้อยกว่า $50,000 ต่อปี จึงใช้สูตร $45, 9878% ในการคำนวณการหักรายปีของเขา
- เลือกเซลล์ E7 เพื่อแสดงฟังก์ชันที่สมบูรณ์=IF(D7=50000, $D$5D7, $D$4D7)) ในแถบสูตรด้านบนเวิร์กชีต.
IF(D7>=50000, $D$5D7, $D$4D7)
หลังจากทำตามขั้นตอนเหล่านี้ ตัวอย่างของคุณตรงกับภาพแรกในบทความนี้
ขั้นตอนสุดท้ายเกี่ยวข้องกับการคัดลอกสูตร IF ไปยังเซลล์ E8 ถึง E11 โดยใช้ที่จับเติมเพื่อทำให้เวิร์กชีตเสร็จสมบูรณ์
คัดลอกฟังก์ชัน IF ที่ซ้อนกันโดยใช้ที่จับเติม
ในการกรอกเวิร์กชีต ให้คัดลอกสูตรที่มีฟังก์ชัน IF ที่ซ้อนกันไปยังเซลล์ E8 ถึง E11 เมื่อมีการคัดลอกฟังก์ชัน Excel จะอัปเดตการอ้างอิงเซลล์แบบสัมพัทธ์เพื่อแสดงตำแหน่งใหม่ของฟังก์ชันโดยที่ยังคงการอ้างอิงเซลล์แบบสัมบูรณ์เหมือนเดิม
วิธีง่ายๆ ในการคัดลอกสูตรใน Excel คือการใช้ Fill Handle
ขั้นตอนการสอน
- เลือกเซลล์ E7 เพื่อให้เป็นเซลล์ที่ใช้งานอยู่
- วางตัวชี้เมาส์ไว้เหนือช่องสี่เหลี่ยมที่มุมล่างขวาของเซลล์ที่ใช้งานอยู่ ตัวชี้จะเปลี่ยนเป็นเครื่องหมายบวก (+).
- เลือกและลากที่จับเติมลงไปที่เซลล์ E11
- เซลล์ E8 ถึง E11 นั้นเต็มไปด้วยผลลัพธ์ของสูตรดังที่แสดงในภาพด้านบน