เวบถาม-ตอบปัญหา Excel http://www.snasui.com/
Group Blog
 
<<
มิถุนายน 2552
 123456
78910111213
14151617181920
21222324252627
282930 
 
6 มิถุนายน 2552
 
All Blogs
 

เพราะเหตุใดนำ 5.5 หักด้วย 5.4 แล้วไม่ได้เท่ากับ 0.1

อาจจะยังไม่มีใครสงสัยในกรณีนี้เพราะไม่ได้สังเกต :) ที่จริงแล้วมีตัวเลขมากมายจนไม่สามารถระบุได้หมดครับที่นำมาหักลบกลบกันแล้วไม่เท่ากับที่ควรเป็น เช่น

10.9-10.8 แล้วไม่เท่ากับ 0.1
5.5-5.4 แล้วไม่เท่ากับ 0.1
4.3-4.2 แล้วไ่ม่เท่ากับ 0.1
ฯลฯ

ทดสอบได้อย่างไรว่าไม่เท่ากัน เพราะได้ทดลองคีย์ลงในเซลล์แล้วก็เห็นได้คำตอบเป็น 0.1 ซึ่งถูกต้องแล้ว

ทดสอบง่าย ๆ ครับ ลองคีย์ตามนี้

1. A1 กรอก 5.5

2. A2 กรอก 5.4

3. A3 คีย์ =A1-A2

4. A4 คีย์ =A3=0.1 ==> คำตอบจะต้องได้ False

เป็นการให้โปรแกรมตรวจสอบว่า 5.5 หักด้วย 5.4 แล้วเท่าักับ 0.1 หรือไม่ ถ้าเท่าจะได้ค่า True ถ้าไม่เท่าจะได้ค่า False ดังนั้นที่เห็นด้วยตาว่า 0.1 คงจะไม่ใช่เสียแล้ว

อ้อ...ใครได้ค่า True บอกด้วยครับ จะได้ซื้อเครื่องนั้นมาใช้ :)

อ้าว...แล้วอย่างนี้จะเชื่อได้อย่างไรว่า Excel คำนวณถูกต้อง

เรื่องความแม่นยำในการคำนวณไม่ต้องสงสัย Excel หรอกครับ เพราะ Excel เก่งกว่าที่คิดไว้มาก สำหรับกรณีที่ยกมานี้ สาเหตุที่ผลการคำนวณออกมาแล้วไม่เป็นไปตามที่เราหวังจะได้เห็น :) เกิดจากการแปลงเลขฐาน 10 ที่เราคีย์ลงไปให้เป็นเลขฐาน 2 (0 กับ 1) แล้วแปลงกลับเป็นเลขฐาน 10 เพื่อการแสดงผล แม้จะไม่ตรงเผง แต่จะผิดพลาดในหลักมาก ๆ เช่น หลักที่ 15 เป็นต้น จึงไม่กระทบกับการคำนวณที่ไม่ได้ต้องการความละเอียดขนาดนั้น

จากตัวอย่าง 5.5-5.4 จะได้ 0.0999999999999996 (คีย์ตัวเลขในเซลล์ใด ๆ =5.5-5.4 แล้วลากเมาส์ไปคลุม 5.5-5.4 จากนั้นกดแป้น F9 จะได้ตัวเลข 0.0999999999999996) ซึ่งไม่เท่ากับ 0.1

จากผลต่างดังกล่าว ก็มีคนสงสัยต่อไปว่า หากต้องการทำให้ได้ 0.1 ตามที่ควรจะเป็นจะต้องทำอย่างไร เรื่องนี้ไม่ยากครับ

1. ใช้ฟังก์ชั่น Round เข้ามาช่วย ลองคีย์ที่เซลล์ใด ๆ ใหม่เป็น

=Round(5.5-5.4,2)=0.1

สูตร Round เป็นสูตรการปัดเศษให้เหลือทศนิยม 2 ตำแหน่ง คราวนี้คำตอบต้องเป็น True อย่างแน่นอน :)

2. กำหนด Precision as displayed โดยเข้าเมนู Tools > Options > Calculation > Precision as displayed

