รวมสองไฟล์ CSV ด้วย Key Column: คู่มือใช้งาน CSV Merger ฉบับสมบูรณ์
เรียนรู้วิธี join ไฟล์ CSV สองไฟล์ด้วย key column ที่ shared กัน โดยไม่ต้องใช้ Excel หรือ Python — CSV Merger ช่วยทำ left join / inner join แบบ VLOOKUP พร้อมจัดการ duplicate key และ parse ตามมาตรฐาน RFC 4180 ได้ใน browser
เครื่องมือออนไลน์ฟรี
เครื่องมือรวม CSV / VLOOKUP
Joinข้อมูล CSV สองชุดด้วย key column เดียวกันแบบ VLOOKUP รองรับ left/inner join
Table of Contents
ทุกคนที่ทำงานกับข้อมูลย่อมเคยเจอปัญหาเดียวกัน นั่นคือข้อมูลที่ต้องการถูกแยกอยู่ในไฟล์ CSV สองไฟล์ โดยมีเพียง column ร่วมกันเพียงตัวเดียวเป็นตัวเชื่อม — ไฟล์ orders.csv มี customer_id แต่ไม่มีชื่อลูกค้า ไฟล์ employees.csv มีรหัสแผนกแต่ไม่มีชื่อแผนก วิธีแก้แบบดั้งเดิมคือเปิด Excel มั่วกับ VLOOKUP หรือเขียน Python ด้วย pandas ซึ่งก็ใช้ได้ แต่หนักเกินจำเป็นไปสำหรับงานที่แค่ "รวมไฟล์"
เครื่องมือ CSV Merger บน Online Tools Forge แก้ปัญหานี้ในเวลาราว 30 วินาที — วาง main CSV วาง lookup CSV เลือก key column ของแต่ละไฟล์ แล้วรับตารางที่ merge เรียบร้อยกลับมา รองรับทั้ง left join และ inner join ให้เลือกเฉพาะ column ที่ต้องการดึงมา จัดการ duplicate key ได้อย่างชัดเจน และ parse ค่าที่อยู่ใน quote ได้ถูกต้องตามมาตรฐาน RFC 4180
จุดที่ดีที่สุดคือทุกอย่างทำงานใน browser ของคุณล้วน ๆ ข้อมูลไม่เคยออกจากเครื่อง — ไม่มีการ upload ไม่มี server ไม่ต้องสมัครสมาชิก ซึ่งสำคัญมากเมื่อคุณทำงานกับรายชื่อลูกค้า ไฟล์เงินเดือน หรือข้อมูลภายในองค์กรที่ไม่ควรไปวางไว้กับเว็บไหนก็ไม่รู้
ทำไมต้องใช้ CSV Merger?
- ไม่ต้องพึ่ง spreadsheet — VLOOKUP ใน Excel ใช้ได้ แต่มักพังแบบเงียบ ๆ กับ approximate match, ช่องว่างที่มองไม่เห็น และ data type ไม่ตรงกัน CSV Merger ทำ exact key match และบอกคุณตรง ๆ ว่า match กี่แถว ไม่ match กี่แถว
- ไม่ต้อง upload จึงไม่มีความเสี่ยงเรื่อง privacy — ประมวลผลภายในเครื่องทั้งหมด เหมาะกับข้อมูลลูกค้า ไฟล์ HR และรายงานภายใน
- ชื่อ column ไม่ต้องเหมือนกันก็ได้ — ไฟล์หลักอาจเรียกว่า dept_id ส่วนไฟล์ lookup เรียกว่า department_code เลือก key แยกของแต่ละไฟล์ได้อิสระ ไม่ต้องเสียเวลา rename ก่อน
- คุยกับข้อมูลผ่านสิ่งที่เลือกได้ — per-column picker ให้เลือกเฉพาะ lookup column ที่ต้องการจริง ๆ แทนที่จะต่อทั้งไฟล์ที่สองเข้าไปเต็ม ๆ
- จัดการ duplicate key แบบชัดเจน — ไฟล์ lookup ในโลกจริงมักมี key ซ้ำ เลือกได้ว่าจะเอา first match, last match หรือ join ค่าทั้งหมด ไม่มีผลลัพธ์แปลก ๆ ที่มาไม่รู้อยู่บนหัว
- เข้าใจ CSV ตัวจริง — quoted field, comma ในค่า, quote ซ้อน และ line break ใน quote ถูก parse ถูกต้องตาม RFC 4180 ซึ่งเป็นจุดที่เครื่องมือ split-by-comma ง่าย ๆ พังกันถ้วน
ฟีเจอร์เด่น
| ฟีเจอร์ | ทำอะไร | ทำไมถึงสำคัญ |
|---|---|---|
| Left / Inner join | เก็บทุกแถวของ main file หรือเฉพาะแถวที่ match | Left join ใช้เติมข้อมูล inner join ใช้กรองข้อมูล |
| Per-file key picker | เลือก key column ของแต่ละไฟล์แยกกัน | ชื่อ column ไม่ต้องเหมือนกัน |
| Per-column picker | เลือกว่าจะดึง lookup column ไหนมาบ้าง | ไฟล์ผลลัพธ์ไม่บวมจนอ่านยาก |
| Duplicate-key modes | First, last หรือ join ทุกค่า | พฤติกรรมชัดเจนแม้ข้อมูลรก |
| Conflict strategies | Suffix, skip หรือ keep ชื่อ column ที่ชนกัน | คุม header ของผลลัพธ์ได้ 100% |
| RFC 4180 parsing | รองรับ quoted field, comma และ newline ฝังในค่า | ผลลัพธ์ถูกต้องกับไฟล์ export จริง |
| Match statistics | Matched/unmatched rows, added columns, duplicate keys | ตรวจสอบ join ก่อนเชื่อผลลัพธ์ |
สองรายละเอียดที่อยากเน้น อย่างแรกคือ match statistics ให้สิ่งที่ VLOOKUP ไม่เคยให้ นั่นคือร่องรอยการตรวจสอบที่ชัดเจน — คุณเห็นว่า match กี่แถว เหลือ unmatched กี่แถว เพิ่มมากี่ column และ lookup file มี duplicate key กี่ตัว อย่างที่สองคือ conflict strategies ทำให้ join ไม่มีวันทำลายข้อมูล — ถ้าทั้งสองไฟล์มี column ชื่อ name คุณเลือกได้ว่าจะ suffix ตัวที่มาใหม่ ตัดทิ้ง หรือเก็บไว้ทั้งคู่ แทนที่จะได้ header คล้ายกันจนงง สองอันมาติดกัน
วิธีใช้งาน
- วาง main CSV ลงในช่องแรก — นี่คือไฟล์ที่ต้องการเก็บทุกแถว เช่น employees.csv ที่มี id,name,dept_id
- วาง lookup CSV ลงในช่องที่สอง — เช่น departments.csv ที่มี dept_id,dept_name,floor
- เลือก key column ของแต่ละไฟล์ — เลือก dept_id ในทั้งสองไฟล์ (หรือ column ต่างชื่อที่แต่มีความหมายเดียวกัน ไม่จำเป็นต้องชื่อเหมือนกัน)
- เลือก join mode และ column ที่ต้องการ — left join เก็บพนักงานทุกคนแม้ไม่เจอแผนก inner join เก็บเฉพาะคนที่รู้แผนก แล้วติ๊กเลือก lookup column เช่นเอา dept_name แต่ไม่เอา floor
- ตรวจ stats แล้วคัดลอกผลลัพธ์ — เช็คจำนวน matched/unmatched แล้ว copy merged CSV ไปใช้หรือ download ได้เลย ถ้าผลดูผิดปกติ ตัวเลข duplicate-key มักเป็นคำตอบ
ทำความเข้าใจ CSV Join
Left join vs inner join — left join คืนทุกแถวของ main file ไม่ว่าจะ match หรือไม่ โดยแถวที่ไม่ match จะมีค่าว่างใน lookup column ส่วน inner join คืนเฉพาะแถวที่ key มีอยู่ในทั้งสองไฟล์ ใช้ left join เมื่อกำลังเติมข้อมูลให้ master list และเสียแถวไม่ได้ ใช้ inner join เมื่อตั้งใจกรองให้เหลือเฉพาะแถวที่มีคู่ เช่น เก็บเฉพาะ order ที่ product ID ยังมีใน catalog
Key column — key column คือ identifier ร่วมที่เชื่อมสองไฟล์เข้าด้วยกัน เช่น employee ID, product SKU, country code หรือ email กฎทองคือ key ต้องระบุแถวใน lookup file ได้อย่าง unique ถ้าไม่ แปลว่าคุณกำลังอยู่ในสถานการณ์ duplicate key และ duplicate handling ของเครื่องมือจะเข้ามาทำหน้าที่แทน
Duplicate keys — เมื่อ lookup file มี key เดิมซ้ำสองครั้ง CSV Merger ให้เลือกพฤติกรรมที่ชัดเจนสามแบบ คือเอาตัวแรก เอาตัวสุดท้าย หรือ join ทุกค่าเข้า cell เดียว สิ่งที่ในโลก spreadsheet มักกลายเป็น error หรือคำตอบผิดแบบเงียบ ๆ จึงกลายเป็นทางเลือกที่ตรวจสอบได้
เทียบกับ VLOOKUP และ SQL — VLOOKUP เป็น approximate โดยธรรม นั่นคือ inexact match จะคืนค่าข้างเพื่อนมาโดยไม่เตือน แถม pull ได้ครั้งละ column ต่อสูตร ส่วน SQL join แม่นยำก็จริง แต่ต้องโหลดไฟล์ทั้งสองเข้า database ก่อน CSV Merger อยู่ตรงกลาง — match แบบ exact เหมือน SQL, setup เป็นศูนย์เหมือน spreadsheet, ดึงได้หลาย column ในครั้งเดียว พร้อมสถิติที่ทั้ง VLOOKUP และ SQL query เปล่า ๆ ไม่ได้ให้ฟรี
Quoted fields ตาม RFC 4180 — ไฟล์ CSV จริงมักมีค่าที่ถูกครอบด้วย quote เพราะมี comma ฝังอยู่ ("Smith, John") ใช้ quote ซ้อนเพื่อ escape ("say ""hi""") และบางทีก็มี newline ข้างใน เครื่องมือที่ split ด้วย comma ตรง ๆ จะได้ขยะจากไฟล์แบบนี้ CSV Merger ใช้ state-machine parser ที่ถูกต้อง ทำให้ข้อมูล export จาก Excel, Google Sheets หรือ database รวมกันได้สะอาด
ตัวอย่างการใช้งานจริง
เติมข้อมูล reference ให้ไฟล์ export
คุณ export orders.csv จากแพลตฟอร์มร้านค้า แต่มีแค่ customer_id ทีมการตลาดส่ง customers.csv ที่มี customer_id, email, tier มาให้ — ทำ left join บน customer_id เลือกเฉพาะ column email กับ tier คุณจะได้ไฟล์พร้อมวิเคราะห์ในไม่กี่วินาที ครบทุก order พร้อมข้อมูลติดต่อ
กระทบยอดรายงานสองฝ่าย
ฝ่ายการเงิน export รายชื่อหนึ่งชุด ฝ่าย HR อีกชุด ทั้งคู่มี employee ID แต่ column ต่างกัน join สองไฟล์บน employee_id ด้วย inner join เพื่อหาคนที่มีในทั้งสองระบบ หรือใช้ left join เพื่อหาคนที่หายไปจากฝั่ง HR — ตัวเลข unmatched rows คือรายการ discrepancy ของคุณเลย
จัดการข้อมูล multi-value ให้เรียบร้อย
supplier ส่งไฟล์ product ที่ SKU เดียวปรากฏหลายแถว แต่ละแถวคือคลังสินค้าคนละที่ join catalog ของคุณ (main) กับไฟล์ supplier (lookup) ด้วยโหมด "join all values" แต่ละ SKU จะมีแถวเดียวที่ระบุคลังทั้งหมด — ไม่ต้องมีแถว catalog ซ้ำ และไม่มี location หลุด
ตรวจข้อมูลก่อน bulk import
ก่อน import ผู้ใช้เข้าระบบใหม่ ให้ join new_users.csv กับ existing_users.csv บน email ด้วย inner join — ถ้าผลลัพธ์ไม่ว่าง แปลว่ามีข้อมูลชนกันที่ต้องแก้ก่อน และ matched count บอกจำนวนที่แน่นอน ทำแบบนี้ก่อน import ดีกว่ามานั่งแก้หลังจากระบบพัง
Best Practices
- ทำให้ key unique ใน lookup file — join เชื่อถือได้แค่ความ unique ของ key ถ้าเลี่ยงไม่ได้จริง ๆ ให้เลือก duplicate mode อย่างชัดเจนแทนการเสี่ยงดวง
- Trim whitespace และ unify case ก่อน join — "US " (มีช่องว่าง) กับ us จะไม่ match กัน เปิดผ่านเครื่องมือ CSV cleaner เพื่อลบช่องว่างและ normalize ค่าก่อน จะช่วยให้ key เข้ากันได้
- ใช้ left join + ดู unmatched count เมื่อต้องการ audit — left join ไม่ซ่อนแถว ถ้า unmatched count สูงกว่าที่คาด แปลว่า key มีปัญหา แก้ก่อนแล้วค่อยเปลี่ยนไป inner join
- เลือกเฉพาะ column ที่จำเป็น — ดึงทุก lookup column มาทำให้ไฟล์กว้างจนอ่านยาก ติ๊กเฉพาะ 2-3 field ที่งานนั้นต้องการจริง ๆ
- เช็คตัวเลข duplicate-key เสมอ — ถ้าไม่เป็นศูนย์ทั้งที่คาดว่าควรเป็นศูนย์ lookup file มีปัญหา ไปแก้ที่ต้นทางดีกว่าปล่อยให้กฎ first/last ปิดบังมันไว้
- ไม่แก้ไฟล์ต้นฉบับโดยตรง — ทำงานกับสำเนาที่วางไว้ แล้ว download ผลลัพธ์เป็นไฟล์ใหม่ เพราะวันหน้าข้อมูลต้นทางอัปเดต คุณอาจต้อง re-run join ใหม่
เริ่มรวมไฟล์ CSV ของคุณเลยตอนนี้
สิ่งที่คุณต้องมีมีแค่สองไฟล์ CSV และหนึ่ง column ร่วมกัน — เปิด CSV Merger วางทั้งสองไฟล์ เลือก key แล้วรับตารางที่ join เรียบร้อยพร้อม match statistics ครบถ้วน ไม่ต้องเขียนสูตร Excel ไม่ต้องติดตั้ง Python และข้อมูลไม่ออกจาก browser ของคุณ ครั้งหน้าที่ใครส่ง spreadsheet สองไฟล์มาให้ "รวมหน่อย" คุณจะเสร็จก่อนเขาจะพูดจบประโยค
เครื่องมือที่เกี่ยวข้อง:
- CSV Diff — เทียบไฟล์ CSV สองไฟล์ เห็นชัดว่าแถวไหนเปลี่ยน
- CSV Cleaner — ล้าง whitespace, แถวซ้ำ และ format ก่อนนำไป join
- CSV to Excel Converter — แปลงผลลัพธ์ CSV เป็นไฟล์ .xlsx สวย ๆ
ขอให้ทำงานกับข้อมูลได้สนุก!