Excel-셀 텍스트가 다음 (빈) 셀로 넘치지 않도록 방지


71

Excel 셀에 텍스트가 너무 길어서 해당 셀의 표시 영역에 표시 할 수없고 오른쪽의 다음 셀이 비어있는 경우 Excel에서 해당 텍스트를 다음 셀 (및 다음 셀 및 필요에 따라 다음). 나는 이것을 바꾸고 싶다; 이 텍스트 오버플로를 피하고 싶습니다.

"단어 줄 바꿈"을 활성화하고 행 높이를 조정하면이 문제를 피할 수 있습니다. 그러나 그것은 내가 원하는 것이 아닙니다.

Excel의 DEFAULT 동작을 변경하여 해당 셀의 표시 영역에만 각 셀의 값을 표시하려고합니다. 오버플로, 단어 줄 바꿈 없음.

이게 가능해? (저는 Excel 2010을 사용하고 있습니다.)


5
가능하지 않다고 판명되면 빈 셀에 공백 문자를 사용할 수 있습니다.
Aprillion

꽤 흥미로운-WordWrap, Font-AutoSize 또는 다른 셀의 문자를 사용하는 것 외에 다른 방법을 모르겠습니다.
Jook

1
모든 셀을 선택하고 Data / Text to Columns줄 바꿈 / 오버플로없이 셀에 맞을 수있는 문자 수만큼 줄 바꿈을 지정 하여 추가 문자를자를 수 있습니다 . 추가 문자를 보유한 추가 열 을 건너 뛰 십시오!
Karan

나는 이것이 당신의 질문에 대답 할 것이라고 생각합니다 : superuser.com/a/878605/497156
Sulaiman

""단어 줄 바꿈 "을 활성화하고 행 높이를 조정하면이를 피할 수 있습니다." 감사! 이것이 내가 선택한 솔루션입니다.
Ochado

답변:


4

모든 사람에게 제공되는 옵션은 아니지만 문서를 Google 스프레드 시트로 가져 오는 경우이 기능이 기본적으로 지원됩니다. 상단 메뉴 모음에서 세 가지 유형의 텍스트 줄 바꿈이 지원됩니다. 오버 플로우, 랩 및 클립. 당신은 클립을 찾고 있습니다.

요구 사항에 따라 일부 사람들에게는이 옵션이 적합 할 수 있습니다.


5
그래서 당신의 대답은 실제로 Excel을 떨어 뜨리고 Google 시트와 함께한다고 말합니다.
Solar Mike

내가 말했듯이, 모든 사람을위한 옵션은 아니지만 일부에게는 좋은 해결책 일 수 있습니다.
yellavon

@SolarMike-감사합니다. 혼란 스러웠지만 귀하의 의견은이 답변을 정리합니다. & yellavon은 사람들이 자신의 답변을 듣지 않을 것이라고 생각하고 실제로 답변을 설명하기 전에 방어 적이라고 생각합니다. 귀하의 의견은 실제 게시 된 답변과 비교하여 더 간결합니다.
barrypicker 2018 년

실제로 이것은 실제 솔루션에 가장 가까운 해답입니다. 나는 Excel에서 이와 비슷한 것을 할 수 있다고 생각했습니다. 열을 필요한 너비로 조정 한 다음 열에서 워드 워프를 활성화하면 (모든 행 높이가 증가 함) 마지막으로 모든 행을 선택하고 행 높이를 원하는 높이로 조정하십시오. 짜잔! 이제 셀에 인접한 셀로 넘치지 않는 텍스트가 있습니다 (@yellavon : 답변을 수락하겠습니다.이 EXcel 동작을 포함하도록 업데이트하여 사람들이 더 쉽게 솔루션에 액세스 할 수 있도록 할 수 있습니다)
e-mre

49

예,이 동작을 변경할 수 있지만 이로 인한 부작용은 원하지 않을 것입니다.

인접한 셀에 데이터가 포함되어 있는지 여부에 관계없이 셀 내용을 셀 경계로 제한하는 열쇠는 텍스트 정렬 Fill입니다. 넘치지 않을 셀을 선택하고 마우스 오른쪽 버튼으로 클릭> 셀 서식 ... > 정렬 탭 > 가로 정렬 > 채우기

이 방법 의 문제점 은 셀에 여러 번 들어갈 수있을 정도로 짧을 때 내용을 반복하여 셀을 실제로 채울 수 있다는 것 입니다. 이것이 의미하는 바는 아래 스크린 샷을 참조하십시오. (즉,이 참고 B7된다 채워진 '짧은 텍스트'로.)

기본 및 채우기에 대한 다른 텍스트 정렬 동작을 보여주는 스크린 샷

