들어가기 전에
엑셀의 파이썬(Python)은 프로그래머뿐 아니라 일반 사용자도 데이터 정리·분석을 쉽게 수행하도록 돕는 도구입니다. 복잡한 수식 대신 데이터 정제·병합·분석을 간단히 처리할 수 있어 실무 활용성이 높습니다. 또한 시각화·클러스터 분석·키워드 분석 등을 통해 엑셀이 데이터 분석 플랫폼으로 확장되고 있습니다.
이 글은 아래 기사 내용을 토대로 작성되었습니다만, 필자의 개인 의견이나 추가 자료들이 다수 포함되어 있습니다.
- 원문: Python in Excel isn't just for programmers—4 useful things you can do with it right now
- URL: https://www.howtogeek.com/microsoft-excel-python-isnt-just-for-programmers/
파이썬이란 무엇이며, 엑셀에서 어떻게 작동하나요?
파이썬은 읽기 쉽고 매우 강력한 고급 프로그래밍 언어로 알려져 있습니다 . 데이터 과학 및 자동화 분야의 "표준"으로 여겨지며, NASA 과학자부터 넷플릭스 엔지니어에 이르기까지 모든 분야에서 방대한 양의 정보를 분석하는 데 사용됩니다.
파이썬은 전통적으로 복잡한 코딩 환경에서 사용되어 왔지만, 이제 마이크로소프트는 파이썬을 엑셀 표에 직접 통합했습니다. 가장 좋은 점은 프로그래밍 지식이 없어도 사용할 수 있다는 것입니다. 수식을 복사해서 붙여넣고 엑셀 표의 작동 방식을 이해할 수 있다면 이미 절반은 성공한 셈입니다. 처음부터 코드를 작성하는 대신, 강력한 함수를 활용하여 표준 엑셀보다 빠르고 유연하게 작업을 처리할 수 있습니다.
엄밀히 말하면 파이썬은 로컬 컴퓨터에서 실행되는 것이 아니라 마이크로소프트 클라우드에서 작동합니다. 즉, 노트북 속도를 저하시키지 않습니다(모든 연산은 마이크로소프트의 고속 서버에서 처리됩니다). 하지만 파이썬을 사용하려면 인터넷 연결이 필요합니다. 이 강력한 기능을 활용하는 핵심은 `=PY()` 함수입니다. 수식 입력줄 에 `=PY`를 입력 하고 Tab 키를 누르면 엑셀의 파이썬 편집 모드가 열립니다.
Excel의 Python 런타임은 Anaconda 기반의 Python 환경을 사용하며, 여기에는 pandas (데이터 테이블 작성에 필수적인 라이브러리)와 seaborn (고급 차트 제작에 특화된 라이브러리) 과 같은 인기 있는 데이터 과학 라이브러리가 포함되어 있습니다 . 이러한 라이브러리들은 Python이 최소한의 노력으로 데이터를 정리, 분석 및 시각화할 수 있도록 지원하는 "파워업 키트"와 같습니다.
보안 관점에서 볼 때, 이 프로세스는 엄격하게 통제되고 "샌드박스" 환경에서 실행되도록 설계되었습니다. Python은 xl() 함수를 통해 Excel 테이블을 읽고, 클라우드에서 필요한 작업을 수행한 후 결과를 Excel 셀에 출력합니다. 샌드박스 환경이기 때문에 Python은 로컬 파일에 접근할 수 없으며, 사용자가 명시적으로 전송하도록 선택한 특정 데이터와만 상호 작용합니다.
엑셀에서 파이썬을 시작하는 방법
코드를 입력하거나 붙여넣기 전에 다음 다섯 가지 사항을 명심하세요.
- Microsoft 365 전용: 활성 구독 과 인터넷 연결이 필요합니다.
- 테이블로 변환: Python은 일반 범위보다 구조화된 테이블을 더 안정적으로 읽습니다. 따라서 사용하기 전에 데이터를 테이블로 변환하고( 삽입 > 테이블 또는 Ctrl+T ), 테이블 디자인 탭 의 테이블 이름 필드에 T_SalesData 와 같은 테이블 이름을 지정 하세요. 단, 결과가 열 아래로 넘어가는 경우 Python 코드는 Excel 테이블 내부에 입력할 수 없으므로 , 이러한 경우에는 서식이 지정된 Excel 테이블 외부의 일반 셀에 입력해야 합니다.
- 출력 유형 전환: 수식 입력줄에 `=PY`를 입력하고 Tab 키를 누른 후 , 출력 유형이 Excel 값 으로 설정되어 있는지 확인하여 실제 텍스트 또는 숫자를 볼 수 있도록 하세요.
- 커밋 시 주의사항: 파이썬 모드에서 Enter 키를 누르면 새 줄이 생성됩니다. 코드를 실행하려면 Ctrl+Enter 키를 눌러야 합니다.
- 일반 따옴표: 웹사이트나 워드 문서에서 곱슬 따옴표(스마트 따옴표)를 사용하는 코드를 복사하면 파이썬에서 오류가 발생합니다. 반드시 일반 따옴표로 바꿔야 합니다.
참고 영상:
예제 데이터 준비하기

