ปัญหานี้ก็น่าสนใจมาก ในการทำงานของเรามักพบว่า บ่อยครั้งที่ผลลัพธ์ตามฟังก์ชั่นที่เราเขียนขึ้นเป็น #N/A หรือ #DIV/0!
การหาผลรวมโดยใช้ฟังก์ชั่น Sum ธรรมดาก็ไม่สามารถหาผลลัพธ์ได้ เอ… แล้วเราจะทำอย่างไรกันดี
ในเมื่อไม่สามารถหาด้วยฟังก์ชั่น Sum ได้ เราก็ลองหาฟังก์ชั่นอื่นหรือหาทางประยุกต์ดูครับ
ลองนึกสิครับว่าฟังก์ชั่นไหนบ้างที่เป็นการรวมตามเงื่อนไข
หลังจากนึกถึงการประยุกต์ใช้ฟังก์ชั่นจนหน้ามืดได้ที่แล้ว ก็มาดูตัวอย่างการประยุกต์ฟังก์ชั่น Sum กับ Sumif เพื่อเป็นแนวทางดูครับ
สมมุติตัวอย่าง ข้อมูลอยู่ที่ A1:A5 เป็นข้อมูลด้านล่างตามลำดับ อยากได้ผลรวมที่ช่อง A6 เป็น 45 จะต้องใช้สูตรอย่างไร?
10
#N/A
20
#DIV/0!
15
มาดูตัวอย่างการใช้ สูตรที่ A6 ตามนี้ครับ
=SUM(SUMIF(A1:A5,{"<0",">0"}))
หรือ=SUMIF(A1:A5,"<9.99999999999999e307")
หรือ=SUMIF(A1:A5,">-9.99999999999999e307")
หรือกรณีใช้ Excel 2010+=AGGREGATE(9,6,A1:A5)
สูตรด้านบน Enter ธรรมดาครับ นอกจากนี้ยังมีสูตร Array ที่พวกเราชอบมากๆ มาช่วยเราได้อีกได้แก่
=SUM(IF(ISNUMBER(A1:A5),A1:A5))
สูตรนี้ต้องกด 3 แป้นครับ เพื่อทำเป็นสูตร Array คือ Ctrl+Shift+Enter
ต่อไปนี้เราก็ไม่ต้องกลัวเรื่องการรวมยอดที่มีข้อผิดพลาดอีกแล้ว สามารถดาวน์โหลดไฟล์ตัวอย่างด้านล่างไปศึกษาได้ตามสะดวกครับ
Revised: January 26, 2017 at 23:02
หามานานแล้วครับ สูตรนี้=Sumif(A1:A5,"<=9.99999999999999e307")แต่อยากให้ช่วยอธิบายสูตรนี้เพิ่มครับ=Sum(Sumif(A1:A5,{"<0",">0"}))ถึงหลักการใช้ { ใน sumifขอบคุณครับ
ปกติ Sumif ใน Excel 2003 สามารถรวมยอดตามเงื่อนไขได้เพียงเงื่อนไขเดียวเท่านั้นครับ การใช้ Sum มาครอบ Sumif เป็นเทคนิคในการประยุกต์ใช้เพื่อให้ Sumif สามารถรวมค่าได้มากกว่า 1 เงื่อนไข ซึ่งเงื่อนไขทั้งหลายต้องอยู่ภายในเครื่องหมายปีกกาเพื่อให้สามารถกดเพียงแป้น Enter เพื่อรับสูตรกรณีมีหลายเงื่อนไข การเขียนเงื่อนไขไม่จำเป็นต้องอยู่ภายในเครื่องหมายปีกกาเสมอไปครับ สามารถเขียนเงื่อนไขไว้ในช่วงเซลล์ใด ๆ ก็ได้ เมื่อตอนใช้ใน Sumif ก็แค่ไปลากคลุมช่วงที่เป็นเงื่อนไข แต่การกดแป้นให้รับสูตร ต้องกด 3 แป้นคือ Ctrl+Shift+Enter เนื่องจากสูตรดังกล่าวเป็นสูตร Array
ขอบคุณสำหรับความรู้ใหม่ครับ ว่า sumif สามารถใช้ได้หลายเงื่อนไขโดยใช้ sum มาช่วย