หน้าเว็บ

วันอาทิตย์ที่ 9 พฤศจิกายน พ.ศ. 2551

ถ้ามีค่าผิดพลาดจะรวมยอดอย่างไร?

ปัญหานี้ก็น่าสนใจมาก ในการทำงานของเรามักพบว่า บ่อยครั้งที่ผลลัพธ์ตามฟังก์ชั่นที่เราเขียนขึ้นเป็น #N/A หรือ #DIV/0!

การหาผลรวมโดยใช้ฟังก์ชั่น Sum ธรรมดาก็ไม่สามารถหาผลลัพธ์ได้ เอ... แล้วเราจะทำอย่างไรกันดี Thinking smile

ในเมื่อไม่สามารถหาด้วยฟังก์ชั่น Sum ได้ เราก็ลองหาฟังก์ชั่นอื่นหรือหาทางประยุกต์ดูครับ ลองนึกสิครับว่าฟังก์ชั่นไหนบ้างที่เป็นการรวมตามเงื่อนไข Sarcastic smile

หลังจากนึกถึงการประยุกต์ใช้ฟังก์ชั่นจนหน้ามืดได้ที่แล้ว ก็มาดูตัวอย่างการประยุกต์ฟังก์ชั่น Sum กับ Sumif เพื่อเป็นแนวทางดูครับ Sick smile

สมมุติตัวอย่าง ข้อมูลอยู่ที่ A1:A5 เป็นข้อมูลด้านล่างตามลำดับ อยากได้ผลรวมที่ช่อง A6 เป็น 45 จะต้องใช้สูตรอย่างไร?

10
#N/A
20
#DIV/0!
15

มาดูตัวอย่างการใช้ สูตรที่ A6 ตามนี้ครับ

  1. =Sum(Sumif(A1:A5,{"<0",">0"})) หรือ
  2. =Sumif(A1:A5,"<=9.99999999999999e307")

ทั้งสองสูตรด้านบน Enter ธรรมดาครับ นอกจากนี้ยังมีสูตร Array ที่พวกเราชอบมากๆ มาช่วยเราได้อีกได้แก่

=Sum(If(Isnumber(A1:A5),A1:A5))

สูตรนี้ต้องกด 3 แป้นครับ เพื่อทำเป็นสูตร Array คือ Ctrl+Shift+Enter

ต่อไปนี้เราก็ไม่ต้องกลัวเรื่องการรวมยอดที่มีข้อผิดพลาดอีกแล้วครับ Open-mouthed smile

3 ความคิดเห็น:

ไม่ระบุชื่อ กล่าวว่า...

หามานานแล้วครับ สูตรนี้
=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 มาช่วย