Text to Columns

Text to Columns เป็นฟังก์ชันที่ใช้แยกข้อความ ใน 1 เซลล์ หรือ คอลัมน์ ไปอยู่ในแต่ละ เซลล์ หรือ คอลัมน์ ตามข้อกำหนดต่าง ๆ

อย่างเช่น ถ้ามีข้อความอยู่ในคอลัมน์หนึ่ง สมมติว่าเป็นรหัส SKU ของสินค้า เช่น US-TSL-L-GN ซึ่งเราจะตั้งค่ารหัสสองตัวแรกเป็นยี่ห้อสินค้า รหัสสามตัวถัดมาเป็นประเภทสินค้า ต่อด้วยขนาดและตัวสุดท้ายเป็นสีของสินค้า แล้วถ้าเกิดต้องการแบ่งแยกชุดตัวอักษร/ตัวเลขนั้นออกมาเป็นกลุ่ม เพื่อนำไปจำแนกความหมายของแต่ละแบบ เช่นแยกออกเป็นคอลัมน์ |US|-|TSL|-|L|-GN|

หรือ คอลัมน์หนึ่งเก็บข้อมูลเป็น ชื่อนามสกุล เช่น ธนาธร จึงรุ่งเรืองกิจ เราต้องการแยก ธนาธร กับ จึงรุ่งเรืองกิจ ให้อยู่คนละคอลัมน์ ต้องทำอย่างไร? คำตอบง่าย ๆ คือ เราใช้วิธีแยกข้อความด้วยฟังก์ชัน “ข้อความเป็นคอลัมนส์” นี้เอง

หรือถ้าอยาก แยกข้อความด้วยการใช้สูตร ฟังก์ชัน ก็อ่านบล็อกนี้ได้

Text to Columns มีกี่แบบ?

ฟังก์ชัน “ข้อความเป็นคอลัมนส์” (Text to Columns) เป็นฟังก์ชันแยกข้อความเป็นส่วน ๆ แยกไปอยู่คนละคอลัมน์ตามที่เรากำหนด ซึ่งจะมีสองแบบคือ

  1. การแบ่งคอลัมน์โดยใช้อักขระคั่น (delimiter)
  2. แบ่งข้อความคงที่ตามความกว้าง (จำนวน) ของตัวอักษร (fixed width)

ทั้งสองแบบต่างกันที่แบบแรกจะใช้อักขระสักตัว จะเป็นอะไรก็ได้ หรือจะเป็นวรรค หรือ แท็บ หรือจะเป็นตัวเลขหรือตัวอักษรก็ได้หมด ส่วนแบบที่สองจะแบ่งด้วยความกว้างคงที่ไปเลย

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

ข้อมูลทั้งหมดเป็นตัวเลข 9 หลักติดกัน ถ้าต้องการจะแบ่งให้เป็นกลุ่มละ 3 ตัวเลข ก็สามารถใช้ text to columns แบบ fixed width ได้

ถ้ากลุ่มข้อความที่จะแบ่งมีจำนวนตัวอักขระไม่เท่ากัน แต่มีสัญลักษณ์อะไรที่ใช้แบ่งคอลัมน์ได้ ก็ควรใช้แบบ delimiter

Text to Columns

ลองอ่านวิธีการจากเว็บไซต์ของไมโครซอฟต์โดยตรงก่อน

Delimiter

Delimiter หรือ การแบ่งคอลัมน์โดยใช้อักขระคั่น หมายถึงการใช้อักขระ อย่างใดอย่างหนึ่ง เช่น – : ช่องว่าง หรือ ฯลฯ อะไรตามแต่ เลือกมาสัก 1 ตัวเพื่อใช้คั่นกลาง เหมาะสำหรับการแยกข้อความที่มีอักขระอะไรสักอย่างคั่นไว้ชัดเจน

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

Step 1

เลือก เซลล์ หรือ คอลัมน์ ที่ต้องการแยกข้อความ แล้วไปที่แท็บ data > Text to Columns จะมีหน้าต่างขึ้นมา

Text to Columns

Step 2

กำหนดวิธีแบ่งคอลัมน์ จะมีให้เลือกสองช่องคือ delimited กับ Fixed Width เลือกใช้ตัวคั่น (delimiter)

Step 3

