สารบัญ
CSV เปิดไม่ถูกต้องใน Excel? บทช่วยสอนจะตรวจสอบปัญหาทั่วไปและให้แนวทางแก้ไขที่มีประสิทธิภาพสูงสุด
รูปแบบ CSV มักใช้สำหรับการนำเข้า/ส่งออกข้อมูลระหว่างโปรแกรมสเปรดชีตต่างๆ ชื่อ CSV (ค่าที่คั่นด้วยเครื่องหมายจุลภาค) หมายถึงการใช้เครื่องหมายจุลภาคเพื่อแยกฟิลด์ข้อมูล แต่นั่นคือในทางทฤษฎี ในทางปฏิบัติ ไฟล์ CSV จำนวนมากจะแยกข้อมูลโดยใช้อักขระอื่นๆ เช่น เครื่องหมายอัฒภาคหรือแท็บ การนำไปใช้งานบางอย่างจะใส่เครื่องหมายคำพูดเดี่ยวหรือเครื่องหมายอัญประกาศคู่ ในขณะที่บางรายการจำเป็นต้องมี Unicode byte order mark (BOM) เช่น UTF-8 เพื่อการตีความ Unicode ที่ถูกต้อง การขาดมาตรฐานทำให้เกิดปัญหาต่างๆ กับการแปลง CSV เป็น Excel
ไฟล์ CSV เปิดขึ้นในหนึ่งคอลัมน์ใน Excel
อาการ เมื่อเปิดไฟล์ csv ใน Excel ข้อมูลทั้งหมดจะปรากฏในคอลัมน์เดียว
สาเหตุ เมื่อต้องการแยกข้อมูลในคอลัมน์ Excel จะใช้ตัวคั่นรายการที่ตั้งค่าไว้ในการตั้งค่าภูมิภาคของ Windows อาจเป็นเครื่องหมายจุลภาค (ในอเมริกาเหนือและบางประเทศ) หรือเครื่องหมายอัฒภาค (ในประเทศแถบยุโรป) เมื่อตัวคั่นที่ใช้ในไฟล์ .csv เฉพาะแตกต่างจากตัวคั่นเริ่มต้น ไฟล์นั้นจะเปิดขึ้นในคอลัมน์เดียว
วิธีแก้ปัญหา มีวิธีแก้ไขที่เป็นไปได้หลายวิธีสำหรับกรณีนี้ รวมถึงแมโคร VBA หรือการเปลี่ยนแปลงโดยรวมในการตั้งค่า Windows เราจะแสดงวิธีแก้ปัญหาอย่างรวดเร็วโดยไม่ต้องเปลี่ยนค่าเริ่มต้นตัวคั่นรายการในคอมพิวเตอร์ของคุณ ดังนั้นแอปพลิเคชันของคุณจะไม่ได้รับผลกระทบ
เปลี่ยนตัวคั่นในไฟล์ CSV
เพื่อให้ Excel สามารถอ่าน CSV ด้วยตัวคั่นอื่นได้ คุณสามารถกำหนดตัวคั่นได้ โดยตรงในไฟล์นั้น ในการทำให้เสร็จ ให้เปิดไฟล์ด้วยโปรแกรมแก้ไขข้อความ (Notepad จะทำได้ดี) และเพิ่มข้อความด้านล่างในบรรทัดแรก หมายเหตุ ควรแยกบรรทัดก่อนข้อมูลอื่น:
- แยกด้วยเครื่องหมายจุลภาค: sep=,
- แยกด้วยเครื่องหมายอัฒภาค: sep=;
ในทำนองเดียวกัน คุณสามารถตั้งค่าตัวคั่นแบบกำหนดเองอื่นๆ ได้ เพียงแค่พิมพ์หลังเครื่องหมายความเท่าเทียมกัน
ด้วยตัวคั่นที่เหมาะสมที่กำหนดไว้ ตอนนี้คุณสามารถเปิดตัว ไฟล์ด้วยวิธีปกติ จาก Excel เองหรือจาก Windows Explorer
ระบุตัวคั่นเมื่อนำเข้าไฟล์ CSV ไปยัง Excel
แทนที่จะเปิดไฟล์ csv ใน Excel ให้นำเข้าโดยใช้ตัวช่วยสร้างการนำเข้าข้อความ (ในทุกรุ่น) หรือ Power Query (ใน Excel 365 - 2016)
ตัวช่วยสร้างการนำเข้าข้อความ ( ข้อมูล แท็บ > จากข้อความ ) มีตัวเลือกสองสามอย่าง สำหรับตัวคั่นในขั้นตอนที่ 2 โดยทั่วไป คุณจะเลือก:
- เครื่องหมายจุลภาค สำหรับไฟล์ค่าที่คั่นด้วยเครื่องหมายจุลภาค
- แท็บ สำหรับไฟล์ข้อความ
- เครื่องหมายอัฒภาค สำหรับไฟล์ค่าที่คั่นด้วยเครื่องหมายอัฒภาค
หากคุณไม่แน่ใจว่าข้อมูลของคุณประกอบด้วยตัวคั่นใด ให้ลองใช้ตัวคั่นอื่นและดูว่าตัวใดใช้ได้ดี การแสดงตัวอย่างข้อมูล
เมื่อสร้างการเชื่อมต่อ Power Query คุณสามารถเลือกตัวคั่นในหน้าต่างโต้ตอบการแสดงตัวอย่าง:
สำหรับคำแนะนำทีละขั้นตอนโดยละเอียด โปรดดูตัวอย่างที่ลิงก์ด้านบน<3
แบ่งเซลล์โดยใช้คุณลักษณะข้อความเป็นคอลัมน์
ในกรณีที่ข้อมูลของคุณโอนไปยัง Excel แล้ว คุณสามารถแยกเซลล์ออกเป็นคอลัมน์ต่างๆ ได้โดยใช้คุณลักษณะ ข้อความเป็นคอลัมน์ โดยพื้นฐานแล้ว การทำงานเหมือนกับตัวช่วยสร้างการนำเข้าข้อความ: คุณเลือกตัวคั่นและ การแสดงตัวอย่างข้อมูล แสดงถึงการเปลี่ยนแปลงทันที:
สำหรับรายละเอียดทั้งหมด โปรด ดูวิธีแยกเซลล์ใน Excel
วิธีเก็บเลขศูนย์นำหน้าใน Excel CSV
อาการต่างๆ ค่าบางค่าในไฟล์ csv ของคุณมีเลขศูนย์นำหน้า เมื่อเปิดไฟล์ใน Excel เลขศูนย์ก่อนหน้าจะหายไป
สาเหตุ ตามค่าเริ่มต้น Microsoft Excel จะแปลงไฟล์ csv เป็นรูปแบบ ทั่วไป ซึ่งจะตัดเลขศูนย์นำหน้าออก
วิธีแก้ไข แทนที่จะเปิด ให้นำเข้า CSV ของคุณไปยัง Excel และเลือกรูปแบบ ข้อความ สำหรับคอลัมน์ที่มีปัญหา
การใช้ตัวช่วยสร้างการนำเข้าข้อความ
ในการเริ่มต้น ตัวช่วยสร้างการนำเข้าข้อความ โดยอัตโนมัติ เปลี่ยนนามสกุลไฟล์จาก .csv เป็น .txt จากนั้นเปิดไฟล์ข้อความจาก Excel หรือเปิดใช้งานคุณลักษณะจากข้อความ (เดิม) และเริ่มนำเข้า CSV ไปยัง Excel
ในขั้นตอนที่ 3 ของตัวช่วยสร้าง ให้เลือกคอลัมน์ที่มีค่าที่มีศูนย์นำหน้าและเปลี่ยนรูปแบบเป็น ข้อความ . สิ่งนี้จะนำเข้าค่าเป็นสตริงข้อความโดยเก็บเลขศูนย์นำหน้าทั้งหมดไว้
การใช้ Power Query
หากคุณต้องการนำเข้าไฟล์ csv ไปยัง Excel โดยเชื่อมต่อกับไฟล์นั้น สองวิธีในการเก็บเลขศูนย์นำหน้า
วิธีที่ 1: นำเข้าข้อมูลทั้งหมดในรูปแบบข้อความ
ในกล่องโต้ตอบแสดงตัวอย่าง ภายใต้ การตรวจหาประเภทข้อมูล ให้เลือก ตรวจไม่พบประเภทข้อมูล เนื้อหาของไฟล์ csv ของคุณจะถูกโหลดลงใน Excel เป็นข้อความ และเลขศูนย์นำหน้าทั้งหมดจะยังคงอยู่
หมายเหตุ วิธีนี้ใช้ได้ดีหากไฟล์ของคุณมีเฉพาะข้อมูล ข้อความ หากมีค่าประเภทต่างๆ กัน ให้ใช้วิธีที่ 2 เพื่อกำหนดรูปแบบที่เหมาะสมสำหรับแต่ละคอลัมน์ทีละรายการ
วิธีที่ 2: กำหนดรูปแบบสำหรับแต่ละคอลัมน์
ในกรณีที่ไฟล์ csv ของคุณมีประเภทข้อมูลต่างๆ เช่น ข้อความ ตัวเลข สกุลเงิน วันที่และเวลา คุณสามารถระบุได้อย่างชัดเจนว่า ควรใช้รูปแบบสำหรับแต่ละคอลัมน์โดยเฉพาะ
- ใต้การแสดงตัวอย่างข้อมูล คลิก แปลงข้อมูล .
- ในตัวแก้ไข Power Query ให้เลือกคอลัมน์ที่คุณ ต้องการคงเลขศูนย์นำหน้าไว้ และคลิก ประเภทข้อมูล > ข้อความ .
- ปิด & โหลด - จะโหลดผลลัพธ์ไปยังแผ่นงานใหม่ในปัจจุบันสมุดงาน
- ปิด & โหลด ถึง... - สิ่งนี้จะช่วยให้คุณตัดสินใจได้ว่าจะโหลดผลลัพธ์ที่ใด
เคล็ดลับ วิธีการเหล่านี้ยังสามารถป้องกันการจัดการอื่นๆ กับข้อมูลของคุณที่ Excel พยายามดำเนินการโดยอัตโนมัติ ตัวอย่างเช่น หากข้อมูลที่นำเข้าเริ่มต้นด้วย "=" Excel จะพยายามคำนวณให้ การใช้รูปแบบ ข้อความ แสดงว่าคุณระบุว่าค่าเป็นสตริง ไม่ใช่สูตร
วิธีแก้ปัญหารูปแบบวันที่ CSV ใน Excel
อาการต่างๆ หลังจากแปลง CSV เป็น Excel แล้ว วันที่มีรูปแบบไม่ถูกต้อง วันและเดือนสลับกัน วันที่บางวันเปลี่ยนเป็นข้อความ และค่าข้อความบางค่าจะจัดรูปแบบเป็นวันที่โดยอัตโนมัติ
สาเหตุ ในไฟล์ csv ของคุณ วันที่จะถูกเขียนในรูปแบบที่แตกต่างจากรูปแบบวันที่เริ่มต้นที่ตั้งค่าไว้ในระบบปฏิบัติการของคุณ เนื่องจาก Excel ไม่สามารถตีความวันที่ได้อย่างถูกต้อง
วิธีแก้ไข ขึ้นอยู่กับว่าคุณกำลังเผชิญกับปัญหาใด ให้ลองใช้วิธีใดวิธีหนึ่งต่อไปนี้
วันและเดือนผสมกัน
เมื่อรูปแบบวันที่ในการตั้งค่าภูมิภาคของ Windows และไฟล์ csv แตกต่างกัน ไม่มีทางที่ Excel จะระบุได้ว่าวันที่ mm/dd/yy ที่ต้องการนั้นถูกจัดเก็บไว้ในรูปแบบ dd/mm/yy ในไฟล์นั้นๆ ด้วยเหตุนี้ หน่วยวันและเดือนจึงกลับรายการ: ม.ค.-3 กลายเป็น มี.ค.-1 , ม.ค.-10 กลายเป็น ต.ค.-1 และอื่นๆ นอกจากนี้ วันที่หลังจาก ม.ค.-12 คือแปลงเป็นสตริงข้อความเนื่องจากไม่มีวันที่ 13, 14 ฯลฯ
สำหรับวันที่ที่จะนำเข้าอย่างถูกต้อง ให้เรียกใช้ Text Import Wizard และเลือกรูปแบบ วันที่ ที่เหมาะสมในขั้นตอนที่ 3 :
ค่าบางค่าจะถูกแปลงเป็นวันที่
Microsoft Excel ได้รับการออกแบบมาเพื่อให้ง่ายต่อการป้อนค่าประเภทต่างๆ ดังนั้น ถ้า Excel เชื่อว่าค่าที่ระบุเป็นวันที่ ค่านั้นจะถูกจัดรูปแบบอัตโนมัติเป็นวันที่ ตัวอย่างเช่น สตริงข้อความ apr23 ดูเหมือน 23 เมษายน และ 11/3 คล้ายกับ 3 พฤศจิกายน ดังนั้นทั้งสองค่าจึงเป็น แปลงเป็นวันที่
หากต้องการหยุดไม่ให้ Excel เปลี่ยนค่าข้อความเป็นวันที่ ให้ใช้วิธีการที่คุ้นเคยอยู่แล้ว: แปลง CSV เป็น Excel โดยการนำเข้า ในขั้นตอนที่ 3 ของ Text Import Wizard เลือกคอลัมน์ที่มีปัญหาและเปลี่ยนรูปแบบเป็น Text
จัดรูปแบบวันที่ ไม่ถูกต้อง
เมื่อเปิดไฟล์ csv ใน Excel วันที่จะแสดงในรูปแบบเริ่มต้นตามปกติ ตัวอย่างเช่น ในไฟล์ต้นฉบับของคุณ คุณอาจมี 7-พฤษภาคม-21 หรือ 05/07/21 ในขณะที่ใน Excel จะปรากฏเป็น 5/7/2021 .
หากต้องการแสดงวันที่ในรูปแบบที่ต้องการ ให้ใช้คุณสมบัติ จัดรูปแบบเซลล์ :
- เลือกคอลัมน์วันที่
- กด Ctrl + 1 เพื่อเปิดกล่องโต้ตอบ จัดรูปแบบเซลล์
- บนแท็บ ตัวเลข เลือก วันที่ ภายใต้ ประเภท .
- ภายใต้ ประเภท เลือกรูปแบบที่ต้องการ
- คลิก ตกลง
หากไม่มีรูปแบบที่กำหนดไว้ล่วงหน้าที่เหมาะกับคุณ คุณสามารถสร้าง ของคุณเองตามที่อธิบายไว้ในวิธีสร้างรูปแบบวันที่ที่กำหนดเองใน Excel
ป้องกันไม่ให้ Excel แปลงตัวเลขเป็นสัญลักษณ์ทางวิทยาศาสตร์
อาการต่างๆ หลังจากแปลง CSV เป็น Excel แล้ว ให้ลอง ตัวเลขมีรูปแบบเป็นสัญกรณ์วิทยาศาสตร์ เช่น 1234578900 ปรากฏเป็น 1.23E+09
สาเหตุ ใน Microsoft Excel ตัวเลขจะจำกัดความแม่นยำไว้ที่ 15 หลัก ถ้าตัวเลขในไฟล์ csv ของคุณเกินขีดจำกัดนั้น Excel จะแปลงเป็นสัญลักษณ์ทางวิทยาศาสตร์โดยอัตโนมัติเพื่อให้สอดคล้องกับขีดจำกัดนั้น หากตัวเลขมีเลขนัยสำคัญมากกว่า 15 หลัก หลัก "พิเศษ" ทั้งหมดที่อยู่ท้ายสุดจะเปลี่ยนเป็นศูนย์
วิธีแก้ไข นำเข้าตัวเลขยาวเป็นข้อความหรือเปลี่ยนรูปแบบตัวเลขโดยตรงใน Excel
นำเข้าตัวเลขยาวเป็นข้อความ
หากต้องการโอนตัวเลขจำนวนมากจาก CSV ไปยัง Excel ให้เรียกใช้ ตัวช่วยนำเข้าข้อความ และตั้งค่ารูปแบบของคอลัมน์เป้าหมายเป็น Text .
นี่เป็นวิธีเดียวที่จะนำเข้า ตัวเลขได้อย่างถูกต้อง strings โดยไม่สูญเสียข้อมูล เช่น โดยไม่ต้องแทนที่หลักที่ 16 และหลักถัดไปด้วย 0 หรือลบเลขศูนย์นำหน้า ใช้งานได้ดีกับรายการต่างๆ เช่น รหัสผลิตภัณฑ์ หมายเลขบัญชี บาร์โค้ด และอื่นๆ
อย่างไรก็ตาม หากค่าของคุณเป็นตัวเลข ไม่ใช่สตริง นั่นไม่ใช่วิธีที่ดีที่สุดเนื่องจากคุณจะไม่สามารถคำนวณค่าข้อความที่เป็นผลลัพธ์ได้
วิธีนี้จะช่วยป้องกันการจัดรูปแบบข้อมูลอัตโนมัติอื่นๆ ที่ไม่ต้องการเมื่อแปลงไฟล์ CSV
เปลี่ยนรูปแบบตัวเลขใน Excel
หากข้อมูลของคุณอยู่ใน Excel อยู่แล้ว คุณสามารถเปลี่ยนรูปแบบจาก ทั่วไป เป็น ข้อความ หรือ ตัวเลข ดังที่แสดงด้านล่าง:
หมายเหตุ วิธีนี้จะไม่คืนค่าเลขศูนย์หรือตัวเลขก่อนหน้าที่ถูกลบหลังจากตำแหน่งที่ 15 ที่ถูกแทนที่ด้วยเลขศูนย์
สำหรับข้อมูลเพิ่มเติม โปรดดูวิธีจัดรูปแบบเซลล์ใน Excel
ทำให้คอลัมน์กว้างขึ้น
ในกรณีที่ง่ายที่สุด เมื่อตัวเลขมีน้อยกว่า 15 หลัก ก็เพียงพอแล้วที่จะทำให้ คอลัมน์กว้างขึ้นเล็กน้อยเพื่อให้ตัวเลขแสดงตามปกติ
สำหรับรายละเอียดเพิ่มเติม โปรดดูวิธีปรับขนาดและปรับคอลัมน์ให้พอดีอัตโนมัติใน Excel
นั่นคือ วิธีแก้ไขปัญหาทั่วไปที่อาจเกิดขึ้นกับการแปลง CSV เป็น Excel ขอบคุณที่อ่าน แล้วพบกันใหม่สัปดาห์หน้า!