ทำไมเมื่อแยกเซลล์คำนวณเช่น A1 =1/3 ออกมาก่อน จากนั้นลิงก์ไปใช้ในสูตร =100*(1-A1) กลับได้ค่า 67.00 (ตัวเลขสมมติแล้วกันนะครับ)
เพื่อนของผมคนนี้ส่งอีเมลมาถาม พร้อมกับเล่าให้ฟังว่าพยายามหาทางคำนวณให้ได้ตัวเลขตรงกับที่ต้องการมาจากลิงก์นี้
https://www.youtube.com/watch?v=8s-bpsFtPOI
เรียนคุณสมเกียรติ
ผมมีคำถามครับ ผมเจอปัญหาว่า ในบางครั้งจุดทศนิยมที่ได้จากการคูณใน excel โดยใช้การอ้างตำแหน่ง cell มาคูณกัน (เช่น =D16*E16) ผิดพลาด ไม่ตรงกับการนำเลขกับเลขมาคุณกัน วันนี้ผมเพิ่งหาวิธีแก้อย่างจริงจังใน youtube พบว่าแก้ได้โดยเลือก “กำหนดทศนิยมเหมือนที่แสดง”
ปัญหาคือว่า
เมื่อ set ตัวเลือกนี้แล้วมันไม่จำ และปฏิบัติกับทุกไฟล์ ต้องเลือกทุกครั้งกับทุกไฟล์ และมันก็ไม่ได้เกิดความผิดพลาดกับทุกไฟล์นะครับ คือเอาตัวเลขเดียวกันไปใส่อีกไฟล์หนึ่ง ลองนำ cell มาคูณกัน มันก็ถูกต้อง
ผมจะรู้ว่าไฟล์ไหนผิดก็ต่อเมื่อลูกค้าทักทวงมา (คือผมนำ excel ไปทำ invoice )
คือผมอยากให้ excel เลือก option นี้กับทุกๆไฟล์ ที่เคยมีอยู่ใน folder และในอนาคต จะทำได้หรือไม่ครับ
ไม่อยากจะเชื่อว่า software ระดับโลกจะคำนวณให้ผิดไปได้
ทำไม =100*(1-A1) กลับได้ค่า 67.00
คำตอบ เพราะแฟ้มนี้ใช้คำสั่ง Set Precision as Display
A1 แม้จะมีสูตร =1/3 ซึ่งต้องได้ผลลัพธ์เท่ากับ 0.333333333333333 แต่เนื่องจากกำหนด Format ให้แสดง 0.33 ไม่ได้แสดงทศนิยมหลักอื่นตาม
ดังนั้น A1 ซึ่งมีสูตร =1/3 จึงถูก Excel ถือว่ามีค่าเป็น 0.33 เท่านั้นตามที่มองเห็นครับ
1-0.33 = 0.67
100*0.67 = 67
Download ตัวอย่างได้จาก
https://drive.google.com/open?id=1a84hiwNojsjxKtwLOkQ6_e9zj0Yxs82H
ผลลัพธ์จะแตกต่างไปได้ตามรูปแบบตัวเลขที่ใช้ว่าให้แสดงให้เห็นแค่ไหน ถ้ายังไม่ถูกกำหนดรูปแบบก็ยังคงมีค่าจริง ดังนั้นผู้ใช้ต้องคอยสังเกตให้ดีว่าทศนิยมที่เห็นนั้น ผ่านการกำหนดรูปแบบตัวเลขมาก่อนหรือไม่ (ซึ่งคงไม่มีใครมานั่งตรวจสอบกันใช่ไหม)
คำสั่งนี้ผมจะแนะนำให้ใช้ต่อเมื่อถูกสั่งงานเร่งด่วนให้หาคำตอบแบบพิเศษเท่านั้น ไม่จำเป็นห้ามใช้เด็ดขาด ทางที่ดีกว่านี้ ผมแนะนำให้ใช้สูตร Round หรือ Trunc แทนครับ
ตั้งแต่ผมใช้ Excel มายังไม่เคยเห็นใครใช้ เพิ่งเจอเคสนี้ครั้งแรก (สาเหตุที่ไม่เจอ อาจจะเป็นเพราะจะตรวจสอบว่าแฟ้มนั้นใช้คำสั่งนี้ก็ต่อเมื่อ ต้องเข้าไปตรวจสอบที่ Excel Options ของแต่ละแฟ้มหรือต้องเป็นคนช่างสังเกตถึงจะเจอ)