
สวัสดีครับ
การแยกข้อมูลที่มีความไม่แน่นอนลักษณะนี้สามารถใช้ฟังก์ชั่นแบบ 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))))) คือหาลำดับที่มากที่สุดที่เป็นตัวเลขในช่วงข้อมูลที่ได้