การกำหนดเช่นนี้จะทำให้ค่าในเซลล์เหลือจุดทศนิยมเท่าที่เรากำหนด Format หรือนั่นก็คือเท่าที่มองเห็นด้วยตาแต่จะมีผลกระทบทั้งไฟล์

หากค่านั้น ๆ เป็นค่าคงที่ จะถูกตัดทศนิยมให้เหลือเท่าที่มองเห็นในเซลล์อย่างถาวร

หากค่านั้น ๆ ได้จากสูตร จะสามารถปรับทศนิยมเพิ่มลดได้ตามต้องการซึ่งเหมือน Round ให้โดยอัตโนมัติ

การพิสูจน์ว่าหลังจากกำหนด Precision as displayed แล้ว 5.5-5.4 เท่ากับ 0.1 ให้ลองดังนี้ครับ

1. A1 กรอก 5.5

2. A2 กรอก 5.4

3. A3 คีย์ =A1-A2

4. กำหนด Format ให้เป็นทศนิยม 2 ตำแหน่ง

5. A4 คีย์ =A3=0.1 ==> คำตอบจะต้องได้ True




 

Create Date : 06 มิถุนายน 2552
2 comments
Last Update : 1 มีนาคม 2556 21:52:29 น.
Counter : 1121 Pageviews.

 

ข้อมูลเยอะอย่างนี้ เขียนหนังสือได้เป็นเล่มเลย..

 

โดย: แมวป่วน 6 มิถุนายน 2552 9:47:33 น.  

 

สวัสดีครับคุณแมวป่วน

 

โดย: คนควน 8 มิถุนายน 2552 20:30:35 น.  


คนควน
Location :
สงขลา Thailand

[ดู Profile ทั้งหมด]

ฝากข้อความหลังไมค์
Rss Feed
Smember
ผู้ติดตามบล็อก : 27 คน [?]





MVP Excel



MOS Expert in Excel 2003
MOS Specialist in Excel 2003



คนควน เป็นคน อ.สะเดา จ.สงขลา จบการศึกษาทางด้านการบัญชีระดับปริญญาตรีและปริญญาโท จากมหาวิทยาลัยรามคำแหง มีความถนัดหลายด้าน ทั้งเรื่อง ศิลปะ ดนตรี กีฬา คอมพิวเตอร์ จากการที่ได้คลุกคลีกับโปรแกรมชุด Microsoft Office จึงได้เรียนรู้เกี่ยวกับเทคนิคการใช้งานต่าง ๆ โดยเฉพาะ Excel จะมีความถนัดเป็นพิเศษ เนื่องจากใช้เป็นส่วนใหญ่ในการทำงานประจำวัน ได้รับ MOS Cetificate (Microsoft Office Specialist) ทั้ง Specialist และ Expert อีกทั้งเป็นคนชอบศึกษาค้นคว้าทดลองและชอบแบ่งปัน จึงได้เขียน Blog เพื่อเผยแพร่เทคนิคการใช้งาน Excel เพื่อประโยชน์แก่ผู้สนใจจะได้มีแหล่งศึกษา นำไปประยุกต์ใช้ให้เกิดประโยชน์สูงสุดกับงานของตนเองต่อไป












เมื่อวันที่ 24 ม.ค. 2553 ได้เปิด Forum เพื่อถาม-ตอบปัญหาเกี่ยวกับ Excel ทั้งเป็นแหล่งศึกษาให้กับผู้สนใจทั่วไป สามารถคลิกภาพด้านบนเพื่อไปยัง Forum ได้ครับ



ข้อความหรือรูปภาพที่ปรากฏในกระทู้ที่ท่านเห็นอยู่นี้ เกิดจากการตั้งกระทู้และถูกส่งขึ้นกระดานข่าวโดยอัตโนมัติจากบุคคลทั่วไป ซึ่ง เจ้าของ Blog มิได้มีส่วนร่วมรู้เห็น ตรวจสอบ หรือพิสูจน์ข้อเท็จจริงใด ๆ ทั้งไม่ร่วมรับผิดชอบต่อความคิดเห็นของบุคคลใด ๆ ทั้งสิ้น


Statistics Hits
New Comments
Friends' blogs
[Add คนควน's blog to your web]
Links
 

 Pantip.com | PantipMarket.com | Pantown.com | © 2004 BlogGang.com allrights reserved.