Contents 호환성 문제의 정의와 증상 분류 즉시 조치 체크리스트(빠른 복구) 파일 형식별 특성과 선택 기준 버전 차이로 인한 기능 손실과 대체 전략 조직 환경 차이: 32/64비트, 추가기능, 보안 정책 CSV·텍스트 파일 호환성: 인코딩·구분 기호·서식 날짜·숫자 변형 방…
글 전체 보기- 공유 링크 만들기
- X
- 이메일
- 기타 앱
Contents 호환성 문제의 정의와 증상 분류 즉시 조치 체크리스트(빠른 복구) 파일 형식별 특성과 선택 기준 버전 차이로 인한 기능 손실과 대체 전략 조직 환경 차이: 32/64비트, 추가기능, 보안 정책 CSV·텍스트 파일 호환성: 인코딩·구분 기호·서식 날짜·숫자 변형 방…
글 전체 보기이 글의 목적은 엑셀에서 차트가 제대로 표시되지 않을 때 발생하는 다양한 원인을 체계적으로 진단하고, 즉시 적용 가능한 해결 절차와 재발 방지 팁을 제공하는 것이다.
| 증상 | 주요 원인 | 해결 방법 |
|---|---|---|
| 차트가 완전히 비어 보임 | 데이터 범위가 빈 셀만 포함, 정의 이름/테이블 참조 깨짐, 개체 표시 꺼짐 | 차트->데이터 선택에서 범위 재지정, 수식의 정의 이름 확인, 파일->옵션->고급->표시: 개체 표시를 “모두”로 전환한다. |
| 일부 계열만 누락 | 오류 값 포함, 보조축 범위 불일치, 필터/슬라이서로 계열 제외 | 오류 처리(NA() 함수 사용), 보조축 최소·최대값 자동화, 슬라이서 초기화 또는 필터 해제한다. |
| 막대가 1개로 겹쳐 보임 | 범례 항목-계열 방향 혼동, 범주 텍스트 중복, 데이터 범위가 단일 열/행 | 데이터 선택에서 “행/열 전환”, 범주 레이블 고유값 확보, 올바른 표 구조로 변환한다. |
| 축이 이상하게 표시 | 날짜가 텍스트로 인식, 로그 스케일 오남용, 음수+로그 조합 | 텍스트 날짜를 일련수로 변환, 로그 스케일 해제 또는 모든 값 양수로 정제한다. |
| 점·선이 사라짐 | 마커 크기 0, 선 두께 0, 테마 색상=배경색과 동일 | 계열 서식에서 선/마커 크기 조정, 자동 색상 대신 명시 색상 지정한다. |
| 피벗 차트가 업데이트 안 됨 | 피벗 캐시 미새로고침, 연결 해제, 데이터 모델-관계 오류 | 피벗 테이블 새로고침, 데이터 모델 검사, 관계(1:N 키) 정합성 확인한다. |
| Mac/고해상도에서 글자 깨짐 | 확장 디스플레이 배율, 폰트 대체, 하드웨어 가속 문제 | 디스플레이 배율 100~125% 시험, 시스템 폰트/차트 폰트 교체, 가속 옵션 전환한다. |
차트는 열 방향으로 계열, 행 방향으로 범주를 인식하는 구조가 기본이다. 표(Table)로 변환하면 자동 범위 확장이 안정적으로 작동한다.
=SERIES(Sheet1!$B$1,Table1[월],Table1[매출],1) 텍스트 숫자는 정렬·계산·축 스케일에서 오류를 만든다. 다음 절차로 일괄 변환한다.
=--A2 =DATEVALUE(A2) 지역 형식이 섞인 날짜는 사용자 지정 형식이 아닌 실제 일련수로 변환해야 한다.
오류 값은 계열 전체를 끊는다. 차트 옵션에서 오류 표시 방식을 제어하거나 계산 단계에서 NA()를 사용한다.
=IFERROR(계산식, NA()) 선형 차트에서 NA()는 간격을 비우고, 0은 왜곡된 추세를 만든다.
행/열이 숨겨질 때 차트가 비는 경우가 있다. 다음을 설정한다.
날짜축은 시간 간격을 균등하게 배치한다. 텍스트축은 항목을 그대로 나열한다. 잘못된 축 유형은 간격 왜곡과 겹침을 만든다.
막대+선 혼합에서 선 계열은 보조축에 올리고 표식 크기 4~6pt로 설정하면 가독성이 높아진다. 누적형과 군집형을 혼합하면 합계가 왜곡되므로 목적에 따라 분리한다.
신규 행 추가 시 차트가 자동 반영되도록 표와 동적 이름을 조합한다.
이름 관리자: 이름: rng월 참조: =OFFSET(Table1[[#Headers],[월]],1,0,COUNTA(Table1[월]),1)
이름: rng매출
참조: =OFFSET(Table1[[#Headers],[매출]],1,0,COUNTA(Table1[매출]),1)
동적 배열을 사용한다면 TAKE, DROP, FILTER로 최근 N개만 차트에 연결한다.
=LET(d,Table1[[월]:[매출]], FILTER(d, ROW(d)>=ROWS(d)-11)) 수동 계산 모드에서는 차트가 최신 데이터로 갱신되지 않는다. 파일->옵션->수식에서 “자동 계산”으로 설정한다. 대용량 파일은 AGGREGATE, SUMIFS 등 비휘발 함수로 교체하고 INDIRECT, OFFSET 의 과도한 사용을 억제한다.
차트가 도형 뒤에 가려져 보이지 않을 수 있다. 차트를 선택하고 “가져오기/보내기”에서 “맨 앞으로 가져오기”를 수행한다. 파일->옵션->고급->표시에서 “개체 표시”를 “모두”로 설정한다.
그래픽 드라이버·가속 설정과 특정 추가 기능이 렌더링 결함을 유발할 수 있다.
자동 레이아웃은 데이터 변화에 따라 의도치 않은 겹침을 유발한다. 축 최소/최대값, 주요 눈금 간격, 마커 크기, 데이터 레이블 위치를 명시적으로 지정한다.
센서 데이터처럼 간헐 오류가 있을 때는 NA()로 비우고 표시 옵션을 “선 연결”로 설정하여 시각적 연속성을 확보한다. 과도한 보간은 추세 왜곡을 초래하므로 레이블로 “보간” 여부를 명시한다.
텍스트 숫자·날짜 변환, 최근 12개월 동적 차트, 오류 억제 수식의 표준 예시이다.
' 텍스트 숫자 변환 =--SUBSTITUTE(A2,",","")
' 최근 12개월만 표시
=LET(d, SORTBY(Table1, Table1[월], 1), TAKE(d, 12))
' 오류를 공백 대신 NA()로
=IF(ISNUMBER(X2), X2, NA())
정의 이름/표 구조가 바뀌어 계열 참조가 끊겼을 때 일괄 복구하는 스켈레톤 코드이다.
Option Explicit Sub RepairChartSeries() Dim co As ChartObject, s As Series Dim ws As Worksheet, lastRow As Long Set ws = ThisWorkbook.Worksheets("Sheet1") lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
For Each co In ws.ChartObjects
For Each s In co.Chart.FullSeriesCollection
' 열 머리글 기반으로 X,Y 범위 재지정
s.XValues = ws.Range("A2:A" & lastRow)
If s.Name = "매출" Then
s.Values = ws.Range("B2:B" & lastRow)
ElseIf s.Name = "원가" Then
s.Values = ws.Range("C2:C" & lastRow)
End If
Next s
' 보조축 일관화
On Error Resume Next
co.Chart.Axes(xlValue, xlSecondary).MaximumScaleIsAuto = True
co.Chart.Axes(xlValue, xlSecondary).MinimumScaleIsAuto = True
On Error GoTo 0
Next co
End Sub
| 항목 | 체크 방법 | 통과 기준 | 빈도 |
|---|---|---|---|
| 표 구조 | Table1로 변환 여부 확인 | 머리글 고유, 합계행 제외 | 매 업데이트 |
| 데이터 유형 | ISTEXT/ISNUMBER 샘플 검사 | 숫자·날짜는 숫자형 | 매 업데이트 |
| 오류 값 | 조건부 서식으로 오류 탐지 | 오류=NA() 처리 | 매 업데이트 |
| 축 설정 | 축 유형·눈금 간격 확인 | 명시 값 또는 자동 적합 | 분기 |
| 성능 | 재계산 시간 측정 | 지연 < 2초 | 분기 |
해당 월 값이 오류 또는 텍스트 숫자일 가능성이 높다. ISTEXT로 유형을 확인하고 VALUE로 변환하거나 IFERROR로 NA() 처리한다.
빈 구간이 생기면 선형 차트가 비게 된다. “숨겨진 행과 열의 데이터 표시”를 켜고 빈 셀 표시를 “선 연결”로 설정한다.
가능하면 단위 정규화 후 단일 축을 사용한다. 꼭 필요하면 보조축 최소·최대를 명시하고 축 제목에 단위를 표기한다.
피벗 테이블과 차트를 모두 새로 고침한다. 데이터 모델 관계 오류나 캐시 고정도 점검한다.
페이지 레이아웃의 인쇄 영역과 여백을 조정하고 차트를 이동/크기 조절하여 인쇄 영역 내로 배치한다.