จะเข้ามาสู่หน้าที่ให้เลือกอักขระที่จะใช้เป็นตัวคั่น เช่น Tab (วรรคยาว) semicolon (;) comma (,) space (ช่องว่าง) หรือ Other (กำหนดเครื่องหมายแบ่งเอง) เลือกอย่างใดอย่างหนึ่ง หรือจะเลือกหลายแบบพร้อมกันก็ได้ ตามตัวอย่างนี้เลือก space (ช่องว่าง) เพราะเป็นตัวคั่นระหว่างชื่อกับนามสกุล โปรดสังเกตว่าเมื่อเลือกแล้วจะมีตัวอย่างให้เห็นประกอบการตัดสินใจ แล้วคลิก Next

Step 4

เข้าสู่หน้ากำหนดคุณสมบัติของคอลัมน์ (Column Data Format) ปกติไม่ต้องเลือกตัวนี้ก็ได้

แต่ในบางกรณีอาจต้องการระบุรูปแบบเฉพาะ เช่นแบ่งแล้วได้ตัวเลข 01 ถ้าไม่ระบุคุณสมบัติคอลัมน์ excel จะแปลงเป็นตัวเลขให้โดยอัตโนมัติ ผลจะออกมาแค่ 1 แต่ถ้าต้องการให้แสดงผลลัพธ์เป็น 01 ต้องกำหนดในขั้นตอนนี้ให้เป็น text (คือการ format cell นั่นเอง) โดยคลิกที่คอลัมน์ตรงหน้าต่าง Preview ด้านล่างแล้วเลือกคุณสมบัติที่ต้องการ เลือกแก้ไขทุกช่องที่ต้องการจนครบ คลิก finish

Fixed Width

ถ้าเป็นกรณีที่สามารถแบ่งข้อความด้วยความกว้างคงที่ เช่น เป็นกลุ่มตัวเลข 9 ตัว จะแบ่งเป็นกลุ่มละ 3 ตัว เลือก fixed Width จะดีกว่า เมื่อเลือกแล้วจะเข้าหน้าการแบ่ง จะเห็นเป็นเส้นบรรทัดระบุความกว้างอยู่ ซึ่งเราใช้เมาส์คลิกเลือกตรงหัวบรรทัดนี้ได้เลย จะเลือกแบ่งเป็นกี่คอลัมน์กี่กลุ่มก็แล้วแต่ใจ

Step 1

ก็เหมือน Step 1 ที่พิมพ์ไว้ด้านบนนั่นแหละจ้ะ

Step 2

กำหนดวิธีแบ่งคอลัมน์ เหมือน Step 2 ด้านบนนั่นแหละ

Step 3

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

Text to Columns

Step 4

ย้อนกลับไปดู Step 4 ด้านบน

เพียงเท่านี้ก็เสร็จสิ้นจะได้คอลัมน์ตามที่ต้องการ ง่าย ๆ ใน 4 ขั้นตอน

เคล็ดลับเพิ่มเติม

ถ้าต้องการเก็บคอลัมน์เดิมเอาไว้ ในขั้นตอนที่ 3 ตรง destination ให้คลิกเลือกคอลัมน์ที่ไม่ใช่คอลัมน์เดิม ก็จะเป็นการเก็บข้อความเดิมเอาไว้

วิธีการนี้ เป็นเครื่องมือง่าย ๆ ที่ช่วยเรื่องการจัดทำ database ได้ดีตัวหนึ่ง แม้ว่าหลายคนจะมองข้ามเรื่องโครงสร้างไป

ลองนึกถึงตอนที่ได้ชื่อที่อยู่มาจากลูกค้า ซึ่งอาจจะได้จากอีเมลหรือว่ากล่องข้อความในเฟซบุ๊กหรืออินสตาแกรม ถ้าจะขายอย่างเดียวก็คงไม่คิดอะไรมาก คัดลอกแปะหน้ากล่องส่งลูกค้า แต่ถ้าเกิดอยากจะเก็บฐานข้อมูลลูกค้าไว้ล่ะ เช่น ลูกค้าจังหวัดใดสนใจซื้อสินค้ามากที่สุด การจะมานั่งคัดตัดต่อข้อความทีละคนคงน่าเบื่อหน่ายเอาการ ลองประยุกต์ใช้ฟังก์ชันนี้ช่วยก็จะสะดวกไม่น้อย

ความคิดเห็นของคุณ :)

%d bloggers like this: