Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124

챗GPT로 엑셀 함수 없이 데이터를 정리하는 방법과 매크로 자동화의 실제 한계, 무료·유료 계정 차이를 실사용 기준으로 짚었다.
엑셀 함수 이름을 하나도 모르는 채로 브이룩업(VLOOKUP) 못지않은 표를 만들어본 적 있나. 요즘은 챗GPT에 파일 하나 던져놓고 “이거 카드사별로 합계 내줘”라고 말만 해도 어지간한 작업이 끝난다. 다만 어디까지 되고 어디서부터 막히는지, 그 경계선은 의외로 글 뒤쪽에서야 명확해진다. 무료 계정과 유료 계정의 차이, 그리고 매크로 자동화의 한계가 바로 그 지점이다.
챗GPT 화면 왼쪽 아래 클립 아이콘을 누르면 엑셀 파일(xlsx)이나 csv 파일을 그대로 올릴 수 있다. 파일이 올라가면 챗GPT는 그 데이터를 파이썬 코드로 읽어서 처리하는데, 이 환경을 코드 인터프리터 또는 고급 데이터 분석이라고 부른다. 사용자는 코드를 한 줄도 안 봐도 된다. “중복된 행 지워줘”, “날짜별로 묶어서 표로 만들어줘” 같은 문장만 입력하면 뒤에서 파이썬이 알아서 돌아간다.

결과물은 대화창에 표로 뜨거나, 새 엑셀 파일로 다운로드할 수 있게 나온다. 여기서 중요한 건 원본 파일이 자동으로 바뀌는 게 아니라 새 파일이 하나 더 생긴다는 점이다. 이 구조를 모르고 쓰면 나중에 헷갈릴 수 있다.
많이들 챗GPT가 엑셀 파일을 열어서 실시간으로 계산해준다고 알고 있는데, 실제로는 업로드한 순간의 데이터를 스냅샷처럼 떼어다 처리하는 방식이다. 원본 파일에서 값을 바꾼다고 챗GPT 안의 결과가 같이 바뀌지는 않는다.
엑셀 함수나 VBA 매크로에 익숙한 사람 입장에서 보면 챗GPT 방식은 접근 자체가 다르다. 나눠보면 이렇다.
세 번째가 특히 체감이 크다. 매일 아침 자동으로 최신 데이터를 반영해 갱신되는 보고서를 만들고 싶다면 챗GPT 단독으로는 완성이 안 된다. 대신 한 번씩 몰아서 정리하는 작업, 매달 말 거래 내역을 정리하는 작업 같은 데서는 확실히 손이 덜 간다.
반복적으로 큰 덩어리의 데이터를 정리해야 하는 사람, 예를 들어 월말마다 여러 거래처 엑셀 파일을 하나로 합치고 형식을 통일해야 하는 담당자라면 체감 효과가 크다. 함수를 새로 배우는 대신 말로 설명하고 결과만 받아보면 되니까 배우는 시간 자체가 줄어든다. 데이터 분석 초보자가 피벗 테이블 개념 없이 요약표를 뽑고 싶을 때도 유용하다.
반대로 실시간 연동이 필요한 업무, 이를테면 다른 시트 값이 바뀔 때마다 자동으로 계산이 갱신돼야 하는 업무라면 챗GPT만으로는 부족하다. 사내 보안 규정상 외부 서비스에 데이터를 올리면 안 되는 회사도 많다. 개인정보나 매출 데이터처럼 민감한 파일은 업로드 전에 회사 정책부터 확인하는 게 맞다.
예를 들어 한 달치 거래 내역 3천 행짜리 파일을 올리고 “카드사별로 합계 내고 피벗 표로 만들어줘”라고 하면, 몇 초 안에 요약표가 나온다. 여러 지점에서 각각 보내온 형식이 제각각인 엑셀 파일 5개를 한 번에 올려서 “같은 형식으로 합쳐줘”라고 시키는 것도 가능하다. 사람이 하면 30분은 걸릴 작업이 대화 두세 번으로 끝난다.

