หน้าแรก › บทความ › Microsoft
Microsoft

ซ้อนฟังก์ชัน (Nested Functions) ใน Excel เขียนสูตรหลายขั้นในเซลล์เดียว

เผยแพร่ 29 ส.ค. 69

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

🎬 ดูวิดีโอสอน (0 นาที 57 วินาที) บน Excel จริง หรืออ่านขั้นตอนละเอียดด้านล่างได้เลย

การซ้อนฟังก์ชันคืออะไร

ปกติฟังก์ชันหนึ่งจะรับข้อมูลเข้า (argument) แล้วคืนผลลัพธ์ออกมา การซ้อนฟังก์ชันคือการเอาฟังก์ชันทั้งตัวไปวางไว้ในช่อง argument ของอีกฟังก์ชัน Excel จะคำนวณจากชั้นในสุดออกมาชั้นนอกสุด เหมือนแกะหัวหอมทีละชั้น

เช่น =ROUND(AVERAGE(B2:B5), 0) Excel จะหา AVERAGE(B2:B5) ให้เสร็จก่อน ได้ตัวเลขหนึ่งออกมา แล้วค่อยเอาตัวเลขนั้นส่งให้ ROUND ปัดเศษ

ตัวอย่างที่ 1: เฉลี่ยแล้วปัดเศษในเซลล์เดียว

ภาพจริงจาก Excel: NESTEDS

ภาพจริงจาก Excel (Microsoft 365): ตัวอย่าง NESTEDS จากคลิปสอน ข้อมูลในภาพเป็นตัวอย่างสมมติ อาจต่างจากตัวเลขในข้อความเล็กน้อย แต่หลักการเหมือนกัน

ตัวอย่างสูตร =ROUND(AVERAGE(B2:B5),0) ได้ผลลัพธ์ 75

ชั้นในสุด AVERAGE(B2:B5) ได้ 74.75 จากนั้น ROUND(74.75, 0) ปัดเป็น 75 อ่านเพิ่มเรื่องการปัดเศษได้ที่ ฟังก์ชัน ROUND และ AVERAGE

ตัวอย่างที่ 2: IF ซ้อน IF สำหรับตัดเกรด

เมื่อมีเงื่อนไขหลายระดับ ให้วาง IF ตัวถัดไปไว้ในช่อง “ค่าถ้าเงื่อนไขเป็นเท็จ” ของ IF ตัวก่อนหน้า

ตัวอย่างสูตร =IF(B2>=80,"A",IF(B2>=70,"B",IF(B2>=60,"C","D"))) ได้ผลลัพธ์ A / B / D

Excel เช็คจากซ้ายไปขวา ถ้า B2>=80 จริงก็หยุดที่ “A” ทันที ถ้าไม่จริงจึงไปเช็คเงื่อนไขถัดไป สูตรแบบนี้อ่านยากขึ้นเมื่อมีหลายชั้น จึงมีสูตร IFS ที่เขียนเงื่อนไขเรียงกันได้โดยไม่ต้องซ้อนวงเล็บซ้อนกันเป็นพืด

ตัวอย่างที่ 3: ซ้อนเพื่อกัน Error

การซ้อนที่ใช้บ่อยที่สุดคือเอาสูตรค้นหาไปไว้ข้างใน แล้วครอบด้วยตัวจับ Error ข้างนอก

ตัวอย่างสูตร =IFERROR(VLOOKUP(A2,$E$2:$F$9,2,FALSE),"ไม่พบสินค้า") ได้ผลลัพธ์ ไม่พบสินค้า / 450

ชั้นใน VLOOKUP พยายามหา P05 ในตารางราคา ถ้าไม่เจอจะเป็น #N/A ชั้นนอก IFERROR ดักไว้แล้วเปลี่ยนเป็นข้อความแทน

ตัวอย่างที่ 4: ทำความสะอาดข้อความ 2 ขั้น

ตัวอย่างสูตร =TRIM(SUBSTITUTE(A2,"-"," ")) ได้ผลลัพธ์ 089 123 4567

ชั้นใน SUBSTITUTE เปลี่ยนขีด - เป็นเว้นวรรค ชั้นนอก TRIM ตัดช่องว่างส่วนเกินทิ้ง

เทคนิคเขียนและอ่านสูตรซ้อนไม่ให้งง

ซ้อนได้ลึกแค่ไหน และเมื่อไรควรเลิกซ้อน

ทางเทคนิค Excel ซ้อนฟังก์ชันได้สูงสุด 64 ชั้น แต่ในทางปฏิบัติถ้าเกิน 3–4 ชั้นก็เริ่มอ่านยากและแก้ยาก ทางเลือกที่ดีกว่าคือ

ก่อนเขียนสูตรซ้อน แนะนำให้เข้าใจเรื่อง ลำดับการคำนวณในสูตร ก่อน จะช่วยให้วางวงเล็บถูกตำแหน่ง

หมายเหตุ: บทความนี้เขียนและเรียบเรียงโดย AI

← กลับหน้าบทความ
Line