Benedikt의 게시물 에서 해결 방법을 고수하는 것처럼 보입니다.

'베네딕트의 첫 번째 영리한 방법을 사용하여 틱 문자 ( )로 인접한 셀을 채울 수도 있습니다 . 이렇게하면 아무것도 숨길 필요가 없으며 셀 오버플로를 방지하고 셀을 텍스트로 복사하면 (메모장이라고 말하면) 공백이나 틱이 아닌 빈 텍스트가 표시됩니다.


2
그래서 베네딕트의 방법에 따라 '캐릭터를 비우는 방법을 제안했습니다 . 이제 나는 당신의 대답이나 그 또는 무엇을 찬성해야하는지 모르겠습니다! :-p
Dan Henderson

더 혼란 스러워요. '오래된 편집을 포함하여 베네딕트의 대답에 사용할 제안이 전혀 없습니다 ! 나는 단지의 경우, 둘 다 upvoted했습니다 ...
user56reinstatemonica8

1
@ user568458 : 내 노트는 실제로 Benedikt의 답변의 변형이었습니다. 베네딕트가 제안한대로 셀 을 채우는 ' 대신 셀 을 채울 수 있습니다 N/A. 방금 모든 빈 셀 을 임의의 값 으로 채우는 Benedikt의 방법을 매우 강력하게 발견했습니다.
Marcus Mangelsdorf

1
'채우기'는 숫자도 왼쪽 정렬되도록합니다.
posfan12

어떻게 ... 놀랍게 바보입니다. (Excel,이 답변이 아닙니다.)
TJ Crowder

26

내가하는 방법은 다음과 같습니다.

  1. 옵션 1 : 빈 셀을 모두 "N / A"로 채운 다음 조건부 서식을 사용하여 텍스트를 보이지 않게하십시오.
  2. 또는 옵션 2 : 빈 셀을 모두 0으로 채우고 Excel 설정을 사용하여 0 값을 숨 깁니다.

모든 빈 셀 채우기 : (Mac에서 테스트)

  • 편집 → 이동 ... → 특수 ... (Windows : 홈 → 편집 → 찾기 및 선택 → 특수 이동 ...)
  • "공백"을 선택하고 확인을 누르십시오.
  • 빈 셀이 모두 선택되었습니다. 아무 것도 클릭하지 마십시오.
  • "N / A"또는 0을 입력 한 다음 Ctrl+ Enter 를 누르십시오 . 선택한 모든 셀에 값이 삽입됩니다 .

"N / A"를 숨기기위한 조건부 서식

  • 형식 → 조건부 서식.
  • 새로운 규칙을 만듭니다.
  • 스타일 : 클래식 및 수식을 사용하여 서식을 지정할 셀을 결정합니다.
  • 공식: =A1="N/A"
  • 형식 : 사용자 정의 형식 : 글꼴 색 흰색, 채우기 없음.

제로 숨기기

  • 엑셀 → 설정 →보기.
  • "0 값 표시"를 선택 취소하십시오.

_______________
  그건 Ctrl+ Enter, 하지 Ctrl+ Shift+Enter .


13

오버플로를 원하지 않는 인접한 셀에 수식 = ""(큰 따옴표 두 개)을 입력하십시오. 이것은 "null"로 평가되며 아무것도 표시하지 않으며 수학에는 영향을 미치지 않습니다.


1
Benedikt의 게시물과 결합하면 아무것도 숨길 필요가 없으므로 가장 쉬운 솔루션 중 하나라고 생각합니다.
Matt

이것은 나를 위해 가장 잘 작동했습니다.
Peter

통계 함수에 영향을주는 경우 COUNTA, 비어 있지 않은 범위의 셀 수계산합니다 . 수식 결과로 길이가 0 인 문자열을 표시하는 셀은 비어 있지 않으며 계산됩니다.
심오한

4

셀에 가로 텍스트 맞춤 "채우기"를 사용하십시오. 문제를 해결해야하는 다른 정렬 옵션과 같은 위치에서 찾을 수 있습니다.

채우기 텍스트 정렬


4
Marcus Mangelsdorf의 답변에서 다루지 않았습니까 ?
Stevoisiak

8
또한 Marcus는이 방법의 심각한 문제를 설명합니다. 셀의 내용이 짧으면 복제됩니다. 따라서 "A"는 "AAAAAAAA"가됩니다.
Blackwood

감사합니다 셀을 마우스 오른쪽 버튼으로 클릭하고 다시 서식을 지정하고 "셀 서식"을 선택한 다음 나머지는 지침으로 수행하십시오. 효과가있었습니다.
Catbuilts

4

