snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
nattasiray
Bronze
Posts: 284 Joined: Thu Feb 11, 2010 8:32 pm
Contact:
#1
Post
by nattasiray » Wed Dec 05, 2012 12:06 pm
ในการจัดการแสดงผลตัวเลขแบบกำหนดเอง (Custom Format Number) ผมเข้าใจดังนี้
# แทนตัวเลขใด ๆ
0 ให้แสดงเลข 0 ด้วย
? ทำหน้าที่บังคับให้ในแต่ละหลักและตำแหน่งเครื่องหมายจุดทศนิยมตรงกัน
เมื่ออ่าน Help online บอกว่า
ถ้าใส่ตัวเลขไม่ครบหลักตาม Custom Format Number จะไม่แสดงค่านั้น เช่น Custom Format Number เป็น #.## แล้วกรอก .99 ก็พบว่า แสดงผลเป็น .99
แต่เมื่อผมกรอก 0.99 แล้ว
กรณที่ 1 จัดรูปแบบการแสดงผลตัวเลขด้วยรหัส #.## หรือ #.00 กลับพบว่าเลข 0 ในหลักหน่วยหายไป แต่แสดงผลเหมือนกัน ตกลง # ทำหน้าที่อะไรครับ
กรณีที่ 2 จัดรูปแบบการแสดงผลตัวเลขด้วยรหัส ?.???? หรือ #.##?? กลับพบว่าเลข 0 ในหลักหน่วยหายไป แต่แสดงผลเหมือนกัน ผมสงสัยว่าเครื่องหมาย ? นอกจากบังคับให้เครื่องหมายมหัพภาคให้ตรงกันแล้วยังมีหน้าที่อะไรอีกบ้าง
ดูจากแฟ้มแนบครับ
You do not have the required permissions to view the files attached to this post.
ณัฐศิระ เยาวสุต
(N. Yauvasuta)
snasui
Site Admin
Posts: 31255 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#2
Post
by snasui » Wed Dec 05, 2012 1:07 pm
nattasiray wrote: กรณที่ 1 จัดรูปแบบการแสดงผลตัวเลขด้วยรหัส #.## หรือ #.00 กลับพบว่าเลข 0 ในหลักหน่วยหายไป แต่แสดงผลเหมือนกัน ตกลง # ทำหน้าที่อะไรครับ
แทนค่าตัวเลขทุกตัว
ยกเว้น 0 ในตำแหน่งที่ไม่สำคัญ ครับ
ยกตัวอย่างเช่น
กำหนด # ให้กับตัวเลข 0.123 จะแสดงผลเป็นค่าว่าง (ไม่แสดง 0)
กำหนด #.### ให้กับตัวเลข 0 จะแสดงผลเป็น . (ไม่แสดง 0)
กำหนด #.### ให้กับตัวเลข 0.123 จะแสดงผลเป็น .123 (ไม่แสดง 0)
กำหนด #.### ให้กับตัวเลข 2.100 จะแสดงผลเป็น 2.1 (ไม่แสดง 0)
กำหนด #.### ให้กับตัวเลข 0.103 จะแสดงผลเป็น .103 (แสดง 0 ในตำแหน่งที่สำคัญ)
nattasiray wrote: กรณีที่ 2 จัดรูปแบบการแสดงผลตัวเลขด้วยรหัส ?.???? หรือ #.##?? กลับพบว่าเลข 0 ในหลักหน่วยหายไป แต่แสดงผลเหมือนกัน ผมสงสัยว่าเครื่องหมาย ? นอกจากบังคับให้เครื่องหมายมหัพภาคให้ตรงกันแล้วยังมีหน้าที่อะไรอีกบ้าง
เครืองหมาย ? ใช้ใน 2 กรณีครับ
เพื่อแสดงตำแหน่งทศนิยมให้ตรงกัน ไม่ว่าด้านซ้ายและด้านขวาของทศนิยมมีกี่หลัก แนวของเครื่องหมาย . จะตรงกันตามแนวดิ่ง ไม่เยื้องซ้ายเยื้องขวา เช่นจัด Format เป็น ???. ???
ใช้สำหรับการ Format ของเศษส่วนและเป็นการเพิ่มช่องว่างให้กับเลข 0 ในตำแหน่งที่ไม่สำคัญ ในกรณีนี้เครื่องหมายเศษส่วน (เครื่องหมาย /) จะถูกจัดใหนตรงกันตามแนวดิ่งเสมอ ไม่ว่าตัวเลขก่อนและหลังเครื่องหมายเศษส่วนมีกี่หลัก เช่นการจัด Format เป็น # ????
/ ????
ดูตัวอย่างและคำอธิบายเพิ่มเติมที่นี่ครับ
http://office.microsoft.com/en-001/exce ... 98679.aspx
nattasiray
Bronze
Posts: 284 Joined: Thu Feb 11, 2010 8:32 pm
Contact:
#3
Post
by nattasiray » Wed Dec 05, 2012 2:14 pm
ประหลาดนะครับ
พอจัดรูปแบบการแสดงผลตัวเลขด้วยรหัส #,### แล้วกรอกตัวเลข 4000 ก็ได้ 4000 ครับ มันขัดแย้งกับกฎที่ระบุว่า "แทนค่าตัวเลขทุกตัวยกเว้น 0 ในตำแหน่งที่ไม่สำคัญ" ตกลงมีเกณฑ์ใดบ้างที่ใช้พิจารณาการแสดงเลข 0 ครับ
ขอบคุณครับ
ณัฐศิระ เยาวสุต
(N. Yauvasuta)
snasui
Site Admin
Posts: 31255 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#4
Post
by snasui » Wed Dec 05, 2012 2:19 pm
nattasiray wrote: พอจัดรูปแบบการแสดงผลตัวเลขด้วยรหัส #,### แล้วกรอกตัวเลข 4000 ก็ได้ 4000 ครับ มันขัดแย้งกับกฎที่ระบุว่า "แทนค่าตัวเลขทุกตัวยกเว้น 0 ในตำแหน่งที่ไม่สำคัญ"
ตำแหน่ง 0 ที่อยู่ก่อนจุดทศนิยมและหลังตัวเลขอื่น ๆ ที่ไม่ใช่ 0 ย่อมมีความสำคัญ เสมอ ตำแหน่งเลข 0 หลังทศนิยมและหลังตัวเลขอื่นถือว่าไม่เป็นตำแหน่งที่สำคัญครับ อีกตำแหน่งคือเลข 0 ที่อยู่ด้านหน้าตัวเลขอื่น ๆ ที่อยู่ก่อนทศนิยมไม่มีความสำคัญเช่นกันครับ