ข้ามไปที่เนื้อหาหลัก

รายงานยอดไม่ตรงกัน เป็นที่คนหรือโปรแกรม

วันนี้ผมต้องใช้โปรแกรมตารางงานที่ยอดนิยมอย่าง Microsoft Office Exel เปรียบเทียบข้อมูล 2 คอลัมน์ ว่าถูกต้องตรงกันหรือไม่

ตอนแรกก่ะว่าจะใช้สายตาอันเฉียบคมพิจารณาดูทีละบรรทัด แต่ได้ไม่ถึงร้อยบรรทัดก็ตาลายแล้วครับ เลยพยายามค้นหาวิธีใช้งานสูตรใน Exel ให้ช่วยในการตรวจสอบแทนการตรวจด้วยตาเปล่า เพราะมีข้อมูลตั้ง 3,225 รายการ กว่าจะดูจนครบคงไม่ต้องทำการทำงานอะไรแล้ว T_T

ข้อมูลมี 3 คอลัมน์ครับ
     A              B               C
| ต้นทุน  |  ค่าเสื่อม |  ยอดสุทธิ |
   5000          1200       3800

ซึ่ง ต้นทุน = ค่าเสื่อม + ยอดสุทธิ


แต่ผลรวมออกมา ค่าเสื่อม + ยอดสุทธิ ดันไม่ตรง

ผมรวมที่ว่าก็มาจากข้อมูลสามพันกว่ารายการนั่นเอง ไล่กันไม่หวาดไม่ไหว ว่าข้อมูลแถวใดที่คำนวณผิด


วิธีการแก้ปัญหาที่ใช้ก็คือ เพิ่มคอลัมน์ที่ 4 (คอลัมน์ D) สำหรับเก็บ ข้อมูล ค่าเสื่อม + ยอดสุทธิ
โดยใช้คำสั่ง

=SUM(B1:C1)

แล้วดับเบิ้ลคลิกลงตรงมุม เพื่อให้มันก๊อปปี้สูตรและวางอัตโนมัติจนครบ 3,225 แถว

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

=IF(A1=D1," ","No Match")


แล้วดับเบิ้ลคลิกลงตรงมุม เพื่อให้มันก๊อปปี้สูตรและวางอัตโนมัติจนครบ 3,225 แถว

ในตอนนี้คอลัมน์ที่ 5 ก็จะปรากฏคำว่า "No Match" ให้เห็นเมื่อผลรวมไม่เท่ากัน

เราก็ให้ทำการเรียงข้อมูลจากมาก ไปหาน้อย ซะจะได้เห็นรายการที่ No Match มาก่อน



และแล้วผมก็ได้ข้อสรุปหลังจากที่วิเคราะห์อยู่นาน เพราะค่าที่ได้เป็นดังนี้
   ต้นทุน    |ค่าเสื่อม    |   สุทธิ 

8,678.99   | 4,339.49   | 4,339.49 

ซึ่ง ค่าเสื่อม + สุทธิ = 8,678.98




จึงรู้ว่าไม่ได้ทำการปัดเศษขึ้น เพราะยอดทศนิยม 3 หลักเป็น

   ต้นทุน    |ค่าเสื่อม    |   สุทธิ 

8,678.99   |4,339.495   |4,339.495 


แต่พอสั่งปัดเศษด้วยก็ดันกลายเป็น

   ต้นทุน    |ค่าเสื่อม    |   สุทธิ 

8,678.99   |4,339.50   |4,339.50 

ซึ่ง ค่าเสื่อม + สุทธิ = 8,679.00 


ก็ยังผิดอยู่ดีครับ เพราะ ค่าเสื่อม + สุทธิ ต้องเท่ากันกับ ต้นทุน

จึงได้ข้อสรุปจากคนที่ตรวจสอบรายงานว่า
ยอดสุทธิต้องคงค่าเดิมไว้ ยอดที่จะมีการเคลื่อนไหวได้คือ ค่าเสื่อม

ดังนั้นจึงปรับโค๊ดของโปรแกรมเป็น เมื่อมีเลขทศนิยม 3 หลักในยอดของค่าเสื่อม และสุทธิ
ให้ทำการปัดเศษให้กับค่าเสื่อมด้วย

   ต้นทุน    |ค่าเสื่อม    |   สุทธิ 


8,678.99   |4,339.50   |4,339.49

ซึ่ง ค่าเสื่อม + สุทธิ = 8,678.99



ซึ่งก็แก้ไขเรียบร้อยแล้ว แต่ก็ยังไม่แน่ใจว่าจะมีข้อผิดพลาดอื่นอีกหรือไม่
เพราะเลขทศนิยม 3 หลักก็ไม่แน่ว่าค่าที่ต้องปัด จะอยู่แต่ ค่าเสื่อม อย่างเดียวหรือไม่
ก็ต้องรอลุ้นกันอีกที ^^


ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

การแชร์สแกนเนอร์ ถึงทำไม่ได้แต่ก็มีวิธีช่วยประหยัดขั้นตอนการทำงาน