인접한 빈 셀에 텍스트가 쏟아져 나오는 Excel 의 오른쪽 유출 '을 차단 하는 사용 솔루션을 확장 하면 때로는 해당 값을 삽입하여 데이터 열을 수정 / 손상하지 않으려는 경우가 있습니다.

'실제 데이터 값 에을 삽입하는 대신 '문자 전체로 완전히 채워진 새로운 전용 세로 열을 만들 수 있습니다 .

1. 배리어 칼럼

여기에 이미지 설명을 입력하십시오

2. 보호하려는 열의 왼쪽에 "배리어"열을 삽입하십시오.

여기에 이미지 설명을 입력하십시오

3. 열 너비를 작은 값으로 설정하여 장벽 열 축소

열 너비를와 같은 값으로 설정 .1하거나 여백 또는 열 간 공백으로 작동하도록 장벽 열을 더 넓게 유지하십시오.

여기에 이미지 설명을 입력하십시오

너비를 0보다 크게 설정해야합니다. 세로 배리어 열 너비를 0으로 설정하면 원하지 않는 셀 오버플로 동작으로 되돌아갑니다.

4. 짜잔!


1

Excel에서 열을 필요한 너비로 조정 한 다음 해당 열에서 워드 워프를 활성화하면 (모든 행 높이가 증가 함) 마지막으로 모든 행을 선택하고 행 높이를 원하는 높이로 조정합니다. 짜잔! 이제 인접 셀로 넘치지 않는 셀에 텍스트가 있습니다.

(참고 :이 답변을 찾아 선택한 답변에 댓글로 게시했지만 답변으로 게시하면 다른 사람들이 쉽게 찾을 수 있습니다.)


1
질문의 두 번째 단락 : ""단어 줄 바꿈 "을 활성화하고 행 높이를 조정하여이 문제를 피할 수 있다는 것을 알고 있습니다. 그러나 이것이 내가 원하는 것이 아닙니다."
fixer1234

0

Google 스프레드 시트가 모든 사람을위한 것은 아니라는 생각과 마찬가지로이 매크로는 모든 사람을위한 것이 아니라 누군가를위한 것일 수도 있습니다 .

선택한 범위를 통과하고 넘친 셀을 잘린 텍스트로 바꿉니다.

플래그는 다음을 결정합니다.

  • 문제가되는 텍스트는 새 워크 시트에서 같은 상대 주소로 복사되거나 삭제됩니다.

  • 잘린 텍스트는 하드 코딩되거나 워크 시트 수식을 통해 연결됩니다 =LEFT()

  • 잘린 텍스트는 새 시트의 전체 문자열로 하이퍼 링크됩니다.

기본값은 데이터를 유지하고 두 링크를 모두 사용하는 것입니다.

Option Explicit

Sub LinkTruncatedCells()
    Dim rng As Range: Set rng = Selection
    Dim preserveValues As Boolean: preserveValues = True
    Dim linkAsFormula As Boolean: linkAsFormula = True
    Dim linkAsHyperlink As Boolean: linkAsHyperlink = True
    Dim w As Single
    Dim c As Range
    Dim r As Range
    Dim t As Long
    Dim l As Long
    Dim s As String
    Dim ws As Worksheet
    Dim ns As Worksheet
    Application.ScreenUpdating = False
    Set ws = rng.Parent
    For Each c In rng.Columns
        w = c.ColumnWidth
        t = 0
        l = 0
        For Each r In c.Rows
            If Len(r) > l Then
                s = r
                If CBool(l) Then r = Left(s, l)
                Do
                    r.Columns.AutoFit
                    If r.ColumnWidth > w And Len(s) > t Then
                        t = t + 1
                        r = Left(s, Len(s) - t)
                        l = Len(r)
                    End If
                Loop Until t = Len(s) Or r.ColumnWidth <= w
                r.ColumnWidth = w
                If r <> s And preserveValues Then
                    If ns Is Nothing Then
                        Set ns = ws.Parent.Worksheets.Add(after:=ws)
                    End If
                    ns.Range(r.Address) = s
                    If linkAsFormula Then r.Formula = "=LEFT(" & ns.Name & "!" & r.Address & "," & l & ")"
                    If linkAsHyperlink Then ws.Hyperlinks.Add Anchor:=r, Address:="", SubAddress:= _
                            ns.Range(r.Address).Address(external:=True)
                End If
            End If
        Next r
    Next c
    ws.Activate
    Application.ScreenUpdating = True
End Sub

마지막 참고 사항 : 개인 프로젝트에 사용했으며 신뢰할 수 있음을 알았지 만 익숙하지 않은 매크로를 시도하기 전에 작업을 저장하고 백업하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.