Page 1 of 1
แยกรหัสสินค้าและชื่อสินค้าให้อยู่คนละ column
Posted: Fri Mar 12, 2010 4:02 pm
by acmomiza
สวัสดีครับ คุณคนควน
ผมมีเรื่องมารบกวนอีกแล้วครับ คือว่าผมอยากทราบวิธีการแยกรหัสสินค้าและชื่อสินค้าในประโยคเดียวกันให้แยกออกคนละ column กัน เพราะในการทำงานจริงมีข้อมูลเยอะมาก จึงอยากได้สูตรที่ช่วยให้การทำงานง่ายและสะดวกรวดเร็วขึ้นครับ
มีภาพประกอบครับ
ขอบคุณมากครับ
acmomiza
Re: แยกรหัสสินค้าและชื่อสินค้าให้อยู่คนละ column
Posted: Fri Mar 12, 2010 4:12 pm
by snasui
สามารถใช้สูตรตามตัวอย่างด้านล่างครับ
1. ที่ C2 คีย์
=LEFT(A2,FIND(":",A2)-2)
Enter > Copy ลงด้านล่าง
2. ที่ D2 คีย์
=RIGHT(A2,LEN(A2)-FIND(":",A2)-1)
Enter > Copy ลงด้านล่าง
Re: แยกรหัสสินค้าและชื่อสินค้าให้อยู่คนละ column
Posted: Fri Mar 12, 2010 4:31 pm
by acmomiza
รวดเร็วจริงๆ
ทดลองแล้วได้ผลตามที่ต้องการครับ
ขอบคุณมากครับ
acmomiza
Re: แยกรหัสสินค้าและชื่อสินค้าให้อยู่คนละ column
Posted: Thu Mar 25, 2010 2:44 pm
by acmomiza
สวัสดีครับ คุณคนควน
จากครั้งที่แล้วที่ผมถามเรื่องวิธีการแยกรหัสสินค้าและชื่อสินค้าให้อยู่คนละ column และนำไปใช้แล้วได้ผลตามที่ต้องการ
แต่ครั้งนี้ผมมีปัญหาใหม่ คือ ถ้ารหัสสินค้าและชื่อสินค้าอยู่ติดกัน แต่สังเกตได้รหัสสินค้าจะเป็นตัวเลขทั้งหมด ส่วนชื่อสินค้าจะเป็นตัวอักษรทั้งภาษาอังกฤษและภาษาไทย
ยกตัวอย่างเช่น
00001Bottlexxxxx (รหัสสินค้าคือ 00001 , ชื่อสินค้าคือ Bottlexxxxx)
0000123ขวดxxxxxxx (รหัสสินค้าคือ 0000123 , ชื่อสินค้าคือ ขวดxxxxxxx)
จะมีวิธีแยกอย่างไรให้ออกมาดังนี้
A B
รหัสสินค้า ชื่อสินค้า
00001 Bottlexxxxx
0000123 ขวดxxxxxx
หมายเหตุ : 1. ความยาวของรหัสสินค้าไม่เท่ากัน
2. ชื่อสินค้าบางตัวมีทั้งภาษาไทยและภาษาอังกฤษรวมกัน
รบกวนช่วยแนะนำด้วยนะครับ
ขอบคุณมากครับ
acmomiza
Re: แยกรหัสสินค้าและชื่อสินค้าให้อยู่คนละ column
Posted: Thu Mar 25, 2010 4:04 pm
by snasui
สวัสดีครับ
การแยกข้อมูลที่มีความไม่แน่นอนลักษณะนี้สามารถใช้ฟังก์ชั่นแบบ Array มาช่วยได้ครับ
เช่นข้อมูลที่ A1 เท่ากับ
00001Bottlexxxxx
1. ที่ B1 คีย์เพื่อตัดค่าตัวเลขออกมาแสดง
=LEFT(A1,MATCH(9.99999999999999E+307,--MID(A1,1,ROW(INDIRECT("1:"&LEN(A1))))))
กดแป้น Ctrl+Shift+Enter เพื่อรับสูตร เนื่องจากเป็นสูตร Array
2. ที่ C1 คีย์สูตรเพื่อหาค่าส่วนที่เหลือ
=SUBSTITUTE(A1,B1,"")
Enter
Note: สูตรที่สำคัญ
- ROW(INDIRECT("1:"&LEN(A1))) จะให้ค่าลำดับตั้งแต่ 1 จนกระทั่งถึงค่าลำดับที่เป็นจำนวนอักขระทั้งหมดของ A1 เช่นนับแล้ว A1 มี 10 อักขระก็จะเกิดค่าลำดับ {1,2,3,4,5,6,7,8,9,10} เป็นต้น
- --MID(A1,1,ROW(INDIRECT("1:"&LEN(A1)))) เป็นการตัดอักขระตามจำนวนที่ได้ในข้อ 1 ผลลัพธ์จะมีลักษณะเป็น --{"0","00","000","0000","00001","00001B"...} ซึ่งจะมีลักษณะของชุดข้อมูลในวงเล็บปีกกาเป็นประเภทอักขระ และเราใช้เครื่องหมาย -- แปลงให้เป็น Number
- MATCH(9.99999999999999E+307,--MID(A1,1,ROW(INDIRECT("1:"&LEN(A1))))) คือหาลำดับที่มากที่สุดที่เป็นตัวเลขในช่วงข้อมูลที่ได้
Re: แยกรหัสสินค้าและชื่อสินค้าให้อยู่คนละ column
Posted: Thu Mar 25, 2010 4:26 pm
by acmomiza
ทำแล้วได้ผลตามที่ต้องการ (แต่ก็ยังงงๆ สูตรอยู่ครับ
)
ขอบคุณมากครับ
acmomiza