Excel 줄 바꿈이 메모장으로 전송되지 않는 이유는 무엇입니까?


31

Excel에서 줄 바꿈이있는 셀을 복사하여 메모장에 붙여 넣으면 텍스트가 한 줄에 붙여집니다. 왜 그런가요?


2
수퍼 유저 여러분 안녕하세요. 질문에 대한 자세한 답변을 얻을 수 있도록 가능한 한 자세하게 설명하십시오. 하는 동안 머리를 자신의 질문 물어 당신은 최고의 질문을 도움에 편리한 도움말 페이지를. Excel 2013 및 메모장 ++로 이것을 테스트했지만 정상적으로 작동하지만 Windows OS와 함께 제공되며 작동하지 않는 일반 메모장 응용 프로그램에서 설명한 문제를 복제 할 수있었습니다.
angelofdev

클립 보드는 동일한 스 니펫의 여러 특징을 지원할 수 있습니다 (원본은 텍스트의 출처에 대한 많은 메타 데이터까지). 가장 좋아하는 것을 결정하는 것은 수신 프로그램에 달려 있습니다. 메모장은 그리 똑똑하지 않습니다.
Thorbjørn Ravn Andersen

답변:


27

스프레드 시트 작동 방식으로 인해 발생합니다. 데이터로 가득 찬 스프레드 시트가 있다고 가정하십시오. 전체 데이터 행을 복사 한 다음 메모장에 붙여 넣으려면 모든 데이터가 한 줄에 있어야합니다. 다른 행의 데이터를 복사하여 붙여 넣으려면 다음 행의 데이터가 한 줄에 있어야하기 때문입니다. 복사 한 첫 번째 행에 줄 바꿈이 있으면 데이터가 더 이상 두 개의 선형 행에 있지 않습니다. 메모장에서 데이터를 복사하여 스프레드 시트에 다시 복사하면 제대로 붙여 넣지 않습니다.


6
이 답변은 잘못되었습니다. 줄 바꿈으로 텍스트를 붙여 넣은 후 메모장을 저장하십시오. 그런 다음 워드 패드로 파일을 엽니 다. 그냥 메모장의 이전 버전에서 버그 . 다른 답변 을 올바른 것으로 표시해야 합니다.
Zak

@Zak 당신이 잘못되었습니다. Excel에서 붙여 넣기가 간단한 텍스트 편집기로 작동하는 방식입니다. 링크 한 기사는 버그와 관련이 없지만 Unix 캐리지 리턴 및 줄 바꿈에 대한 지원을 추가하는 메모장에 관한 것입니다.
Keltari

4
@Keltari 사실 아니요, @Zak은 맞습니다. 어떤 이유로 Excel에서 줄 바꿈을 추가하면 (을 사용하여 Alt+Enter) 전체 0xD 0xA가 아닌 0xA 만 입력 LF됩니다 CR/LF. Excel은 이것을 해석하고 줄 바꿈을 표시하지만 일반 메모장은 예상하지 않기 때문에 줄 바꿈을 표시하지 않습니다 CR/LF. 버그 이상으로 감지되는 형식의 차이이지만 여전히 올바른 이유입니다.
ChatterOne

4
@Keltari 논쟁 할 것이 없다. 이진 편집기를 사용하여 파일에 작성된 내용을 확인하십시오.
ChatterOne

1
@Keltari 솔직히 이러한 공감대는 대부분 HNQ에 대한 답변으로 받아 들여지는 효과입니다. 다른 답변에 더 많은 사람들이 동의하는 것을 볼 수 있습니다.
kapex

45

Windows에 이미 사전 설치된 Microsoft의 기본 텍스트 편집기 인 메모장을 사용하는 경우에도 마찬가지입니다.

그러나 PSPad 또는 Notepad ++ (고급 및 무료)와 같은 고급 텍스트 편집기를 사용하면 줄 바꿈이 전송됩니다.

엑셀 :

뛰어나다

셀이 표시된 다음 메모장 ++에 복사하여 붙여 넣습니다 .

