บทความ

กำลังแสดงโพสต์ที่มีป้ายกำกับ round

การปัดเศษขึ้น เป็นเลขจำนวนเต็ม ของ Access VBA

รูปภาพ
วันก่อนผมเขียนโปรแกรมสำหรับพิมพ์ใบปะหน้าซองข้อสอบ และต้องการคำนวณจำนวนกล่องที่ใช้ในการบรรจุข้อสอบ วิธีการคือ เอาจำนวนแผ่นกระดาษเป็นตัวตั้ง และหารด้วยจำนวนกระดาษในกล่องแต่ละขนาดที่สามารถบรรจุกระดาษได้ เช่น กล่องขนาดใหญ่ บรรจุกระดาษได้ 2,500 แผ่น ถ้ามีกระดาษ 5,000 แผ่น ก็ต้องใช้กล่อง 2 กล่อง ทีนี้ ถ้าในกรณีที่มีกระดาษ 2,600 แผ่น  ก็จะเหลือเศษไม่ถึงครึ่ง ถ้าใช้การปัดเศษธรรมดา ก็จะได้เป็น 2 กล่อง แต่ความจริงแม้จะเหลือเศษนิดหน่อยก็ต้องใช้กล่องอีกกล่องหนึ่ง ดังนั้นจึงต้องมีการปัดเศษขึ้นเป็นจำนวนเต็ม ไม่ว่าจะเหลือเศษเท่าไรก็ตาม Access ไม่มีฟังก์ชันการปัดเศษขึ้นเสมอ ถ้าจะใช้ฟังก์ชัน Round() ก็จะไม่ได้ผลที่ต้องการ อย่างนี้ต้องใช้ฟังก์ชัน int() แต่มีวิธีการเขียนเสียใหม่ เพื่อให้ได้เศษปัดขึ้นเสมอ เช่น 22 หารด้วย หารด้วย 3 จะได้ เท่ากับ 7.33 ปัดเศษ เป็น 8 สูตรมีดังนี้ -int(-ตัวตั้ง/ตัวหาร) ตัวอย่าง 22 หารด้วย 3 จะได้ค่าเป็น  7.33 ถ้าปัดเศษธรรมดา จะได้ 7 แต่ถ้าต้องการให้ได้ 8 ต้องเขียน -int(-22/3) ซึ่งถ้าพิมพ์ใน immediate window จะได้ผลดังภาพ ฟังก์ชัน Round() การปัดเศษธรร

รวมสูตร การปัดเศษ ของ Excel

สูตรข้างล่างนี้ สามารถใช้ได้กับ Excel 2003-2010 สมมุติว่า ในเซลล์ A1 มีข้อมูล 123.456 เมื่อใช้สูตรข้างล่าง จะได้ผลดังนี้     สูตร ผลลัพธ์     ความหมาย =ROUND(A1,2) 123.46 ปัดเศษ ทศนิยมสองตำแหน่ง =ROUND(A1,-1) 120 ปัดเศษ เหลือจำนวนเต็มหลักสิบ =ROUND(A1,-2) 100 ปัดเศษ เหลือจำนวนเต็มหลักร้อย =ROUNDDOWN(A1,2) 123.45 ปัดเศษลง ให้มีจำนวนจุดทศนิยมตามที่กำหนด =ROUNDUP(A1,2) 123.46 ปัดเศษขึ้น ให้มีจำนวนจุดทศนิยมตามที่กำหนด =ODD(A1) 125 ปัดเป็นเลขคี่ =EVEN(A1) 124 ปัดเป็นเลขคู่ =CEILING(A1,0.5) 123.5 ปัดขึ้น เพื่อให้ตัวเลขที่กำหนดหารลงตัว เช่น ใช้ในกรณีที่ต้องกรหลีกเลี่ยงเศษที่ไม่มีหน่วยเงิน เช่น 45 สตางค์ ไม่มีเหรียญ ก็เลยปัดให้เป็น 50 สตางค์ คือ กำหนดให้เป็นทวีคูณของ 50 สตางค์ =FLOOR(A1,0.5) 123 ปัดลง เพื่อให้ตัวเลขที่กำหนดหารลงตัว เช่น หลีกเลี่ยง 45 สตางค์ ก็เลยปัดลงให้เป็น 00 สตางค์ คือให้ 50 สตางค์หารลงตัว หรือ พูดอีกอย่างว่า ให้เป็นทวีคูณของ 50 สตางค์ เป็นต้น =INT(A1) 123 เอาเฉพาะเลขจำนวนเต็ม =TRUNC(A1,2) 123.45 ตัดเอาจำนวนตำแหน่งทศนิยมที่กำหนด ไม่มีการปัดเศษ =MOD(A1,2) 1.4