"พี่ครับขอใช้เครื่องพี่สแกนเอกสารหน่อยครับ" "พี่ครับขอสแกนอีกสักสองแผ่นครับ" "พี่ครับพอดีมีเอกสารต้องสแกนเพิ่มน่ะครับ" ทุกครั้งที่ต้องสแกนเอกสารเป็นไฟล์เก็บไว้ในคอมพิวเตอร์ ผมจะต้องลุกไปขอใช้เครื่องพิมพ์แบบ All-In-One ของพี่โจ้ทุกครั้ง บางครั้งก็เกรงใจแกครับ เห็นกำลังใจจดใจจ่ออยู่กับงานตรงหน้า ไหนจะต้องตอบคำถามคำโน้นคนนี้ทาง MSN บ้าง Facebook บ้าง ^___^ พอไปขอใช้เครื่องทีไรก็ดูแกจะไม่สบอารมณ์เท่าไหร่ พยายามค้นหาวิธีแชร์สแกนเนอร์จากในอินเตอร์เน็ตอยู่หลายวัน ก็ไม่เจอวิธีที่จะสามารถแชร์สแกนเนอร์ให้เครื่องอื่นได้ใช้งานได้เลย แชร์ได้แค่ให้สั่งพิมพ์จากเครื่องอื่นๆได้เท่านั้น สุดท้ายก็เลยตัดสินใจใช้เทคนิคเล็กๆ น้อยๆ ที่ได้พบเจอมาใช้ประหยัดเวลา และไม่รบกวนการทำงานและสนทนาของพี่โจ้ ได้วิธีนึง นั่นก็คือ ตั้งค่าสแกนเนอร์ให้บันทึกอัตโนมัติ ไว้ในโฟลเดอร์ที่กำหนด แล้วก็ทำการแชร์โฟลเดอร์เครื่องพี่โจ้ทิ้งไว้ซะเลย 1. ตั้งค่าให้สแกนอัตโนมัติเมื่อกดปุ่มสแกน 2. กำหนดให้บันทึกลงโฟลเดอร์ที่แชร์ไว้แล้ว (แชร์โฟลเดอร์เก็บเอกสารสแกนของคอมฯเครื่องนั้นไว้) 3. ...

ร้อยละ ทศนิยม 2 ตำแหน่งบวกคืน ไม่เท่ากับ 100 และ ปัญหาการคำนวณเลขทศนิยม เมื่อปัดเศษแล้วค่าที่บวกคืนไม่เท่าเดิม

กรณีนี้เป็นการทดสอบคำนวณเลขที่ต้องหารครึ่ง ตัวอย่างเช่น 2.33 / 2 = 1.165 กรณีนี้ถ้าเก็บค่านี้ในฐานข้อมูลที่กำหนดให้มีทศนิยมเพียง 2 หลัก ในฟิลด์ 2 ฟิลด์ซึ่งแต่ละฟิลด์จะถูกปัดขึ้นเป็น 1.7 เมื่อนำมาบวกกลับ 1.17 + 1.17 = 2.34 ถ้าอย่างนั้นเราก็ต้องกำหนดให้ฟิลด์ที่ใช้เก็บข้อมูลสามารถเก็บเลขทศนิยมได้หลายๆตัว ก็จะเก็บเลขทั้งสามหลักไว้ในฐานข้อมูลเลย 1.165 + 1.165 จะได้ 2.33 พอดี แต่ตอนเราแสดงรายงาน ก็จำเป็นจะต้องแสดงเลขทศนิยมเพียงแค่ 2 หลักอยู่ดี แล้วเราจะทำอย่างไรล่ะทีนี้ ก็เก็บมันเป็นเลขทศนิยมเต็มจำนวนซะแล้วตอนแสดงก็ต้องปัดเศษอยู่ดี เพราะค่า 1.165 ถ้าใช้ฟังก์ชั่นปัดเศษลง ก็จะเหลือ 1.16 แต่ถ้าปัดขึ้นก็จะเป็น 1.17 ซึ่งตัวเลขทั้งสองตัว เมื่อนำมารวมกัน ยังไงๆ ก็ไม่เท่ากับ 2.33 อยู่ดี (1.16+1.16 = 2.32,    1.17+1.17 = 2.34 ) อีกตัวอย่างนึงครับเป็นการถอด VAT ราคาสินค้า การคิดค่าทศนิยม แล้วผลรวมเพี้ยน เนื่องจากการปัดเศษ แล้วยอดเกินบ้าง ขาดบ้าง ตัวอย่างการถอด VAT ซื้อของมา 573.50 บาท ถอด VAT ออกมาได้ (573.50*7) / 100 = 40.145 ราคาสินค้า จะได้เป็น 573.50 - 40.14...

เมื่อโปรแกรมเมอร์ไม่ชอบเขียนโค้ดอีกต่อไป

ในวันที่จิตใจเราเลือกหนทางใหม่ ในวันที่ทุกอย่างยังสับสนวุ่นวายเต็มหัว แต่สิ่งน่ากลัวไม่ใช่ "ทางเลือก" แต่มันคือ "ทางรอด" บางทีมันก็ยากนะ ที่จะตัดสินใจว่าสิ่งที่เลือกดีที่สุดสำหรับเราแล้วหรือไม่!! เพราะอนาคตเป็นสิ่งที่คาดเดาได้ยากเหลือเกิน แม้มันจะมีรูปแบบที่ไม่แตกต่างกันนัก และพอจะคาดเดากรรมที่ตามมาก็ตามที และเมื่อวันนั้น วันที่จะต้องตัดสินใจ มาเร็วกว่าที่คิด เราอาจจะไม่ทันตั้งตัวเลยสักนิด ความคิดที่เคยเชื่อมั่นอาจจะสั่นคลอนลงอย่างง่ายดาย ความฝันที่ไม่เคยเริ่ม มันก็เป็นได้แค่ "ความเพ้อฝัน"

PHP CI MANIA