이제 필수적인 내용을 다뤘으니 본격적으로 시작해 볼까요? 위 그림과 같이 정리가 안 된 엑셀 데이터셋(T_SalesData)이 주어졌다고 가정해 보겠습니다. 이 데이터를 정리하고 유용한 정보를 추출하라는 요청을 받았습니다. 파이썬을 사용하면 이 작업을 빠르고 효율적으로 완료할 수 있습니다.
이 글에서 사용된 예제는 [여기]에서 다운로드 할 수 있습니다. 링크를 클릭한 다음, 화면 오른쪽 상단에 다운로드 버튼을 눌러 보세요.
사용 사례 1: 띄어쓰기 및 대문자 사용 수정
B열의 Customer_Info 데이터는 대소문자가 일관되지 않고 앞뒤에 공백이 있습니다. 깔끔하고 동적인 새 이름 목록을 만들려면 빈 셀에 =PY를 입력하고 Tab 키를 누른 다음, 아래 코드를 붙여넣고 Ctrl + Enter 키를 누릅니다.
xl("T_SalesData[Customer_Info]").squeeze().str.strip().str.title().to_list()

작동 방식은 다음과 같습니다.
| 코드 | 역할 |
| xl("T_SalesData[Customer_Info]") | T_SalesData 테이블에서 Customer_Info 열을 가져옵니다. |
| .squeeze() | 열을 1차원 리스트로 평면화합니다. |
| .str.strip() | 앞뒤 공백을 제거합니다. |
| .str.title() | 각 단어를 대문자로 표기합니다. |
| .to_list() | 정리된 데이터를 리스트로 변환합니다. |
[팁] xl(...) 참조를 수동으로 입력하는 대신 Python 모드에서 범위를 선택하기 만 하면 Excel이 자동으로 작성해 줍니다.
이 방법이 기존 방식보다 나은 이유
- 기존 엑셀: 표준 엑셀에서는 동일한 결과를 얻기 위해 함수를 중첩하거나 여러 개의 도우미 열을 사용해야 합니다. 한 가지 작업에는 괜찮지만, 파이썬을 사용하면 수십 개의 정리 단계를 하나의 읽기 쉬운 코드로 연결할 수 있습니다.
- 파워 쿼리: 파워 쿼리는 별도의 편집기를 열어야 합니다. 파이썬은 스프레드시트 작업 흐름을 유지하면서 계속 작업할 수 있도록 해줍니다.
사용 사례 2: 불가능한 날짜 표준화
현재 Date_Raw 열에는 점, 대시, 일반 텍스트 등 온갖 형식의 데이터가 뒤섞여 있지만, 파이썬을 사용하면 순식간에 정리할 수 있습니다. 다음 코드를 붙여넣고 Ctrl + Enter를 누릅니다.
import pandas as pd; pd.to_datetime(xl("T_SalesData[Date_Raw]").squeeze(),errors="coerce").to_list()

작동 방식은 다음과 같습니다.
| 코드 | 역할 |
| import pandas as pd; | pandas 라이브러리를 준비합니다. |
| xl("T_SalesData[Date_Raw]") | T_SalesData 테이블에서 Date_Raw 열을 가져옵니다. |
| .squeeze() | 열을 1차원 리스트로 평면화합니다. |
| pd.to_datetime(..., errors="coerce") | 값을 날짜로 변환하고 구문 분석할 수 없는 항목은 NaT(빈 값)로 표시합니다. |
| .to_list() | 결과를 리스트로 변환합니다. |
이 방법이 기존 방식보다 나은 이유
- 기존 엑셀: 엑셀의 텍스트를 열로 나누기 도구는 일회성 해결책일 뿐이며, 날짜 형식이 매우 불규칙적일 경우 제대로 작동하지 않는 경우가 많습니다.
- 파워 쿼리: Power Query는 구조화된 가져오기에 적합하지만, 형식이 복잡하거나 일관성이 없는 경우에는 추가 단계가 필요할 수 있습니다.
사용 사례 3: 전문가 수준의 밀도 플롯 생성
Price_Points 데이터가 어디에 집중되어 있는지 확인하고 싶지만, 일반 히스토그램은 너무 "블록처럼" 보입니다. 다음 코드를 사용하여 커널 밀도 추정 (KDE) 플롯을 생성하세요. KDE 플롯은 데이터 세트의 확률 분포를 부드러운 곡선으로 보여줍니다.
import seaborn as sns; sns.kdeplot(xl("T_SalesData[Price_Point]").squeeze().rename("Price ($)"), fill=True, color="green")
Excel은 Python 차트를 셀 내 정적 이미지로 표시하며, 기본 데이터가 변경될 때 자동으로 업데이트됩니다. 차트 이미지를 이동 가능한 개체로 변환하려면 셀을 선택하고 나타나는 참조 만들기 아이콘을 클릭합니다.

작동 방식은 다음과 같습니다.
| 코드 | 역할 |
| import seaborn as sns; | Seaborn 라이브러리를 로드합니다. |
| xl("T_SalesData[Price_Point]") | T_SalesData 테이블에서 Price_Point 열을 가져옵니다. |
| .squeeze() | 열을 1차원 리스트로 평면화합니다. |
| .rename("Price ($)") | X축 레이블이 올바르게 지정되도록 시리즈 이름을 변경합니다. |
| sns.kdeplot(..., fill=True, color="green") | 녹색 음영 영역이 있는 KDE 플롯을 생성합니다. |
이 방법이 기존 방식보다 나은 이유
- 기존 엑셀: 엑셀의 히스토그램은 데이터를 특정 구간으로 강제로 나눕니다. 구간이 너무 넓으면 미묘한 차이를 놓치게 되고, 너무 좁으면 얇은 막대들이 뒤엉킨 것처럼 보입니다.
- 파워 쿼리: Power Query는 차트를 만들 수 없습니다. 데이터를 가져오고, 정리하고, 로드하는 도구입니다.
사용 사례 4: 스마트한 감정 분석 도구 개발
E열에 고객 리뷰가 많이 있다고 가정해 보겠습니다. 반품, 나쁨, 환불 등과 같은 '문제' 단어가 포함된 리뷰를 즉시 강조 표시해야 합니다. 이를 자동으로 수행하려면 다음 코드를 붙여넣고 Ctrl + Enter를 누릅니다.
reviews = xl("T_SalesData[Review_Text]").squeeze()
["Action Needed" if any(word in str(r).lower() for word in ["return", "bad", "refund"]) else "Clear" for r in reviews]

작동 방식은 다음과 같습니다.
| 코드 | 역할 |
| reviews = xl("T_SalesData[Review_Text]").squeeze() | Review_Text 열을 가져와서 "reviews"라는 이름의 리스트로 변환합니다. |
| for r in reviews | 각 리뷰를 순환합니다. |
| str(r).lower() | 키워드 검색 시 대소문자를 구분하지 않도록 리뷰를 소문자로 변환합니다. |
| ["return", "bad", "refund"] | 위험 신호 키워드를 정의합니다. |
| any(word in ...) | 리뷰에 키워드가 포함되어 있는지 확인합니다. |
| "Action Needed" if ... else "Clear" | "조치 필요" 또는 "문제 없음"으로 라벨을 검토합니다. |
| [...] | 모든 리뷰에 대한 결과를 생성합니다. |
이 방법이 기존 방식보다 나은 이유
- 기존 엑셀: 엑셀에서 여러 단어를 검색하려면 ISNUMBER 함수와 SEARCH 함수를 거대한 OR 조건문 안에 중첩해야 합니다. 가독성이 떨어지고 수정하기도 훨씬 어렵습니다.
- 파이썬: Power Query에서는 조건부 열을 추가하고 각 키워드마다 "포함" 규칙을 수동으로 새로 만들어야 합니다. 키워드가 20개라면 20개의 개별 메뉴 상호 작용을 만들어야 합니다.
반면, 파이썬 코드에 새 키워드를 추가하려면 괄호 안에 입력하기만 하면 됩니다. 또한 파이썬은 단어 조각의 존재 여부도 확인하기 때문에 "return"을 검색하면 "returning"이나 "returned"와 같은 변형도 함께 표시됩니다. 다만, 오탐이 발생할 수 있다는 점에 유의해야 합니다.
마치며
엑셀에서 파이썬은 수식이나 파워 쿼리를 완전히 대체하진 않지만 중요한 공백을 메웁니다. 내장 도구가 경직되거나 복잡할 때, 파이썬으로 강력한 데이터 분석 기법을 표 안에서 직접 적용할 수 있습니다. 익숙해지면 람다 함수와 결합해 재사용 가능한 분석 도구도 만들 수 있습니다.
'Excel' 카테고리의 다른 글
| 엑셀 "빠른 채우기"를 더 이상 사용할 필요가 없게 해주는 이 도구 (0) | 2026.08.19 |
|---|---|
| 이걸 안 쓴다면 엑셀에서 가장 쉽고도 똑똑한 시각화 도구를 놓치고 있는 것 (0) | 2026.08.18 |
| 데이터를 일일이 찾지 않고 SEARCH 함수로 더 똑똑한 자동화 시트 만들기 (0) | 2026.08.10 |
| 알아볼 수 없는 엑셀 수식을 작성하는 것을 멈추고 이렇게 하세요 (0) | 2026.08.06 |
| 엑셀 실력을 향상시키기 위해 버려야 하는 6가지 습관 (0) | 2026.08.04 |
