เมื่อคัดลอกเซลล์ที่มีตัวแบ่งบรรทัดใน Excel และวางลงใน Notepad ข้อความจะถูกวางลงบนหนึ่งบรรทัด ทำไมถึงเป็นอย่างนั้น?
เมื่อคัดลอกเซลล์ที่มีตัวแบ่งบรรทัดใน Excel และวางลงใน Notepad ข้อความจะถูกวางลงบนหนึ่งบรรทัด ทำไมถึงเป็นอย่างนั้น?
คำตอบ:
เนื่องจากลักษณะของการทำงานของสเปรดชีต ลองนึกภาพคุณมีสเปรดชีตที่เต็มไปด้วยข้อมูล หากคุณต้องการคัดลอกข้อมูลทั้งแถวให้วางลงใน Notepad ข้อมูลทั้งหมดนั้นต้องอยู่ในบรรทัดเดียว นี่เป็นเพราะหากคุณต้องการคัดลอกแถวข้อมูลอีกแถวหนึ่งและวางแถวนั้นแถวถัดไปของข้อมูลจะต้องอยู่ในบรรทัดเดียว หากมีตัวแบ่งบรรทัดในแถวแรกที่คุณคัดลอกข้อมูลจะไม่อยู่ในแถวเชิงเส้นสองแถวอีกต่อไป หากคุณต้องการคัดลอกข้อมูลออกจาก Notepad และกลับสู่สเปรดชีตมันจะไม่ถูกวางอย่างถูกต้อง
Alt+Enter
) เพียง 0xA ถูกป้อนไม่เต็ม 0xD 0xA ซึ่งหมายความว่าแทนLF
CR/LF
Excel ตีความนี้และแสดงเส้นแบ่งในขณะที่ Notepad CR/LF
ธรรมดาไม่ได้เพราะคาดว่า มันมีความแตกต่างในรูปแบบที่ตรวจพบมากกว่าข้อบกพร่อง แต่ก็เป็นเหตุผลที่ถูกต้อง
สิ่งนี้เป็นจริงเมื่อคุณใช้ Notepad ซึ่งเป็นตัวแก้ไขข้อความพื้นฐานของ Microsoft ที่ติดตั้งไว้แล้วใน Windows
อย่างไรก็ตามคุณสามารถใช้โปรแกรมแก้ไขข้อความขั้นสูงเช่น PSPad หรือ Notepad ++ (ทั้งดีและฟรี) และคุณจะได้รับการแบ่งบรรทัดของคุณ
Excel :
ทำเครื่องหมายเซลล์แล้วคัดลอกวางลงในNotepad ++ :
เนื้อหาเดียวกันวางลงในNotepad (ตัวแก้ไขค่าเริ่มต้นของ Windows):
โปรดทราบว่าในทั้งสองกรณีเครื่องหมายคำพูดจะถูกเพิ่มโดยอัตโนมัติ!
บรรณาธิการที่ดีกว่าจะให้ตัวเลือกในการแสดงอักขระควบคุมเช่น LineFeed (LF) และ CarriageReturn (CR) ใน Notepad ++ ดูเหมือนว่า:
โดยสรุป: เลือกเครื่องมือของคุณขึ้นอยู่กับความต้องการของคุณ หากคุณต้องการขอบเขตของเซลล์ที่เก็บรักษาไว้ในเครื่องมือแก้ไข แต่เนื้อหาของเซลล์อาจเปลี่ยนแปลงเล็กน้อยให้ใช้ Notepad หากคุณต้องการเนื้อหาของเซลล์ที่ไม่มีการแตะต้องรวมถึงการขึ้นบรรทัดใหม่และการทำซ้ำขอบเขตเซลล์ 1: 1 ไม่สำคัญให้ใช้เครื่องมือแก้ไขอื่น
การประมวลผลข้อมูลจำนวนมาก
หากคุณต้องการทั้งเส้นขอบของเซลล์และเนื้อหาของเซลล์ที่เก็บรักษาไว้ 1: 1 ในเวลาเดียวกันคุณอาจพบปัญหา
อาจมีวิธีแก้ปัญหาที่ชาญฉลาดกว่า แต่สิ่งที่ฉันทำในกรณีเช่นนี้คือการเขียนโปรแกรมเล็ก ๆ ในภาษาใดก็ได้ (VBA, Python หรืออะไรก็ตามที่คุณชอบมากที่สุด) ที่อ่านเนื้อหาและเพิ่มสตริงตัวยึดสำหรับการแบ่งบรรทัด "### Linebreak ###" ซึ่งในภายหลังสามารถถูกแทนที่ด้วยอักขระควบคุม CR และ LF อีกครั้งแน่นอนว่านี่เป็นการทำงานที่เล่นแร่แปรธาตุแล้วและเหมาะสมถ้าคุณต้องประมวลผลข้อมูลจำนวนมาก
คุณอาจพบปัญหากับเครื่องหมายคำพูดที่เพิ่มเข้ามา ภาพรวมเหล่านี้อาจเป็นประโยชน์ในการรักษาขอบเขตของเซลล์แม้เมื่อรวมตัวแบ่งบรรทัด อย่างไรก็ตามเซลล์ของคุณอาจมีเครื่องหมายอัญประกาศเป็นส่วนหนึ่งของเนื้อหาต้นฉบับแล้วคุณจะพบปัญหาใหม่ มีวิธีแก้ไขปัญหาต่าง ๆ สำหรับเรื่องนี้แล้ว แต่มันต้องการความสนใจของคุณ
CR
LF
ว่ามีจริงเพราะมันเห็นLF
และถือว่ามันควรจะเป็นแบบเต็มCR
LF
และแปลงมัน
คำตอบของKeltariให้เหตุผลเชิงตรรกะในขณะที่คำตอบนี้มุ่งเน้นไปที่ความแตกต่างทางเทคนิค
มีการแบ่งบรรทัดในสามรูปแบบที่แตกต่างกันในการใช้งานในการคำนวณ:
LF
)CR
)CRLF
)นี่คือการระงับจากวิธีการทำงานของนักเขียนประเภท
Excel ใช้การรวมตัวแบ่งบรรทัดเหล่านี้เพื่อแสดงเซลล์ที่มีหลายบรรทัด:
Tab
อักขระCRLF
อักขระLF
ตัวละครสิ่งนี้จะปรากฏขึ้นเมื่อคุณบันทึกเวิร์กบุ๊กเป็น.txt
ไฟล์และเปิดด้วยโปรแกรมแก้ไขข้อความที่รองรับการแสดงตัวอักษรเหล่านี้
Notepad จะประมวลผลCRLF
เป็นบรรทัดใหม่และไม่สนใจLF
หรือCR
ด้วยตนเองเท่านั้น พวกเขายังอยู่ในเอกสาร แต่ไม่สามารถมองเห็นได้ในทางใดทางหนึ่ง
หมายเหตุ:คุณจะไม่เห็นสิ่งนี้เมื่อวางกลับไปกลับมาเนื่องจาก Notepad ++ จะปรับเปลี่ยนจุดสิ้นสุดบรรทัดโดยอัตโนมัติในขณะที่แผ่นจดบันทึกปกติจะไม่แสดง
LF
มีอยู่จริงเมื่อวางในแผ่นจดบันทึกแผ่นจดบันทึกจะไม่แสดงอย่างเห็นได้ชัด (มันแสดงผลได้อย่างมีประสิทธิภาพเหมือนกับพื้นที่ว่างที่มีความกว้างเป็นศูนย์) ดังนั้นทำไมการคัดลอกข้อมูลที่วางกลับออกจาก notepad ลงใน Excel จะมีตัวแบ่งบรรทัดเหล่านี้ (แม้ว่า Excel จะไม่ปรับขนาดแถวให้โดยอัตโนมัติ)
CRLF
แบ่งสายภายในสตริงจะแสดงจริงโดย
="A"&CHAR(13)&CHAR(10)&"B"
- ตัวแบ่งบรรทัดที่ผลิตโดยสูตรไม่สามารถมองเห็นได้ใน excel แต่ทำงานได้ดีถ้าคัดลอกแล้ววางผ่าน "วางค่า" ค่าที่วางจากการพิมพ์ด้วยตนเอง"A<CRLF>B"
ในแผ่นจดบันทึกและการคัดลอกจะยังคงอยู่ใน CRLF
LF
EOL อ่านได้อย่างรวดเร็ว คือหาLF
ตัวเลือกCtrl
+ C
, Ctrl
+ Home
, Ctrl
+ F
, Ctrl
+ V
, Enter
, ,Esc
Enter
จากนั้นซ้ำ ๆF3
, Enter
จนจบ [แก้ไข: <kbd> ไม่ทำงานในความคิดเห็นใช่ไหม]
Excel ใช้ LF เพื่อแสดงบรรทัดใหม่ภายในเซลล์ Notepad ไม่ถือว่านี่เป็นบรรทัดใหม่เนื่องจาก Windows โดยทั่วไปใช้ CRLF สำหรับบรรทัดใหม่
Notepad ++ ฉลาดกว่า Notepad ที่ค่อนข้างง่ายและตีความ LF เป็นบรรทัดใหม่เช่นกัน
"
และ Notepad ++ จะทำให้การจบบรรทัดทั้งหมดเป็นปกติ ดูที่นี่ หากคุณบันทึกเป็น.txt
และเปิดใน Notepad ++ แทนเซลล์หลายเส้นจะมีLF
เท่านั้น ดูที่นี่