PDA

View Full Version : ผมแก้ Function การเปลี่ยนตัวหนังสือ เป็นตัวเลข แล้วครับ(ต่อจาก Forum เก่า)



zv735
8 Jun 2007, 00:56
ผมแก้ Function การเปลี่ยนตัวหนังสือ เป็นตัวเลข (ตรงข้ามกับ BahtText) แล้วครับ
คงมีจุดผิดพลาดอีกมาก รบกวน อาจารย์ทุกท่านช่วยแนะนำด้วยนะครับ

ขอบคุณครับผม

zv735
9 Jun 2007, 17:35
อันนี้ปรับแก้ตามที่อาจารย์สมเกียรติเคยแนะนำให้ไว้ครับ




ถ้าตัวอักษรไม่ได้มีหน่วยเป็นบาทสตางค์ อาจเป็นหน่วยเงินประเทศอื่น หน่วยน้ำหนัก หน่วยระยะทาง หรือมีหน่วยเป็นจุด เช่น หนึ่งร้อยยี่สิบสามจุดสี่ห้า หรือ หนึ่งสองสามจุดสี่ห้า หรือ หนึ่งร้อยยี่สิบสามจุดสี่ห้าเมตร
ต้องการแยกส่วนเฉพาะตัวเลขออกมาเท่านั้น โดยสูตรนี้น่าจะใช้ชื่อว่า Text2Number
แล้วฝากคิดเผื่อไว้อีกว่า โครงสร้างของรหัสคำสั่งนี้สามารถนำไปประยุกต์ดัดแปลงใช้กับเวลาได้ด้วย เช่น สิบสองนาฬิกาสามสิบสี่นาที หรือ สิบสองชั่วโมงสามสิบสี่นาที ให้แปลงออกมาเป็น 12:34 (Text2Time)


ตาม File แนบครับผม

สมเกียรติ
9 Jun 2007, 23:32
อีกหน่อยพอสามารถสร้างรหัสได้เสร็จสมบูรณ์แล้ว น่ายกตัวรหัสไปเปิดเผยไว้ที่ฟอรัม Excel Expert Volunteer's Articles & News (http://www.excelexperttraining.com/forums/forumdisplay.php?f=4) นะครับ จะได้เกิดประโยชน์ในระยะยาวมากขึ้น

คุณ ZV735 จะเริ่มใช้ฟอรัม Excel Expert Volunteer's Articles & News (http://www.excelexperttraining.com/forums/forumdisplay.php?f=4) ก่อนก็เชิญเลยครับ เริ่มจากเรื่องใดก็ได้ ไม่จำเป็นต้องเริ่มจากเรื่องกระทู้นี้

:rolleyes:

zv735
10 Jun 2007, 19:15
ขอบพระคุณอาจารย์สมเกียรติมากมากครับ

แล้วถ้า รหัส สมบูรณ์แล้วผมจะไป Post ไว้ครับผม

rundim
11 Jun 2007, 11:20
จากตัวอย่างที่ทำให้ดูผมมีข้อสงสัยนิดหนึ่งครับ
แปดแสนสองหมื่นแปดพันสามร้อยสองล้านเก้าแสนห้าหมื่นหกพันเจ็ดร้อยหกสิบสามบาทแปดสตางค์ = 828302956763.08 ตรงนี้ก้อโอเคนะครับ
แต่ผมงงตรงลักษณะการอ่านตรงนี้นะครับ
สี่แสนเจ็ดหมื่นสองพันแปดร้อยแปดสิบสองล้านหนึ่งหมื่นสามพันหกบาทเจ็ดพันยี่สิบห้าสตางค์ = 472882013006.7025
เนื่องจาก หน่วย"สตางค์"ที่เท่ากัน แต่กับมีค่า ที่ไม่เท่ากัน
เท็จจริงเป็นอย่างไร ถ้าผมเข้าใจผิดต้องขออภัยด้วยนะครับ

zv735
11 Jun 2007, 18:49
ครับคุณ rundim
ผมก็เจอและลองตรวจสอบดูแล้วเกิดจากการปัดเศษขึ้นโดย คำสั่ง Val ในช่วงสุดท้ายก่อนส่งค่ากลับมาครับ
เพราะค่าในแต่ละช่วงถูกต้องหมดครับ
ค่า
สี่แสนเจ็ดหมื่นสองพันแปดร้อยแปดสิบสองล้านหนึ่งหมื่นสามพันหกบาทเจ็ดพันยี่สิบห้าสตางค์ = 472882013006.7025
จะคืนค่า 472882013006.7030 (มีการปัดเศษครับ)
แต่
หกล้านสามพันหกบาทเจ็ดพันยี่สิบห้าสตางค์ คืนค่า = 6003006.7025 ถูกต้องครับ

อาจารย์ท่านใดแนะนำได้ช่วยแนะนำด้วยนะครับ

ขอบพระคุณมากมากครับผม

rundim
12 Jun 2007, 09:30
พอดีผมหมายถึง ค่าที่ได้นะครับ
เช่น เจ็ดพันยี่สิบห้าสตางค์ = 7025 สตางค์ = 70 บาท 25 สตางค์ = 70.25
เพราะ 100 สตางค์ = 1 บาท ที่ผมเข้าใจนะครับ
หกบาทเจ็ดพันยี่สิบห้าสตางค์ น่าจะเป็น = 6+70 บาท กับอีก 25 สตางค์ = 76.25
สามบาทแปดสตางค์ ยังเท่ากับ 3.08
เรื่องปัดเศษไม่ใช่เรื่องที่ งง ครับ
หรือผมเข้าใจผิด ว่าต้องการแปลงส่วนเฉพาะตัวเลขออกมาเท่านั้น
ถ้าผิดพลาดเรื่องความคิดต้องขออภัยไว้ด้วยนะครับ

zv735
12 Jun 2007, 10:11
สวัสดีครับคุณ rundim
ผมทำเพื่อให้แปลงได้ทุกหน่วยนะครับ เลยสนใจที่จะแปลงค่าเฉพาะตัวเลขอย่างเดียวนะครับ

แต่ที่ผมอยากได้จริงๆคือไม่อยากให้มีการปัดเศษนะครับไม่ว่าค่าจะมากแค่ไหน
มีวิธีแนะนำหรือเปล่าครับผม

ขอบคุณมากมากครับ

สมเกียรติ
12 Jun 2007, 11:07
ใครทราบไหมว่า อ่านเลขสตางค์กันอย่างไรครับ
0.75 บาท = ศูนย์บาท เจ็ดสิบห้าสตางค์
0.751 บาท = ศูนย์บาท เจ็ดสิบห้าจุดหนึ่งสตางค์ หรือว่าอ่าน ศูนย์บาท เจ็ดร้อยห้าสิบเอ็ดสตางค์ กันแน่ครับ