오탈자나 날짜 형식이 뒤섞인 파일도 자주 등장하는 시나리오다. “2024.3.1”과 “24-03-01″이 섞여 있는 열을 하나의 형식으로 통일해달라고 하면 규칙을 알아서 판단해 정리해준다. 다만 규칙이 애매한 경우, 예를 들어 이름이 “김철수”와 “철수 김”처럼 순서가 뒤바뀐 데이터는 사람이 한 번 더 확인해야 실수가 안 생긴다.
차트가 필요할 때도 쓸모가 있다. “이 표로 월별 추이 막대그래프 그려줘”라고 하면 이미지로 바로 보여주고, 원한다면 엑셀 파일 안에 차트가 들어간 형태로도 받을 수 있다. 다만 색상이나 축 세부 조정까지 요구하면 결과가 매번 미묘하게 달라질 수 있어서, 발표용 자료는 결국 손으로 한 번 다듬는 경우가 많다.
다들 챗GPT가 뽑아준 합계나 평균은 당연히 맞다고 생각하고 그대로 보고서에 붙여 넣는다. 그런데 실제 문제는 여기서 생긴다. 코드 인터프리터가 파이썬으로 계산을 돌리는 구간은 대체로 정확한데, 그 전 단계에서 챗GPT가 “이 열은 매출, 이 열은 환불로 보인다”처럼 데이터를 스스로 해석하는 부분이 끼어들면 얘기가 달라진다. 열 이름이 애매하거나 병합된 셀이 섞여 있으면 엉뚱한 열을 기준으로 합계를 내는 경우가 실제로 나온다.
습관적으로 검산할 지점은 정해져 있다. 총합계나 행 개수처럼 눈으로 바로 확인 가능한 값 하나만 원본과 대조해보면 된다. 예를 들어 원본 파일 하단에 이미 합계가 있는 경우, 챗GPT가 뽑은 숫자와 그 값이 일치하는지 한 번만 비교해도 웬만한 오류는 걸러진다. 이 확인 습관 하나가 있고 없고에 따라 결과물에 대한 신뢰도가 완전히 달라진다.
관련: 챗GPT 메모리 기능 끄는 법, 모르면 대화가 계속 쌓인다
여기서부터가 실제로 써보면 체감이 갈리는 지점이다. 무료 계정도 파일 업로드와 코드 인터프리터 자체는 쓸 수 있다. 다만 사용량 제한에 훨씬 빨리 걸리고, 대화가 길어지거나 파일이 크면 응답이 끊기는 경우가 잦다.
| 항목 | 무료 계정 | 유료 계정(플러스 이상) |
|---|---|---|
| 파일 업로드 | 가능하지만 사용량 제한에 자주 걸린다 | 업로드 빈도와 대화량 제한이 훨씬 여유 있다 |
| 대용량 파일 처리 | 행이 많으면 응답이 끊기거나 느려지는 일이 있다 | 같은 파일이라도 처리 속도와 안정성이 낫다 |
| 코드 인터프리터 접근 | 제한적으로 열려 있고 상황에 따라 막히기도 한다 | 상시로 열려 있어 매번 다시 설정할 필요가 없다 |
| 결과 파일 다운로드 | 가능 | 가능(속도·용량 여유가 더 크다) |
쉽게 말해 “되냐 안 되냐”의 문제라기보다 “얼마나 안정적으로, 얼마나 큰 파일까지 버티느냐”의 문제에 가깝다. 가벼운 파일 하나 정도만 가끔 정리한다면 무료 계정으로도 충분히 감당된다.
xlsx와 csv는 기본으로 잘 읽는다. 문제는 시트가 여러 개 겹쳐 있거나 병합된 셀, 숨겨진 열이 많은 파일이다. 이런 파일은 챗GPT가 표 구조를 잘못 인식해서 엉뚱한 위치를 기준으로 데이터를 자르는 경우가 있다. 업로드 전에 병합된 셀을 풀고 헤더 행을 한 줄로 정리해두면 훨씬 안정적으로 처리된다.

