Excel - 셀의 텍스트를 수식이 포함된 인접 셀로 넘치게 합니다.

Excel - 셀의 텍스트를 수식이 포함된 인접 셀로 넘치게 합니다.

다른 테이블에서 가져온 데이터로 채워진 테이블이 있습니다. 내 테이블의 셀에 있는 수식은 매우 간단합니다(다른 워크시트의 셀 참조).

테이블 예시

내 테이블에는 해당 행의 인접한 셀이 항상 비어 있기 때문에 인접한 셀로 오버플로할 텍스트 값이 하나만 포함된 "제목" 행(이 경우 57행과 64행)이 있습니다.

테이블의 값을 수동으로 입력하면 문제가 없으며 셀은 아래 이미지와 같이 내가 원하는 것과 정확히 같을 것입니다.

테이블에는 데이터가 수동으로 입력된 경우가 있을 것이며 이를 원합니까?

57행의 첫 번째 셀 값은 인접한 셀에 수식이 포함되어 있기 때문에 오버플로되지 않습니다. 수식은 기본적으로 "=OtherCell"이며 OtherCell에는 값이 포함되어 있지 않습니다(구체적으로는 "" 값).

데이터가 데이터베이스에서 자동으로 추출되므로 "제목" 행의 위치가 변경되고 테이블의 많은 행에서 발생한다는 점에 유의하는 것이 중요합니다.

어떻게 해야 이 목표를 달성할 수 있나요?

  • 수동 개입을 사용하지 않고(자동 보고서이므로 생성된 다음 보고서에 오류가 있기 때문에 수식을 삭제할 수 없습니다)
  • VBA를 사용할 수 있지만 수동 개입과 ​​동일한 이유로 테이블을 "되돌릴 수 없는" 방식(다음에 시트를 계산할 때 데이터가 잘못되도록 만드는 방식)으로 수정하는 방식으로는 사용할 수 없습니다.

저는 Excel 2013을 사용하지만 이 질문은 2007+ 버전의 Excel에 적용된다고 생각합니다.

답변1

짧은 대답은 다음과 같습니다. 할 수 없습니다.

긴 대답은 정말로 빈 셀만이 왼쪽에 있는 다음 셀의 텍스트가 넘쳐서 해당 셀에 표시되도록 허용한다는 것입니다.

이것이 Excel이 작동하는 방식입니다.

만약 당신이 구체적으로들어오지 못하게 하다수동 개입, 수식 삭제, VBA 등 기본값을 적용하는 것 외에는 아무것도 남지 않았습니다. 즉, 오른쪽 셀의 수식을 사용하면 텍스트가 오른쪽으로 넘치지 않게 됩니다.

메신저를 쏘지 마세요.

답변2

정말로 그렇게 하고 싶다면, 이를 처리해야 하는 가장 왼쪽 셀에 대해 복잡한 수식을 만들 수 있습니다. 테이블의 데이터를 추가 계산에 직접 사용할 수 없으며 두 번째 및 세 번째 열은 실제로 사용되지 않아 사용자를 방해할 수 있습니다. 그러나 첫 번째 열에 데이터와 전체 항목을 표시하는 것이 효과적입니다. 이를 제거하면 사용자의 입맛에 더 잘 맞을 수 있습니다.

첫 번째 열에는 명시적인 숫자 항목과 알파 항목이 있지만 영숫자 항목이 없으므로 먼저 ISTEXT(). If NOT, then one has the current formula for that column AND the formulas for the second and third columns. One would need toTEXT()`를 사용하여 이를 테스트하고 모양에 필요한 대로 공백을 추가할 수 있지만 모양은 달성될 수 있습니다. 꽤 괜찮은 일.

테스트가 성공하면 셀은 두 번째 및 세 번째 열을 읽지 않고 현재 가지고 있는 텍스트 결과만 갖게 됩니다. 내가 이해하는 바에 따르면 아무것도 없기 때문입니다.

첫 번째/두 번째 열 사이에 지정된 수의 공백을 사용하고 두 번째/세 번째 열 사이에 다른 수를 사용한 경우 이는 다른 곳에서 사용하기 위해 테이블에서 데이터를 가져오는 데 신뢰할 수 있는 기반이 될 수 있습니다.

그러나 다른 곳에서 사용하는 경우 테이블에서 항목을 조회하는 대신 소스 데이터에서 첫 번째 수준 조회를 수행하여 이 테이블을 직접 채우는 데 사용되는 수식을 사용할 수도 있습니다. 따라서 이미 조회된 자료를 조회하는 대신 직접 조회하는 것이 좋습니다. 어떤 면에서는 조금 "더 깔끔"합니다.

답변3

VBA를 사용하면 아무것도 산출하지 않는 수식이 포함된 셀을 무효화할 수 있습니다.

Private Sub CommandButton21_Click()
    For Each c In Worksheets("yourworksheet").Range("yourrange")
        If c.Text = "" Then c.Select: Selection.ClearContents
    Next
End Sub

따라서 인접한 셀이 빈 셀 위로 확장될 수 있습니다.

답변4

원하는 모양을 얻으려면 소스 데이터를 재구성해야 합니다. 이와 같은 섹션 헤더를 사용하는 대신 해당 섹션 헤더의 값을 가져와 해당 섹션과 관련된 모든 행의 새 열에 넣으세요. 다음과 같이 보일 것입니다:

여기에 이미지 설명을 입력하세요

기본적으로 이러한 방식으로 소스 데이터를 배치할 수 없는 경우 VLOOKUP 및/또는 INDEX/MATCH를 창의적으로 사용하여 소스 데이터에서 B열이 비어 있는 행을 직접 찾을 수 있습니다.

그런 다음 이 데이터를 가져와서 요약하는 피벗 테이블을 만들면 처음에 원하는 레이아웃으로 조작할 수 있습니다. 다음은 이에 대한 모형입니다(테이블 형식 레이아웃을 사용하도록 페이지, 개정 및 설명 필드를 설정하고 모든 합계를 끄고 확장/축소 버튼 표시를 끕니다).

여기에 이미지 설명을 입력하세요

관련 정보