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
:D สามารถใช้สูตรตามตัวอย่างด้านล่างครับ

1. ที่ C2 คีย์

=LEFT(A2,FIND(":",A2)-2)

Enter > Copy ลงด้านล่าง

2. ที่ D2 คีย์

=RIGHT(A2,LEN(A2)-FIND(":",A2)-1)

Enter > Copy ลงด้านล่าง

:mrgreen:

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
:D สวัสดีครับ

การแยกข้อมูลที่มีความไม่แน่นอนลักษณะนี้สามารถใช้ฟังก์ชั่นแบบ 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: สูตรที่สำคัญ
  1. ROW(INDIRECT("1:"&LEN(A1))) จะให้ค่าลำดับตั้งแต่ 1 จนกระทั่งถึงค่าลำดับที่เป็นจำนวนอักขระทั้งหมดของ A1 เช่นนับแล้ว A1 มี 10 อักขระก็จะเกิดค่าลำดับ {1,2,3,4,5,6,7,8,9,10} เป็นต้น
  2. --MID(A1,1,ROW(INDIRECT("1:"&LEN(A1)))) เป็นการตัดอักขระตามจำนวนที่ได้ในข้อ 1 ผลลัพธ์จะมีลักษณะเป็น --{"0","00","000","0000","00001","00001B"...} ซึ่งจะมีลักษณะของชุดข้อมูลในวงเล็บปีกกาเป็นประเภทอักขระ และเราใช้เครื่องหมาย -- แปลงให้เป็น Number
  3. MATCH(9.99999999999999E+307,--MID(A1,1,ROW(INDIRECT("1:"&LEN(A1))))) คือหาลำดับที่มากที่สุดที่เป็นตัวเลขในช่วงข้อมูลที่ได้

Re: แยกรหัสสินค้าและชื่อสินค้าให้อยู่คนละ column

Posted: Thu Mar 25, 2010 4:26 pm
by acmomiza
:) ทำแล้วได้ผลตามที่ต้องการ (แต่ก็ยังงงๆ สูตรอยู่ครับ :roll: )
ขอบคุณมากครับ
acmomiza