
엑셀 공식 몰라도 된다: 챗GPT로 스프레드시트 자동화하는 방법
소프트웨어 개발을 오래 했다고 해서 엑셀을 잘 다루는 건 아니다. 코드로 데이터를 처리하는 데 익숙하다 보니 오히려 엑셀의 GUI 방식이 낯설었다. VLOOKUP이며 INDEX MATCH며 배울 때마다 "이걸 왜 이렇게 쓰지?"라는 생각을 지우지 못했다. 그러다 챗GPT가 나오고 나서 상황이 완전히 달라졌다. 이제는 엑셀 공식을 외울 필요가 없다. 내가 원하는 걸 말로 설명하면 공식이 나온다.
현장에서 이게 특히 힘을 발휘한 건 비개발자 팀원을 도울 때였다. 기획팀 막내가 "이 두 시트를 합쳐서 매출 집계를 해야 하는데 어떻게 해요?"라고 물어왔다. 예전이라면 직접 공식을 짜줬겠지만, 이제는 챗GPT에 물어보는 법을 같이 알려줬다. 그 뒤로는 나한테 묻지 않는다. 이게 진짜 자동화다.
기본 공식 생성: "이렇게 해줘"만 말해도 된다
엑셀 공식 모르는 사람한테 가장 먼저 알려주는 방법이다. 마치 수학 문제를 한국어로 설명하면 계산기가 수식으로 바꿔주는 것처럼, 내가 원하는 작업을 자연어로 설명하면 공식이 나온다.
예를 들어 이렇게 쓰면 된다.
엑셀에서 A열에 이름, B열에 부서, C열에 매출이 있어.
D열에 부서가 "영업부"인 사람만 골라서 매출 합계를 구하는 공식을 만들어줘.
이러면 바로 SUMIF 공식이 나온다. 공식이 뭔지 몰라도 된다.
=SUMIF(B:B,"영업부",C:C)
현장에서 써보니 장점은 공식이 즉시 나오고 설명까지 붙는다는 거다. 단점은 데이터 구조를 충분히 설명 안 하면 엉뚱한 공식이 나올 수 있다. 열 번호, 시트 이름, 데이터 형식 정도는 같이 말해줘야 정확도가 올라간다.
복잡한 조건 처리: 여러 조건을 걸어야 할 때
실무에서 단순한 합계 공식은 거의 없다. "이 조건이면서 저 조건인 것만" 같은 복합 조건이 필요한 경우가 대부분이다. 예전에는 이게 나한테도 머리를 써야 하는 작업이었다. COUNTIFS, SUMPRODUCT, 배열 공식 같은 걸 꺼내야 했으니까. 이제는 그냥 말로 설명한다.
엑셀에서 이런 조건으로 계산해줘:
- A열: 날짜 (2024년 데이터)
- B열: 지역 (서울, 부산, 대구)
- C열: 매출액
조건: 2024년 2분기(4월~6월)이고, 지역이 서울인 경우의 매출 합계를 구하는 공식 알려줘.
이렇게 쓰면 SUMIFS 공식이 날짜 범위 조건까지 포함해서 나온다.
=SUMIFS(C:C,A:A,">="&DATE(2024,4,1),A:A,"<="&DATE(2024,6,30),B:B,"서울")
현장 경험상 이 방식이 가장 유용했던 건 월별 또는 분기별 집계가 매달 반복될 때다. 처음 공식 한 번만 만들어놓으면 날짜 범위만 바꿔서 쓸 수 있다. 단점은 날짜 형식이 텍스트로 저장된 경우 공식이 제대로 작동 안 할 수 있다는 거다. 데이터 형식 확인이 선행돼야 한다.
매크로 자동화: 반복 작업은 VBA로 끝낸다
같은 작업을 매주 반복하는 게 있다면 VBA 매크로로 자동화하는 게 맞다. 그런데 VBA를 배우는 건 또 다른 산이다. 챗GPT에게 맡기면 그 산을 건너뛸 수 있다.
엑셀 VBA 매크로를 만들어줘.
매주 월요일에 실행할 건데, "원본데이터" 시트에서 C열 값이 100 이상인 행만 골라서
"필터결과" 시트에 붙여넣고, 날짜와 행 개수를 A1셀에 기록하는 매크로야.
이렇게 요청하면 바로 복사해서 쓸 수 있는 VBA 코드가 나온다. 아래는 예시 출력이다.
Sub FilterAndCopy()
Dim wsSource As Worksheet
Dim wsDest As Worksheet
Dim lastRow As Long
Dim destRow As Long
Dim i As Long
Set wsSource = ThisWorkbook.Sheets("원본데이터")
Set wsDest = ThisWorkbook.Sheets("필터결과")
wsDest.Cells.Clear
destRow = 2
lastRow = wsSource.Cells(wsSource.Rows.Count, "C").End(xlUp).Row
For i = 2 To lastRow
If wsSource.Cells(i, 3).Value >= 100 Then
wsSource.Rows(i).Copy wsDest.Rows(destRow)
destRow = destRow + 1
End If
Next i
wsDest.Cells(1, 1).Value = "실행일: " & Format(Now, "yyyy-mm-dd") & " / 건수: " & (destRow - 2) & "건"
MsgBox "완료. 총 " & (destRow - 2) & "건 복사됨."
End Sub
현장에서 이 방식을 써보고 느낀 점은, 코드 자체는 동작하는데 특수 상황이 생기면 오류가 난다는 거다. 시트 이름이 바뀌거나, 데이터 범위가 예상과 다를 때 등이다. 그래서 처음 쓸 때는 원본 파일을 백업해두고 테스트하는 게 안전하다.
피벗 테이블 설명 요청: 만드는 법보다 이해가 먼저다
피벗 테이블은 강력한데, 처음 보면 어디에 뭘 드래그해야 하는지 감이 안 잡힌다. 레고 설명서를 영어로 받은 느낌이랄까. 챗GPT에게 내 데이터 구조를 설명하고 피벗 테이블을 어떻게 구성해야 하는지 물어보면 단계별로 안내해준다.
엑셀 피벗 테이블을 만들려고 해.
데이터: A열 날짜, B열 영업사원 이름, C열 제품명, D열 판매량, E열 매출액
목표: 영업사원별로 제품별 매출액 합계를 한눈에 보고 싶어.
피벗 테이블 설정을 단계별로 알려줘.
이렇게 하면 행 영역에 뭘 넣고, 열 영역에 뭘 넣고, 값 영역에 뭘 넣어야 하는지 구체적으로 안내받을 수 있다. 한 번 이해하고 나면 다음번엔 스스로 할 수 있게 된다. 물고기를 주는 게 아니라 낚시를 가르쳐주는 방식에 가깝다.
현장에서 배운 것: 엑셀을 잘하는 게 아니라 질문을 잘해야 한다
엑셀 자동화 작업에 챗GPT를 쓰기 시작하면서 가장 크게 달라진 건 내가 엑셀 문법에 묶이지 않게 됐다는 거다. 예전에는 "VLOOKUP이 되나, 안 되나"를 기준으로 작업 가능 여부를 판단했다. 지금은 "이게 논리적으로 가능한 작업인가"를 먼저 생각한다. 가능하면 챗GPT가 공식을 만들어준다.
그 대신 새로 생긴 역할이 있다. 데이터 구조를 정확하게 설명하는 능력이다. AI한테 데이터를 설명할 때 명확하지 않으면 엉뚱한 공식이 나온다. 이게 결국 내 데이터 구조를 더 잘 이해하게 만드는 부수 효과로 이어졌다. 공식을 외우는 시간이 줄고, 데이터를 이해하는 시간이 늘었다. 방향이 훨씬 맞다.
한 가지 경고하자면, VBA 코드는 반드시 테스트 파일에서 먼저 돌려봐야 한다. AI가 준 코드가 문법적으로 맞아도 내 파일 구조에 맞지 않을 수 있다. 특히 시트가 여러 개거나 데이터 범위가 복잡한 경우에 그렇다. 그 검증은 여전히 사람이 해야 하는 몫이다.
출처 및 검색 태그
- Microsoft Excel 공식 문서 (https://support.microsoft.com/excel)
- OpenAI ChatGPT (https://chatgpt.com)
- ExcelJet 공식 사이트 (https://exceljet.net)
- MrExcel 커뮤니티 (https://www.mrexcel.com)
'IT적응기' 카테고리의 다른 글
| 챗GPT API 처음 쓰는 사람을 위한 완전 입문: 무료로 나만의 봇 만들기 (0) | 2026.05.12 |
|---|---|
| 프롬프트 엔지니어링 실전 가이드: 좋은 답변 뽑는 구조 5가지 (0) | 2026.05.11 |
| 챗GPT 프롬프트, 잘 쓰는 사람과 못 쓰는 사람의 결정적 차이 (0) | 2026.05.09 |
| 숫자 덩어리를 인사이트로: 데이터 보고서 요약 프롬프트 3가지 (0) | 2026.05.08 |
| 기획서·제안서 구조 잡는 챗GPT 프롬프트: 빈 화면 없애는 법 (3) | 2026.05.07 |