เอา text เข้า excel วิธีไหนสะดวก รวดเร็วที่สุด? ถ้าเจอคำถามนี้มักจะบอกไปว่า ให้ copy text นั้นวางลงใน Excel สะดวกที่สุด!
แต่ส่วนใหญ่มักจะทำหน้าไม่ค่อยปลื้มกับคำตอบนี้เท่าไหร่ ก็คงต้องถามกลับไปว่า จะเอายังไงกันคร้าบบบบบบบบบบ
(ความจริงคือ บางทีมันมีปัญหาเรื่อง Character Endocing ทำให้อักขระเป็นภาษาต่างดาวอ่านไม่ออก ซึ่งต้องใช้วิธี Get Data – เลื่อนไปอ่านด้านล่าง ๆ นี้นะ ห้วข้อ นำเข้าโดยใช้ Get Data ใน Excel เลื่อนลงไปโลด)
ปัญหามันอยู่ตรงที่ เวลาเอาไฟล์ dBase ออกมาจาก ArcGIS หรือ QGIS ซึ่งถ้าเป็นตัวเอง มักจะใช้วิธีเปิด dBase จาก Access หรือ Excel โดยตรงเลย แต่หลายคนชอบส่งออกข้อมูลตาราง Attribute มาเป็น Text File จะเป็น csv หรืออะไรก็ตามแต่
และมักจะตั้งคำถามว่า เปิดยังไงให้ออกมาใช้งานได้เลย ไม่ต้องยุ่งยาก เหมือนตัวอย่างนี้ ส่งข้อมูลจาก Access มา แทนที่จะส่งเป็น Excel โดยตรง ก็ส่งเป็น Text File ซะงั้น อาจจะหวังดี เพราะคิดว่าอาจจะเอาไปเปิดกับโปรแกรมอื่น
เอาจริงถ้าคุยกันดี ๆ ตรง ๆ ก็น่าจะง่ายกว่า ว่าอยากได้ไฟล์อะไร แต่ส่วนใหญ่ก็คือ ส่ง Text File ไว้ก่อน กลาง ๆ ดี เปิดกับอะไรก็ได้ ไม่รู้จะเปิดกับอะไร เป็นกับ Notepad ก็ได้
จ้า ดีจ้า แล้วแต่เลยจ้า
สมมติว่า (ไม่สมมติล่ะ) ได้ข้อมูลมาเป็น Text File เปิดกับ Notepad มาดูเห็นเป็นแบบนี้ อยากจะเอาไปเปิดกับ Excel จะทำอย่างไรดีน้า
เอา text เข้า excel แบบ Copy and paste
วิธีนี้เป็นวิธีที่ basic ที่สุดแล้ว คือ เปิด Text File ด้วย Notepad
จากนั้นก็ Select All (Ctrl+A)
Copy (Ctrl+C)
เปิด Excel
คลิกที่ Cell ไหนสัก Cell แล้ว Paste (Ctrl+V)
เกือบเสร็จละ อีกนิดเดียว ตอนนี้ ข้อความไปอยู่คอลัมน์เดียวกันหมด เราต้องการให้มันแยกไปอยู่คนละคอลัมน์
ก็ต้องใช้ text to columns เพื่อแยกคอลัมน์ ตามวิธีที่เคยนำเสนอไปแล้ว ซึ่งเราใช้วิธี delimiter หรือแยกคอลัมน์ด้วยอักขระคั่นกลาง เพราะจากตัวอย่าง จะใช้ “|” เป็นตัวแบ่งคอลัมน์
อันนี้น่าจะง่ายสุดที่นึกออกแล้วนะ
เอา text เข้า excel ด้วย Power Query หรือ Get Data
หรืออีกวิธีหนึ่ง จะใช้วิธี Get Data ซึ่งก็ง่ายไม่ต่างจาก copy แล้วว่าไปตรง ๆ เอาจริงคือเหมือนกันนั่นแหละ เพียงแต่สามารถปรับจูนได้ละเอียดตั้งแต่กระบวนการนำเข้าเลย
เริ่มต้นด้วยไปที่แท็บ DATA แล้วเลือก Get Data มันจะมีตัวเลือกให้เลือกว่า เราอยากดึงข้อมูลประเภทไหนเข้ามาสู่ Excel ซึ่งในตัวอย่างนี้เราต้องการเอา Text เข้ามา เราก็ต้องเลือก From File แล้วเลือก Text/CSV ความจริง CSV ก็คือ TEXT เพียงแต่ระบุว่าจะใช้จุลภาค (Comma) ในการแบ่ง csv = comma-separated values
ตัว excel เองสามารถนำเข้าไฟล์ได้หลายรูปแบบ ทั้ง .txt .csv ซึ่งเป็น text file ยังมีไฟล์ของ xml json หรือแม้แต่เชื่อมต่อกับ Access โดยตรง ถ้าไฟล์เป็น .csv ก็ไม่ต้องคิดอะไรมาก เพราะใช้จุลภาค (comma) เป็นตัวแบ่งอยู่แล้ว
Text file โดยตัวอย่างนี้เป็นไฟล์ข้อมูลทางทะเบียน ที่ส่งมาให้ในรูปแบบ .txt (text file) ถ้าเป็นแบบนี้เราต้องเปิดดูในเบื้องต้นก่อนว่าไฟล์นี้ใช้อะไรเป็นตัวแบ่งคอลัมน์ จากตัวอย่าง จะใช้ “|” เป็นตัวแบ่งคอลัมน์
พอเลือกเสร็จให้เลือกไฟล์ที่จะนำเข้ามา ซึ่งพอเลือกแล้วจะขึ้นหน้าต่างปรับแต่งให้ดู ซึ่งจากตัวอย่างที่เอาให้ดูนี้จะสังเกตว่าภาษาไทยจะออกแปลก ๆ เพราะค่าตั้งต้นของ Encoding เป็น 1252 Western เราต้องเปลี่ยนให้เป็นสิ่งที่เรารู้จักก่อน เช่น UTF-8 หรือ TIS-620 หรือ Windows 874 เลือกสักอย่างที่ชอบ
ส่วน delimiter นี้ เรารู้ว่าไฟล์ต้นทางใช้ | เป็นตัวคั่น ดังนั้นต้องเลือกเป็น custom แล้วใส่ | เข้าไปในช่องข้างล่างเพื่อบอกให้ Excel แบ่งคอลัมน์ด้วย | ก็จะได้ออกมาตามรูป
แต่เมื่อสังเกตเห็นว่า ยังมีบางคอลัมน์ไม่ได้จัด format อย่างที่ต้องการ อย่างเช่น BranchCode จะต้องกำหนด format เป็น Text แต่ที่เป็นอยู่คือมันจัดเป็น Number เพราะ excel เห็นว่าเป็นตัวเลขหมดก็เลยจัดเป็น Number ให้โดยอัตโนมัติ ซึ่งเราต้องการให้เป็น Text ดังนั้นเราต้องกด Transform Data ที่อยู่ด้านล่างเพื่อจัดการกับ Format ของคอลัมน์ที่ต้องการเสียก่อน เพื่อให้ได้ข้อมูลในรูปแบบที่ต้องการ
เมื่อกดเข้าหน้า Transform Data จะสังเกตได้ว่าที่หัวคอลัมน์จะมีสัญลักษณ์เป็นตัวเลขหรือตัวอักษรหรืออื่น ๆ เรากดที่สัญลักษณ์นั้นเพื่อเลือกกำหนด format ให้กับคอลัมน์นั้นได้โดยตรง มันจะมีหน้าต่างถามให้แน่ใจอีกครั้งว่าอยากเปลี่ยน format จริงหรือไม่
รวมทั้งเลือกได้ว่าถ้าไม่อยากจะดึงคอลัมน์ไหนเข้าไปก็เลือก remove หรือว่า choose เลือกก็ได้ตามใจ ซึ่งเมื่อเลือกแล้ว ให้เลือก close & load เพียงเท่านี้ก็จะได้ตาราง excel ซึ่งจะโดนจัดรูปแบบเป็นตารางเพื่อความสะดวกในการทำงาน
เอา text เข้า excel แบบง่าย ๆ ก็มีดังนี้ ส่วนการนำเข้า Text File ใน Access เคยเขียนไปแล้วเน้อ