메모장 ++

메모장에 붙여 넣은 내용 (Windows 기본 편집기) :

WindowsNotpad

두 경우 모두 따옴표가 자동으로 추가되었습니다!

더 나은 편집기는 LineFeed (LF) 및 CarriageReturn (CR)과 같은 제어 문자를 표시하는 옵션도 제공합니다. 메모장 ++에서는 다음과 같습니다.

Controchars가있는 메모장 ++

결론적으로 : 필요에 따라 도구를 선택하십시오. 편집기에서 셀 경계를 유지해야하지만 셀 내용이 약간 변경 될 수있는 경우 메모장을 사용하십시오. 줄 바꿈을 포함하여 셀 내용을 그대로 유지해야하고 셀 경계의 1 : 1 재현성이 중요하지 않은 경우 다른 편집기를 사용하십시오.

이러한 데이터의 대량 처리

셀 경계와 셀 내용을 동시에 1 : 1로 유지해야하는 경우 문제가 발생할 수 있습니다.

더 지능적인 솔루션이있을 수 있지만 그런 경우 내가 한 일은 내용을 읽고 줄 바꿈을 위해 자리 표시 자 문자열을 추가하는 모든 언어 (VBA, Python 또는 가장 좋아하는 언어)로 작은 프로그램을 작성하는 것입니다. "### Linebreak ###"(나중에 CR 및 LF 제어 문자로 대체 될 수 있음) 물론,이 작업은 제대로 작동하며 많은 양의 데이터를 처리해야하는 경우에만 의미가 있습니다.

추가 된 따옴표에도 문제가 발생할 수 있습니다. 이것들은 언뜻 보면 줄 바꿈이 포함되어 있어도 셀 경계를 유지하는 데 유용 할 수 있습니다. 그러나 셀에 원래 내용의 일부인 인용 부호가있을 수 있으며 새로운 문제가 발생합니다. 이에 대한 다양한 솔루션이 있지만주의를 기울여야합니다.


12
메모장 ++ CRLF은 실제로 거기에 표시 되어 있기 때문에 LF가득 차 있다고 가정 CRLF하고 변환 하기 때문에 실제로 존재 합니다.
3D1T0R

@ 3D1T0R 줄 바꿈이없는 캐리지 리턴은 가독성에 문제가 있기 때문입니다. 공간적으로도 유쾌 할 것입니다.
Stian Yttervik

4
@ 3D1T0R : 메모장 ++ 줄 끝 설정에 따라 다릅니다. 원래 이진 형식을 유지하기 위해 "이진 붙여 넣기"가 가능하며 실제로는 LF입니다.
Thomas Weller

1
이것은 정답입니다
ChatterOne

1
Windows 10 버전 1809의 메모장에는 LF를 CR-LF 대신 줄 바꿈으로 사용할 수있는 옵션이 있습니다. 이것을 사용하면 변환은 없지만 줄 바꿈이 여전히 올바르게 표시됩니다.
Erik A

34

켈 타리답변 은 논리적 추론을 제공하는 반면,이 답변은 기술적 차이에 중점을 둡니다.

컴퓨팅에 사용되는 세 가지 다른 형태의 줄 바꿈이 있습니다.

  • 유닉스와 macOS 10.0+ 줄 끝은 줄 바꿈 문자 ( LF)를 사용합니다
  • Macintosh (macOS 10.0 이전) 줄 끝은 캐리지 리턴 문자 ( CR)를 사용합니다.
  • Windows 줄 끝은 캐리지 리턴과 줄 바꿈 문자 ( CRLF) 의 조합을 사용합니다.

이것은 타입 라이터가 작동하는 방식을 방해합니다.

Excel에서는 이러한 줄 바꿈을 조합하여 여러 줄이있는 셀을 나타냅니다.

  • 셀은 Tab문자 로 구분됩니다 .
  • 행은 CRLF문자 로 구분됩니다 .
  • 여러 줄의 셀은 LF문자 만 사용하여 각 줄을 구분 합니다.

