วิธีแยกข้อความใน excel ตอนที่ 1

วิธีแยกข้อความใน excel – คำถามง่าย ๆ ที่ไม่รู้จะตอบยังไง อันนี้เป็นเรื่องที่รู้สึกปวดใจอยู่พอสมควร เวลาที่ใครมาถามอะไรสั้น ๆ โดยคาดหวังว่าจะได้รับคำตอบแบบ “ง่าย ๆ” แต่ในความจริงคือ DefExcel ไม่ใช่คนฉลาด ไม่สามารถตอบอะไรแบบนี้ได้โดยไม่เห็นข้อมูลนะจ๊ะ

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

ยกตัวอย่างแรกก็แล้วกัน ข้อมูลชุดนี้ เป็นข้อมูลคะแนนเสียงจากการเลือกตั้งประเทศไทยปีพ.ศ. 2566 จะมีชื่อพรรคการเมืองกับคะแนนที่ได้รับในครั้งนี้ และโจทย์คือ เราจะแยกชื่อพรรคการเมือง กับคะแนนที่ได้รับออกเป็น 2 คอลัมน์ คือชื่อพรรคการเมือง กับ คะแนนที่ได้รับ

จากตัวอย่างนี้ ท่านเห็นแพตเทิร์นหรือว่ารูปแบบหรือไม่?

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

คำถามต่อมา ในเมื่อเราเห็นรูปแบบและสิ่งที่จะใช้เป็นตัวแบ่งคอลัมน์ได้แล้ว เราจะใช้วิธีไหน?

แยกข้อความด้วย Text to Columns

ในเมื่อสิ่งที่เราเห็น มีตัวคั่นที่ชัดเจน คือ space  หรือ วรรค เราก็แยก โดยใช้ Text to Columns และเลือก delimiter เป็น space อ่านวิธีได้ที่นี่ Text to Columns

วิธีแยกข้อความใน excel ด้วย Flash Fill

Flash Fill เป็นเครื่องมือที่อยากจะกราบคนคิดว่าช่างมีจิตเมตตาต่อผู้ใช้งานเสียจริง ๆ คือ ถ้าหากว่ามีรูปแบบหรือ pattern ที่ชัดเจน Flash Fill จะจัดการให้เราโดยที่ไม่ต้องทำอะไร

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

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

ง่ายเสียจนน้ำตาแทบจะไหล! อะไรมันจะง่ายขนาดนั้น

แต่ สำหรับบางท่าน ถ้าพิมพ์แล้วไม่ขึ้นอัตโนมัติ โปรดสังเกตก่อนว่า เวอร์ชั่นที่ใช้เป็นเวอร์ชั่นใหม่ล่าสุดแล้วหรือยัง? อย่างน้อยก็ต้องตั้งแต่เวอร์ชัน 2013 เป็นต้นมา

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

  • คลิกที่เมนู File แล้วเลือก Options
  • คลิกที่ the Advanced ที่หน้าต่างด้านซ้าย แล้วให้ดูที่หน้าต่างด้านขวา ตรงคำว่า Automatically Flash Fill ให้ติ๊กเครื่องหมายถูก
  • กด OK แล้วก็ปิดเอ็กเซล

หรือไม่เช่นนั้น คำสั่งที่จะใช้ Flash Fill จะอยู่ที่แท็บ Data ให้มองหาในกลุ่ม Data Tool จะมีปุ่ม Flash Fill ให้กด

 หรือใช้ keyboard Shortcuts คือ Ctrl + E ก็ได้

วิธีแยกข้อความใน excel ด้วย Power Query

Power Query เป็นเครื่องมือที่ติดตั้งมากับเอ็กเซลตั้งแต่เวอร์ชัน 2016 ถ้าเป็นเวอร์ชันก่อนหน้านั้นต้องดาวน์โหลด add-in เพิ่ม (https://www.microsoft.com/th-th/download/details.aspx?id=39379)

วิธีการก็จะเหมือนการใช้ Text to Columns คือใช้ตัวคั่น (ในที่นี้คือ Space หรือช่องว่าง) เป็นตัวคั่นกลางเพื่อแบ่งคอลัมน์ แต่มันก็ทำได้หลายแบบเหมือนกัน จะยกตัวอย่างให้เห็นสัก 2 แบบ

เริ่มต้นด้วยการ เลือก คอลัมน์ หรือ Range ที่ต้องการ แล้วไปที่แท็บ Dataใช้ Get Data from Table/Range เมื่อกดแล้วจะมี Query Power Editor ขึ้นมา

วิธีที่ 1

คลิกที่เมนู Split Column เลือกตัวเลือกเป็น delimiter

ปกติ ถ้าไม่มีอะไรพิเศษ เอ็กเซลจะฉลาดพอที่จะรู้ว่าอะไรเป็นตัวคั่นหรือตัวแบ่งคอลัมน์ จะขึ้นมาให้อัตโนมัติ เราไม่ต้องเลือกเลย คลิก OK อย่างเดียว

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

คลิก OK ก็เรียบร้อยแล้ว คลิก Close and Load ไปใช้งานต่อไป

วิธีที่ 2

ลองมาทำแบบยุ่งยากอีกเล็กน้อย แต่ได้ผลเหมือนกัน ใช้วิธีการ Add Column

ไปที่แท็บ Add Column

เลือก Extract กดตรงสามเหลี่ยมเพื่อเลือกวิธี นั่นคือ Text before delimiter (ตรงนี้เราจะแยก “พรรคการเมือง” ออกมาก่อน

แล้วในช่อง delimiter เราก็เคาะ space ไป 1 ที

กด OK

เราก็จะได้คอลัมน์ใหม่ชื่อ Text Before Delimiter มา ซึ่งเรากดเปลี่ยนชื่อได้โดยตรง

ส่วน คะแนนที่ได้ เราก็ทำซ้ำอีกรอบ เปลี่ยนจาก Text before delimiter เป็น Text After delimiter

คลิก OK ก็เรียบร้อยแล้ว คลิก Close and Load ไปใช้งานต่อไป

สำหรับตอนที่ 1 นี้ เป็นแพตเทิร์นที่ชัดเจน ตอนต่อไปถ้าเจอที่ซับซ้อนกว่านี้จะทำอย่างไร?

Exit mobile version