ChatGPT 엑셀 업무 자동화 활용

업무 자동화에 대해 관심이 높아지면서 엑셀 작업도 효율적으로 자동화하는 방법이 주목받고 있습니다. 특히 ChatGPT를 이용하면, Python 코딩을 배우지 않고도 쉽게 엑셀 업무를 자동화할 수 있습니다. 오늘은 ChatGPT를 이용해 엑셀 파일을 자동화하는 두 가지 실습 사례를 소개합니다.

엑셀 업무 자동화란?

엑셀 업무 자동화는 여러 개의 엑셀 파일이나 그 안에 있는 데이터를 효율적으로 분석하고 정리하는 과정을 자동으로 수행하는 것입니다. 반복적으로 처리해야 하는 데이터 병합, 분석 작업을 자동화하면 수작업 시간을 절약하고, 실수를 줄일 수 있습니다.

ChatGPT로 엑셀 업무 자동화하기

ChatGPT는 자연어로 업무 요청을 하면 필요한 Python 코드를 생성해줍니다. 덕분에 복잡한 프로그래밍 지식 없이도 엑셀 자동화를 진행할 수 있습니다. 이 기능을 통해 시간과 노력을 크게 절약할 수 있죠.

사례 1 – 회원정보 파일 100개 합치기

100개의 텍스트 파일에 흩어져 있는 회원 정보를 하나의 엑셀 파일로 통합하는 작업을 ChatGPT를 통해 자동화합니다. 보통 이 작업은 파일을 하나씩 열어 데이터를 복사하는 수작업이 필요한데, ChatGPT로 이를 자동화하면 작업 시간이 대폭 단축됩니다.
ChatGPT에게 “100개의 회원 정보 파일을 하나로 합쳐주세요”와 같은 명령어를 입력하면, 필요한 코드를 생성해줍니다.
해당 코드를 실행하면 텍스트 파일들이 하나의 엑셀 파일로 정리됩니다.

  • 실습용 파일 역시 ChatGPT를 생성해보겠습니다.
    (이름, 나이, 성별, 이메일 정보를 포함한 회원정보 100건 생성)
ChatGPT 회원정보 생성 요청 결과
ChatGPT 회원정보 생성 요청 결과

ChatGPT를 통해 생성된 코드를 Google Colab을 통해 실행해보겠습니다.

Google Colab을 통한 ChatGPT 생성코드 실행 방법은아래 글을 참조 바랍니다.
[POST] 업무 자동화를 위한 ChatGPT 활용법

Google Colab 회원정보 생성 실행 결과
Google Colab 회원정보 생성 실행 결과

ChatGPT 코드 실행을 통해 회원 정보 텍스트 파일 100건을 생성하였습니다.

사례 2 – 성적표 분석하기 (평균, 등수)

두 번째 실습에서는 성적표 데이터를 분석하는 과정을 다룹니다. ChatGPT를 이용해 성적표의 등수와 평균을 자동으로 계산할 수 있습니다. 성적표 데이터의 분석이 필요한 경우, ChatGPT에 “성적표 데이터에서 등수와 평균을 계산해주세요“와 같이 요청하면, ChatGPT가 필요한 Python 코드를 작성해줍니다. 이 코드를 통해 엑셀 파일에서 등수와 평균을 자동으로 구할 수 있어, 보다 쉽게 데이터를 관리할 수 있습니다.


  • 실습용 파일 역시 ChatGPT를 생성해보겠습니다.
    (반, 이름, 국어성적, 영어성적, 수학성적 정보를 포함한 학생 성적정보 100건 생성)
ChatGPT 성적정보 생성 요청
ChatGPT 성적정보 생성 요청
import pandas as pd
import random

# 성 리스트
surnames = [
    "", "", "", "", "", "", "", "", "", "",
    "", "", "", "", "", "", "", "", "", ""
]

# 이름 리스트
names = [
    "철수", "민지", "수지", "영희", "준영", "지훈", "서연", "민준", "예은", "지후",
    "하늘", "지우", "서준", "도윤", "서영", "현우", "하람", "하준", "유진", "예준",
    "현서", "수현", "다인", "시우", "민서", "예린", "지민", "소윤", "은우", "채원",
    "태윤", "주원", "지원", "서현", "윤서", "시현", "하은", "도연", "윤우", "가은"
]

# 중복되지 않는 한국 이름 100개 생성
korean_names = []
for _ in range(100):
    surname = random.choice(surnames)
    name = random.choice(names)
    korean_name = surname + name
    korean_names.append(korean_name)

# 반(1~10반) 생성
ban = [f"{i}반" for i in range(1, 11)]

# 국어, 영어, 수학 점수 생성 (0~100점)
def generate_scores():
    return [random.randint(0, 100) for _ in range(100)]

# 데이터프레임 생성
df = pd.DataFrame({
    '': random.choices(ban, k=100),
    '이름': korean_names,
    '국어': generate_scores(),
    '영어': generate_scores(),
    '수학': generate_scores()
})

# 엑셀 파일로 저장
excel_path = "성적정보.xlsx"
df.to_excel(excel_path, index=False)

print(f"성적정보가 {excel_path} 파일에 저장되었습니다.")

ChatGPT를 통해 생성된 코드를 Colab을 통해 실행한 결과는 다음과 같습니다.
테스트를 위한 엑셀 파일이 생성되었습니다.

Google Colab 성적정보 생성 실행 결과
Google Colab 성적정보 생성 실행 결과

  • 생성된 엑셀 파일을 이용하여 각 반별로 국어점수의 평균을 계산해보겠습니다.
    Prompt : 각 반별로 국어점수의 평균을 계산하는 python 코드를 작성해줘.
import pandas as pd

# 엑셀 파일에서 데이터프레임 불러오기
excel_path = "성적정보.xlsx"
df = pd.read_excel(excel_path)

# 각 반별 국어 점수 평균 계산
korean_scores_by_ban = df.groupby('')['국어'].mean()

print("각 반별 국어 점수 평균:")
print(korean_scores_by_ban)

ChatGPT를 통해 생성된 코드를 Colab을 통해 실행하여 국어 점수 평균을 확인할 수 있습니다.

Google Colab 평균점수 계산 실행 결과
Google Colab 평균점수 계산 실행 결과

  • 다음은 전체 학생들의 점수 총점을 구하고 전교등수를 구해보도록 하겠습니다.
    Prompt : 각 반별로 국어점수의 평균을 계산하는 python 코드를 작성해줘.
import pandas as pd

# 엑셀 파일에서 데이터프레임 불러오기
excel_path = "성적정보.xlsx"
df = pd.read_excel(excel_path)

# 각 학생의 총점 계산
df['총점'] = df['국어'] + df['영어'] + df['수학']

# 전교 등수 계산
df['전교등수'] = df['총점'].rank(ascending=False, method='min')

# 결과를 새로운 Excel 파일로 저장
output_excel_path = "성적등수결과.xlsx"
df.to_excel(output_excel_path, index=False)

print(f"성적 결과가 {output_excel_path} 파일에 저장되었습니다.")

Colab을 통해 수행한 결과 기존 엑셀파일에서 전교 등수가 자동 계산되어 추가 된 것을 확인할 수 있습니다. 전교 등수 기준으로 정렬되지 않은 것은 아쉽네요.

Google Colab 전교등수 계산 실행 결과
Google Colab 전교등수 계산 실행 결과

  • 위 내용에서 빠진 전교등수 기준으로 정렬해보도록 하겠습니다.
    Prompt : 위 코드에서 전교등수를 기준으로 오름차순 정렬을 진행해줘.
import pandas as pd

# 엑셀 파일에서 데이터프레임 불러오기
excel_path = "성적정보.xlsx"
df = pd.read_excel(excel_path)

# 각 학생의 총점 계산
df['총점'] = df['국어'] + df['영어'] + df['수학']

# 전교 등수 계산
df['전교등수'] = df['총점'].rank(ascending=False, method='min')

# 전교 등수를 기준으로 오름차순 정렬
df_sorted = df.sort_values(by='전교등수')

# 결과를 새로운 Excel 파일로 저장
output_excel_path = "성적등수결과_정렬.xlsx"
df_sorted.to_excel(output_excel_path, index=False)

print(f"전교 등수로 정렬된 성적 결과가 {output_excel_path} 파일에 저장되었습니다.")

Colab 수행 결과 전교등수 기준으로 정렬된 엑셀 파일을 다음과 같이 확인할 수 있습니다.

Google Colab 전교등수 정렬 실행 결과
Google Colab 전교등수 정렬 실행 결과

마무리

ChatGPT를 활용하면 코딩에 대한 깊은 지식이 없어도 엑셀 작업을 손쉽게 자동화할 수 있습니다. 위에서 소개한 두 가지 사례를 통해 엑셀 작업 자동화의 실제 활용법을 살펴보았는데요, 필요에 따라 ChatGPT에 프롬프트를 요청하고 Google Colab을 함께 활용하면 반복적인 데이터 병합이나 분석과 같은 다양한 작업에 효과적으로 적용할 수 있습니다. 이를 통해 작업 시간을 단축하고 업무 효율성을 높이며, 더 스마트한 업무 수행으로 일잘러가 될 수 있을 것입니다.

본 글은 multicampus 강의 수강 실습 내용을 기반으로 작성하였습니다.
“새로운 시대의 Open AI, ChatGPT” / 강사 양진호

관련 글 보기