통합 문서를 .txt파일 로 저장 하고 이러한 문자 표시를 지원하는 텍스트 편집기로 열면 나타납니다.

뛰어나다

메모장 ++

메모장 CRLF은 개행으로 만 처리 되며 무시 LF하거나 CR스스로 처리 합니다. 그들은 여전히 ​​문서에 있지만 어떤 식으로도 보이지 않습니다.

참고 : 메모장 ++은 줄 끝을 자동으로 조정하지만 일반 메모장은 그렇지 않으므로 앞뒤로 붙여 넣을 때이를 볼 수 없습니다.


3
또한이 언급해야 LF 하다 메모장 단순히 눈에 띄게를 표시하지 않고, 메모장에 붙여 넣을 때 여전히 실제로 존재. (폭이 0 인 공간과 사실상 동일하게 렌더링됩니다.) 따라서 붙여 넣은 데이터를 메모장에서 Excel로 다시 복사하면 이러한 줄 바꿈이 포함됩니다 (Excel은 행의 크기를 자동으로 조정하지는 않지만).
3D1T0R

3
이것은 Excel에서 통합 문서를 텍스트 파일로 내보내는 방법 일뿐입니다. xlsx 파일의 경우 문자열 내 줄 바꿈은 실제로로 표시됩니다 CRLF.
kapex

3
흥미롭게도, CRLF-를 "실제로"포함하는 셀을 구성하는 것은 전적으로 가능합니다 ="A"&CHAR(13)&CHAR(10)&"B". 수식으로 생성 된 줄 바꿈은 Excel에서 보이지 않지만 "붙여 넣기 값"을 통해 복사 한 후 붙여 넣으면 제대로 작동합니다. "A<CRLF>B"메모장에 수동으로 입력 하고 복사 하여 붙여 넣은 값 도 CRLF를 유지합니다.
Random832

3
@ 3D1T0R이 맞습니다. 텍스트가 "a \ nb"(여기서 "\ n"은 줄 바꿈을 나타냄)가있는 단일 Excel 셀을 메모장에 복사 해보십시오. 메모장에 "ab"가 표시됩니다 (따옴표 포함). 그러나 캐럿을 "a"앞에 놓고 키보드의 오른쪽 화살표 키를 세 번 누르면 "a"와 "b"사이에 보이지 않는 0 너비 문자가 있음을 알 수 있습니다! 실제로 Shift 키를 사용하여 선택하고 클립 보드에 복사 할 수도 있습니다!
Andreas Rejbrand

2
@AndreasRejbrand :이 기술을 여러 번 사용하여 LFEOL이있는 텍스트 파일을 빠르게 읽을 수있게했습니다. 즉,이 찾기 LF를 선택, 문자, Ctrl+ C, Ctrl+ Home, Ctrl+ F, Ctrl+ V, Enter, Esc, Enter. 그리고 반복적으로 F3, Enter끝까지. [편집 : <kbd>가 댓글에서 작동하지 않습니까?]
3D1T0R

1

Excel은 LF를 사용하여 셀 내의 새 줄을 나타냅니다. Windows는 일반적으로 줄 바꾸기에 CRLF를 사용하므로 메모장은이 줄을 줄 바꿈으로 간주하지 않습니다.

Notepad ++는 비교적 간단한 메모장보다 지능적이므로 LF를 줄 바꾸기로 해석합니다.


메모장 ++을 사용하지 않지만 호기심이 있습니다. 여러 줄 셀을 포함하는 두 개 이상의 행으로 구성된 Excel 테이블이 있고 메모장 ++에 복사하여 붙여 넣을 경우 어떻게됩니까?
Andreas Rejbrand

1
@AndreasRejbrand 여러 줄 셀이 줄 바꿈 "되고 Notepad ++는 모든 줄 끝을 일치하도록 정규화합니다. 여기를 참조 하십시오 . .txt메모장 ++ 로 다른 이름으로 저장 하고 열면 여러 줄 셀만 있습니다 LF. 여기를 참조 하십시오 .
Worthwelle
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.