Page 1 of 1

ขอทราบสูตรแปลงค่าตัวเลขเป็นตัวอักษรภาษาอังกฤษ

Posted: Sat Nov 09, 2013 1:33 pm
by akkaphon
สูตรแปลงเป็นตัวอักษร.xlsx
อาจารย์ครับผมต้องการทราบสูตร excell แปลงค่าตัวเลขเป็นตัวอักษร ตัวอย่างดังนี้ครับ

H 1
O 2
Y 3
M 4
N 5
G 6
S 7
U 8
A 9
E 10
V 100
T 1000
B 10000

ยกตัวอย่างครับ

หมายเลข 1 ให้แสดงเป็นตัวอักษร H
หมายเลข 2 ให้แสดงเป็นตัวอักษร O
หมายเลข 10 ให้แสดงเป็นตัวอักษร HE
หมายเลข 11 ให้แสดงเป็นตัวอักษร HEH
หมายเลข 12 ให้แสดงเป็นตัวอักษร HEO
หมายเลข 100 ให้แสดงเป็นตัวอักษร HV
หมายเลข 101 ให้แสดงเป็นตัวอักษร HVH
หมายเลข 110 ให้แสดงเป็นตัวอักษร HHE
หมายเลข 112 ให้แสดงเป็นตัวอักษร HVHEO
หมายเลข 3600 ให้แสดงเป็นตัวอักษร YTGV
หมายเลข 3601 ให้แสดงเป็นตัวอักษร YTGVH
หมายเลข 3610 ให้แสดงเป็นตัวอักษร YTGVHE
หมายเลข 3611 ให้แสดงเป็นตัวอักษร YTGVHEH
หมายเลข 36000 ให้แสดงเป็นตัวอักษร YBGT
หมายเลข 36001 ให้แสดงเป็นตัวอักษร YBGTH
หมายเลข 36010 ให้แสดงเป็นตัวอักษร YBGTHE
หมายเลข 36011 ให้แสดงเป็นตัวอักษร YBGTHEH
หมายเลข 36100 ให้แสดงเป็นตัวอักษร YBGTHV
หมายเลข 36110 ให้แสดงเป็นตัวอักษร YBGTHVHE
หมายเลข 36111 ให้แสดงเป็นตัวอักษร YBGTHVHEH

ขอโทษอาจารย์และทุกท่านด้วยนะครับที่พิมพ์ไว้ที่หน้าบอร์ดค่อนข้างยาว โดยที่ไม่ได้ใส่ไว้ใน excell แต่ผมลองทำเองหลายสูตรแล้วแต่ไม่ผ่านครับ รบกวนอาจารย์และทุกๆท่านด้วยครับ ผมจะต้องนำไปทำงานให้กับลูกค้าค่อนข้างด่วนน่ะครับ ....... ขอบคุณมากครับ

Re: ขอทราบสูตรแปลงค่าตัวเลขเป็นตัวอักษรภาษาอังกฤษ

Posted: Sat Nov 09, 2013 2:19 pm
by akkaphon
เพิ่มเติมนะครับ ถ้า 20 ก็จะให้แทนค่าเป็น OE ครับ

Re: ขอทราบสูตรแปลงค่าตัวเลขเป็นตัวอักษรภาษาอังกฤษ

Posted: Sat Nov 09, 2013 2:55 pm
by snasui
:D จากตารางที่เทียบเป็นตัวอักษร

10 คือตัว E แต่พอแสดงตัวอย่าง 10 กลายเป็น HE

คำถามคือ HE มาจากไหน หรือ เหตุใด 10 จึงกลายเป็น HE ครับ :?:

อีกตัวอย่าง

11 อ่านว่า สิบเอ็ด ที่ทำเฉลยมาเป็น HEH

สิบ หรือ 10 คือ E
เอ็ด หรือ 1 คือ H

คำถาม HEH มาจากไหน หรือ เหตุใด 11 จึงกลายเป็น HEH ครับ :?:

Re: ขอทราบสูตรแปลงค่าตัวเลขเป็นตัวอักษรภาษาอังกฤษ

Posted: Sat Nov 09, 2013 3:11 pm
by akkaphon
อาจารย์ครับต้องขอโทษด้วยครับ ถ้า 10 คือ E , 100 คือ V , 1000 คือ T , 10000 คือ B ที่ผมพิมพ์หน้าเวป ผมจะพิมพ์ผิดครับ แต่ถ้าเป็น 20 จะเป็น OE ครับ โดยหลักเกณฑ์ของลูกค้าก็คือ 1.ตัวเลข 10/100/1000/10000 ให้ใช้ตัวเลขเฉพาะ คือ E,V,T,B
2.หากนอกเหนือจากตัวเลขข้างต้นให้ทำการกำหนดค่าเอาไว้ท้ายตัวเลขที่เป็นตัวหลักครับ ยกตัวอย่าง 20 หมายความว่า 2 เท่ากับ O (หมายถึงตัว โอ ) , 0 เท่ากับ E เมื่อรวมกันก็จะเป็น OE
3.ส่วนตัวเลข 11 แปลงค่าดังนี้ครับ 1 หลักแรก แทนค่าเท่ากับ H , E แทนค่าหลักตัวเลขหลัก 10 , 1 หลักที่ 2 แทนค่าเท่ากับ H เมื่อรวมกันก็จะเท่ากับ HEH

คำถามและหลักเกณฑ์อาจจะยากไปสักหน่อยน่ะครับ แต่เนื่องจากลูกค้าเขากำหนดเงื่อนไขมาแบบนี้น่ะครับ ..... ขอบคุณมากครับ

Re: ขอทราบสูตรแปลงค่าตัวเลขเป็นตัวอักษรภาษาอังกฤษ

Posted: Sat Nov 09, 2013 3:34 pm
by snasui
akkaphon wrote:3.ส่วนตัวเลข 11 แปลงค่าดังนี้ครับ 1 หลักแรก แทนค่าเท่ากับ H , E แทนค่าหลักตัวเลขหลัก 10 , 1 หลักที่ 2 แทนค่าเท่ากับ H เมื่อรวมกันก็จะเท่ากับ HEH
ข้อนี้ไม่เข้าใจครับ

ตัวเลขสองหลักแทนมา 3 ค่า สำหรับกรณีเช่นนี้มีเงื่อนไขการคิดอย่างไรครับ

11 อ่านว่า สิบเอ็ด ไม่ใช่ หนึ่งสิบเอ็ด

หากเป็น หนึ่งสิบเอ็ด ผมเห็นด้วยว่า HEH คือผลลัพธ์ที่ใช้ได้ เพราะว่า

หนึ่งคือ H
สิบ คือ E
เอ็ด คือ H

อีกตัวอย่าง 12 ก็คือ สิบสอง ไม่ใช่ หนึ่งสิบสอง ควรจะเป็น EO ไม่ใช่ HEO

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

Re: ขอทราบสูตรแปลงค่าตัวเลขเป็นตัวอักษรภาษาอังกฤษ

