
엑셀에서 매출 데이터를 정리할 때 가장 많이 쓰던 방식은 수식과 피벗테이블이었습니다. 처음에는 이 방식이 익숙해서 가장 빠르다고 생각했습니다. 하지만 파일이 많아지고 행 수가 늘어나면서 참조 범위 오류, 필터 누락, 피벗테이블 재생성 문제가 계속 생겼습니다. 그래서 2026년 3월 3일부터 2026년 4월 1일까지 30일 동안 Microsoft 365 Excel의 파이썬 내장 기능을 실제 매출 분석 작업에 적용해봤습니다.
사용 환경은 Windows 11, Microsoft 365 Excel, RAM 16GB 노트북이었고, 분석 대상은 매출 CSV 파일이었습니다. 분석한 엑셀 파일 수는 총 18개였고, 전체 데이터 행 수는 124,600행, 전체 열 수는 46개였습니다. 가장 큰 파일 크기는 38MB였습니다. 단순히 기능을 켜보고 끝낸 것이 아니라, 기존 엑셀 수식과 파이썬 코드 셀을 번갈아 사용하면서 어느 작업에서 오류가 줄어드는지 직접 기록했습니다.
처음에는 모든 계산을 파이썬으로 바꾸려고 했다
처음에는 파이썬 기능을 쓰면 엑셀 수식을 거의 대체할 수 있을 줄 알았습니다. 기존에는 파일당 평균 27개의 엑셀 수식을 사용했습니다. 매출 합계, 월별 집계, 카테고리별 평균, 결측값 확인, 비정상 금액 확인, 상위 매출 항목 추출까지 대부분 수식으로 처리했습니다.
하지만 실제로 해보니 모든 작업을 파이썬으로 바꾸는 것은 오히려 불편했습니다. 간단한 합계나 필터는 엑셀 수식이 더 빠르게 느껴졌고, 동료에게 공유할 때도 일반 수식이 이해하기 쉬웠습니다. 그래서 최종적으로는 반복 계산과 데이터 점검 중심으로만 파이썬을 사용했습니다. 파이썬 코드 셀로 대체한 계산 항목은 11개였습니다.
가장 효과가 컸던 작업은 반복 집계와 오류 점검이었다
가장 많이 사용한 작업은 결측값 확인, 월별 매출 집계, 이상치 탐지, 카테고리별 평균 계산, 간단한 차트 데이터 생성이었습니다. 특히 파일이 18개로 나뉘어 있을 때 같은 수식을 매번 복사하는 과정에서 오류가 자주 났습니다.
기존에는 수동 피벗테이블 생성 횟수가 36회였습니다. 월별, 카테고리별, 지역별로 피벗테이블을 새로 만들다 보니 같은 작업을 반복했습니다. 파이썬 적용 후에는 수동 피벗테이블 생성 횟수가 12회로 줄었습니다. 완전히 없앤 것은 아니지만, 반복 집계 초안은 파이썬으로 만들고 최종 보고용 표만 피벗테이블로 정리하는 방식이 더 편했습니다.
엑셀 수식 방식과 파이썬 방식 비교표
| 분석 작업 | 기존 엑셀 방식 | 파이썬 적용 방식 | 걸린 시간 | 오류 발생 여부 | 실제 체감 |
|---|---|---|---|---|---|
| 월별 매출 합계 | SUMIFS와 피벗테이블 반복 생성 | 날짜 열을 월 단위로 변환 후 groupby 집계 | 평균 9분 → 4분 | 수식 범위 누락 감소 | 반복 파일 분석에서 가장 편했음 |
| 결측값 확인 | 필터로 빈칸 확인 | 열별 결측값 개수 자동 계산 | 평균 6분 → 2분 | 누락 확인 오류 감소 | 46개 열을 한 번에 점검할 수 있었음 |
| 카테고리별 평균 | AVERAGEIF 수식 여러 개 작성 | 카테고리 기준 평균 계산 | 평균 7분 → 3분 | 참조 오류 감소 | 카테고리명이 많을수록 파이썬이 유리했음 |
| 이상치 탐지 | 조건부 서식과 필터 사용 | 평균 대비 큰 값 자동 추출 | 평균 8분 → 5분 | 기준 누락 일부 감소 | 검토 대상 목록을 빠르게 만들 수 있었음 |
| 상위 10개 항목 추출 | 정렬 후 복사 | 매출 기준 상위 10개 추출 | 평균 5분 → 2분 | 정렬 범위 실수 감소 | 보고서용 후보를 뽑기 쉬웠음 |
| 차트용 데이터 생성 | 피벗테이블 후 차트 연결 | 요약 테이블 생성 후 차트 시트로 이동 | 평균 7분 → 4분 | 차트 범위 오류 감소 | 최종 시각화는 엑셀이 더 편했음 |
짧게 사용한 코드 예시
코드는 길게 쓰지 않았습니다. 엑셀을 주로 쓰는 입장에서 너무 복잡한 코드를 넣으면 나중에 다시 보기 어렵기 때문입니다. 실제로 자주 쓴 코드는 아래 정도였습니다.
# 월별 매출 합계 계산
df.groupby("월")["매출"].sum()
# 결측값 개수 확인
df.isna().sum()
# 카테고리별 평균 계산
df.groupby("카테고리")["매출"].mean()
# 상위 10개 항목 추출
df.sort_values("매출", ascending=False).head(10)
이 정도 코드만으로도 반복 작업이 꽤 줄었습니다. 다만 파이썬을 완전히 모르면 처음에는 결과가 어디에 표시되는지, 기존 셀과 어떻게 연결되는지 헷갈릴 수 있었습니다.
가장 큰 실패: 파이썬 결과를 일반 셀처럼 생각했다
가장 큰 실패는 파이썬 결과를 일반 셀처럼 생각하고 기존 수식과 섞은 일이었습니다. 파이썬 분석 결과를 옆 셀에서 바로 참조하면 될 줄 알았는데, 출력 구조가 바뀌면서 참조 범위가 어긋났습니다.
예를 들어 월별 매출 집계 결과가 처음에는 12행으로 나왔는데, 특정 파일에서는 데이터가 10개월치만 있어서 결과 행 수가 달라졌습니다. 기존 수식은 12행 기준으로 작성되어 있었기 때문에 아래쪽 빈 셀을 잘못 참조했습니다. 이 때문에 결과 시트에서 합계가 맞지 않는 문제가 생겼습니다.
이후에는 파이썬 결과를 바로 기존 수식에 연결하지 않았습니다. 먼저 파이썬 분석 시트에 결과를 만들고, 필요한 값만 결과 시트로 옮겼습니다. 이 방식이 조금 번거로워 보여도 오류는 훨씬 줄었습니다.
한글 카테고리명이 깨져 2개 파일을 다시 불러왔다
또 다른 실패는 원본 CSV 인코딩 문제였습니다. 매출 파일 중 2개에서 한글 카테고리명이 깨졌습니다. 처음에는 엑셀 화면에서만 깨진 줄 알았는데, 파이썬 분석 결과에서도 카테고리명이 이상하게 표시됐습니다.
이 상태로 집계를 돌리면 같은 카테고리인데 서로 다른 값처럼 분리됐습니다. 결국 2개 파일을 다시 불러왔고, 원본 CSV 인코딩을 확인한 뒤 처리했습니다. 이 경험 이후에는 파일을 열자마자 카테고리명, 날짜, 금액 열이 정상적으로 보이는지 먼저 확인했습니다.
시트를 4개로 분리하니 오류가 줄었다
개선 방식 중 가장 효과가 컸던 것은 시트 구조를 고정한 것입니다. 처음에는 원본 데이터, 수식, 피벗테이블, 파이썬 결과가 한 시트에 섞였습니다. 보기에는 한 화면에서 확인할 수 있어 편했지만, 수정할 때마다 참조가 꼬였습니다.
이후에는 파일별 분석 순서를 고정했습니다.
- 원본 시트
- 정리 시트
- 파이썬 분석 시트
- 결과 시트
원본 시트에는 CSV를 그대로 두고, 정리 시트에서 날짜 형식과 카테고리명을 확인했습니다. 파이썬 분석 시트에서는 결측값, 월별 매출, 이상치, 카테고리별 평균을 계산했습니다. 결과 시트에는 최종 보고에 필요한 표만 옮겼습니다.
이 구조를 만든 뒤 수식 참조 오류는 기존 14건에서 4건으로 줄었습니다.
분석 시간은 평균 42분에서 24분으로 줄었다
기존에는 분석 1건당 평균 42분이 걸렸습니다. 파일을 열고, 수식을 복사하고, 피벗테이블을 만들고, 이상치를 찾고, 차트용 데이터를 따로 만드는 과정이 반복됐습니다.
파이썬 적용 후 분석 1건당 소요 시간은 평균 24분으로 줄었습니다. 가장 큰 이유는 반복 점검 작업이 빨라졌기 때문입니다. 특히 124,600행 데이터를 다룰 때 필터와 수식으로만 확인하면 느리고 실수가 생겼습니다. 파이썬으로 결측값과 이상치를 먼저 뽑아낸 뒤 엑셀에서 검토하니 작업 순서가 훨씬 안정적이었습니다.
협업 공유는 여전히 엑셀 방식이 편했다
파이썬 기능이 편하긴 했지만, 협업할 때는 한계도 있었습니다. 모든 사람이 파이썬 코드 셀을 이해하는 것은 아니었습니다. 특히 엑셀 수식만 쓰던 사람에게는 파이썬 결과가 왜 이렇게 나왔는지 설명해야 했습니다.
그래서 최종 공유 파일에는 파이썬 코드를 최소화했습니다. 분석 과정은 파이썬 분석 시트에 남기되, 결과 시트에는 일반 표와 필요한 설명을 넣었습니다. 즉, 내부 분석에는 파이썬을 쓰고, 공유용 결과는 엑셀 친화적으로 정리하는 방식이 가장 현실적이었습니다.
비교 기준별 실제 체감
분석 속도
분석 1건당 평균 시간이 42분에서 24분으로 줄었습니다. 반복 집계와 결측값 확인에서 가장 효과가 컸습니다.
수식 오류
수식 참조 오류는 기존 14건에서 4건으로 감소했습니다. 특히 파일마다 행 수가 다른 경우 파이썬으로 먼저 집계한 것이 도움이 됐습니다.
반복 가능성
같은 구조의 CSV 파일 18개를 분석할 때 파이썬 방식이 유리했습니다. 같은 코드를 다시 적용할 수 있어 반복성이 좋아졌습니다.
협업 공유 편의성
파이썬 분석은 편했지만, 최종 공유는 일반 엑셀 표가 더 쉬웠습니다. 그래서 결과 시트를 따로 만드는 것이 필요했습니다.
초보자 이해 난이도
엑셀만 쓰던 사람에게는 파이썬 코드 셀이 낯설 수 있습니다. 짧은 코드와 고정된 시트 구조를 사용하는 것이 중요했습니다.
결론: 엑셀 파이썬은 엑셀을 대체하는 도구가 아니었다
2026년 3월 3일부터 4월 1일까지 30일 동안 엑셀 파이썬 기능을 실제 매출 CSV 분석에 적용해본 결론은 분명합니다. 엑셀 파이썬 기능은 엑셀을 대체하는 도구가 아니라, 반복 계산과 데이터 점검을 줄이는 보조 분석 도구로 쓰는 것이 현실적이었습니다.
분석한 파일은 18개였고, 전체 데이터는 124,600행, 46개 열이었습니다. 가장 큰 파일은 38MB였습니다. 기존에는 파일당 평균 27개의 엑셀 수식을 사용했고, 수동 피벗테이블 생성 횟수는 36회였습니다. 파이썬을 적용한 뒤 수동 피벗테이블 생성은 12회로 줄었고, 분석 1건당 시간은 평균 42분에서 24분으로 감소했습니다.
하지만 파이썬을 무조건 많이 쓰는 것이 답은 아니었습니다. 파이썬 결과를 일반 셀처럼 생각하고 기존 수식과 섞었다가 참조 범위가 어긋난 경험도 있었고, 원본 CSV 인코딩 문제로 한글 카테고리명이 깨져 2개 파일을 다시 불러온 일도 있었습니다.
결국 중요한 것은 도구보다 작업 구조였습니다. 원본 시트, 정리 시트, 파이썬 분석 시트, 결과 시트를 분리하고, 파일별 분석 순서를 고정하니 오류가 줄었습니다. 엑셀은 여전히 결과 정리와 공유에 강했고, 파이썬은 반복 점검과 집계에 강했습니다. 두 방식을 섞되, 역할을 분리하는 것이 가장 현실적인 사용법이었습니다.
엑셀 파이썬 기능을 쓰기 전 확인해야 할 체크리스트
- 원본 CSV 파일의 인코딩이 정상인지 확인했는가?
- 한글 카테고리명과 날짜 열이 깨지지 않았는가?
- 원본 시트와 분석 시트를 분리했는가?
- 파이썬 결과를 기존 수식 참조 범위에 바로 섞고 있지 않은가?
- 파일마다 행 수가 달라져도 결과 시트가 깨지지 않는가?
- 반복 계산 항목만 파이썬으로 대체했는가?
- 간단한 수식까지 무리하게 파이썬으로 바꾸고 있지 않은가?
- 결측값 확인, 월별 집계, 이상치 탐지처럼 효과가 큰 작업부터 적용했는가?
- 파이썬 분석 결과를 공유용 표로 따로 정리했는가?
- 협업자가 파이썬 코드 없이도 결과를 이해할 수 있는가?
- 피벗테이블을 완전히 없애기보다 필요한 곳에만 남겼는가?
- 분석 전 파일 백업을 만들어두었는가?
- 코드 셀과 일반 수식 셀의 역할을 구분했는가?
엑셀 파이썬 기능을 30일 동안 써보니 가장 큰 장점은 멋진 코드가 아니라 반복 실수를 줄이는 데 있었습니다. 엑셀을 오래 써온 사람이라면 모든 것을 바꾸기보다, 수식 오류가 자주 나는 계산부터 하나씩 파이썬으로 옮겨보는 방식이 훨씬 안전했습니다.