용량이 큰 파일, 예를 들어 수만 행이 넘는 로그성 데이터는 처리 시간이 늘어나거나 중간에 응답이 끊기는 일이 생긴다. 이럴 땐 한 번에 전체를 던지기보다 기간별로 나눠서 여러 번 나눠 올리는 편이 실패 확률을 줄인다. 이미지로 찍은 표나 스캔한 pdf 표는 텍스트로 정확히 인식되지 않을 때가 많아서, 가능하면 원본 엑셀이나 csv 형태로 변환한 뒤 올리는 게 안전하다. 한글 열 이름이 깨져 보이는 경우도 종종 있는데, 이럴 땐 파일을 utf-8로 저장해서 다시 올리면 대체로 해결된다.
앞에서 예고한 경계선이 바로 이 지점이다. 챗GPT에 “이 작업 자동으로 반복되게 매크로 짜줘”라고 하면 VBA 코드를 텍스트로 만들어주기는 한다. 문제는 그 코드를 챗GPT가 직접 실행하지는 못한다는 점이다. 챗GPT의 코드 실행 환경은 파이썬 샌드박스일 뿐, 엑셀 매크로 엔진에 접근할 권한이 없다.
그래서 사용법은 이렇다. 챗GPT가 만들어준 VBA 코드를 복사해서, 엑셀에서 개발 도구 탭을 열고 Visual Basic 편집기에 직접 붙여넣어야 한다. 매크로 보안 설정도 사용자가 손수 켜줘야 실행된다. 코드 작성 자체는 확실히 빨라지지만, “말 한마디로 매크로가 자동으로 걸린다”는 기대는 접는 게 맞다. 이 부분에서 실망하는 사람들이 꽤 있다.
반복 실행되는 자동화, 그러니까 파일을 열 때마다 자동으로 돌아가는 작업이 필요하다면 결국 VBA든 파워 오토메이트든 별도 도구가 붙어야 완성된다. 챗GPT는 그 코드를 짜는 시간을 줄여주는 조력자 역할까지다.
구글 시트는 애초에 엑셀과 파일 형식이 다르다. 챗GPT에 시트 링크를 던진다고 바로 읽어오지는 못한다. 대신 시트에서 데이터를 csv로 내려받아 올리거나, 반대로 챗GPT에 “이 작업을 구글 앱스 스크립트로 짜줘”라고 요청해서 나온 코드를 시트의 확장 프로그램 메뉴에 있는 앱스 스크립트 편집기에 붙여넣는 방식이 일반적이다.
구조 자체는 VBA 케이스와 비슷하다. 코드는 만들어주지만 실행은 사용자 몫이다. 다만 구글 시트에는 제미나이가 사이드바 형태로 내장돼 있어서, 시트 안에서 바로 수식처럼 AI 기능을 호출하는 방식도 따로 존재한다. 이 둘을 헷갈리면 안 된다. 챗GPT로 앱스 스크립트를 짜는 것과, 시트에 내장된 제미나이를 쓰는 건 완전히 다른 경로다.
| 항목 | 챗GPT | 마이크로소프트 코파일럿(엑셀 내장) | 구글 제미나이(시트 내장) |
|---|---|---|---|
| 실행 방식 | 파일 업로드 후 대화창에서 처리, 새 파일로 결과 수령 | 엑셀 리본 메뉴에서 바로 호출, 원본 시트에 반영 | 시트 사이드바에서 호출, 원본 시트에 반영 |
| 실시간 연동 | 안 됨(업로드 시점 스냅샷 처리) | 됨 | 됨 |
| 매크로·스크립트 실행 | 코드만 생성, 실행은 사용자가 직접 | 지원 범위 안에서 자동화까지 이어짐 | 앱스 스크립트 작성까지 도와주는 정도 |
| 추천 대상 | 가끔 큰 데이터를 몰아서 정리하는 사람 | 엑셀에서 매일 반복 업무를 자동화하려는 사람 | 구글 시트로 협업하는 팀 |
결국 세 가지는 경쟁 관계라기보다 상황별로 갈아 끼우는 도구에 가깝다. 파일이 여기저기 흩어져 있고 한 번씩 몰아서 정리할 때는 챗GPT 쪽이 편하고, 매일 같은 시트를 붙잡고 있어야 한다면 그 시트에 내장된 도구가 더 손에 붙는다.
한 달에 한두 번, 여러 파일을 모아서 정리하거나 요약표를 뽑는 일이 많고 함수를 딱히 배우고 싶지 않다면 챗GPT부터 써보는 게 맞다. 파일 올리고 말로 시키는 것만으로 체감 시간이 확 줄어든다.
반면 매일 자동으로 갱신되는 보고서, 실시간으로 값이 바뀌어야 하는 업무 시트를 다룬다면 챗GPT 단독으로는 부족하다. 코파일럿이 있는 회사라면 그쪽을 먼저 알아보고, 없다면 챗GPT가 짜준 VBA 코드를 엑셀에 직접 심는 쪽으로 가야 한다.
이미 구글 시트로 팀 작업을 하고 있다면 순서를 바꾸는 게 낫다. 제미나이 내장 기능을 먼저 써보고, 시트 밖에서 별도로 큰 파일을 다뤄야 할 때만 챗GPT를 보조로 꺼내는 식이다.