Posted: Sat Nov 09, 2013 3:50 pm
by akkaphon
ตัวอย่างที่ลูกค้าต้องการดังนี้ครับ
1.หากเป็นเลขเฉพาะ คือตั้งแต่ 1 - 9 และ 10,100,1000,10000 จะเป็นเลขเฉพาะครับ รายละเอียดตามไฟล์แนบครับ
2.ผมเองก็ถามลูกค้านะครับว่าทำไม 22 ยังแทนค่า ด้วย OEO แต่ทำไม 11 ทำไมไม่ใช้ EH เพราะ E เราหมายถึง 10 จะได้ง่ายต่อการเขียนสูตรหรือแทนค่าลูกค้าเขาแจ้งว่า เนื่องจากไม่ต้องการให้ลูกค้าของเขาเองเดาตัวเลขนี้ออกน่ะครับเพราะตัวเลขหลังจากแทนค่าได้เขาจะนำไปแสดงที่ฉลากสินค้าน่ะครับ ซึ่งวิธีคิดในข้อนี้ของลูกค้าก็คือเขาบอกว่าเฉพาะตัวเลขในข้อ 1 เท่านั้นที่จะให้เป็นเลขเฉพาะส่วนถ้าเป็นเลขอื่นๆแล้วเขาเองต้องการให้หลักหน้าเป็นตัวแม่หลักสองเป็นตัวลูกน่ะครับ ยกตัวอย่างนะครับ ถ้า 10 จะเป็น E 11 เป็น HEH 20 เป็น OE 21 เป็น OEH น่ะครับ แรกๆที่ฟังเงื่อนไขของลูกค้าผมเองก็ไม่ค่อยเข้าใจแนวคิดของลูกค้าน่ะครับ แต่ทำไปสักพักผมเริ่มเข้าใจแนวคิดของลูกค้าน่ะครับ

ต้องขออภัยอาจารย์ด้วยน่ะครับ ที่คำถามและเงื่อนไขนี้อาจจะยากไปสักหน่อยน่ะครับเพราะผมค้นกระทู้เก่าๆของอาจารย์ก็ยังไม่เจอเงื่อนไขที่ใกล้เคียงหรือตรงตามที่ลูกค้าต้องการน่ะครับ.... ขอบคุณครับ

Re: ขอทราบสูตรแปลงค่าตัวเลขเป็นตัวอักษรภาษาอังกฤษ

Posted: Sat Nov 09, 2013 5:02 pm
by snasui
:D ลองตามนี้ครับ

จากไฟล์ที่แนบมา
  1. ที่เซลล์ D16 ตามไฟล์แนบคีย์สูตรเพื่อเป็นคอลัมน์ช่วย

    Code: Select all

    =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(BAHTTEXT(B20),"หนึ่ง","H"),"สอง","O"),"สาม","Y"),"สี่","M"),"ห้า","N"),"หก","G"),"เจ็ด","S"),"แปด","U"),"เก้า","A"),"สิบ","E"),"ร้อย","V"),"พัน","T"),"หมื่น","B"),"บาท",""),"ถ้วน",""),"เอ็ด","H"),"ยี่","O")
    Enter > Copy ลงด้านล่าง
  2. ที่ E16 คีย์สูตรด้านล่างเพื่อเป็นผลลัพธ์ที่ต้องการ

    Code: Select all

    =IF(AND(RIGHT(B16,2)+0>10,RIGHT(B16,2)+0<20),REPLACE(D16,LEN(D16)-1,0,"H"),D16)
    Enter > Copy ลงด้านล่าง

Re: ขอทราบสูตรแปลงค่าตัวเลขเป็นตัวอักษรภาษาอังกฤษ

Posted: Sat Nov 09, 2013 5:44 pm
by akkaphon
อาจารย์ครับ

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

ผมเป็นบริษัทที่ให้บริการเช็คสต๊อคสินค้า ตรวจนับสินค้า ขึ้นระบบสต๊อคสินค้าสำหรับลูกค้าที่ซื้อโปรแกรมมาแต่ไม่ได้ซื้อ MA ผมจะชำนาญงานในด้านนี้หากอาจารย์หรือคนรู้จักอาจารย์ต้องการคำแนะนำปรึกษาในแนวนี้อาจารย์ เมล์มาได้เลยครับ ผมอยากตอบแทนอาจารย์บ้างน่ะครับ

ขอบคุณอีกครั้งครับ

เอกภณ นาทสุรดิษกุล

Re: ขอทราบสูตรแปลงค่าตัวเลขเป็นตัวอักษรภาษาอังกฤษ

Posted: Sat Nov 09, 2013 5:48 pm
by snasui
:D ยินดีที่ช่วยได้และขอบคุณสำหรับน้ำใจที่งดงามครับ :thup: