가용성 정보는 Excel의 Python 가용성을 참조하세요. Excel의 Python에 문제가 있는 경우 Excel의 도움말>피드백 을 선택하여 보고하세요.
Excel의 Python을 처음 사용하시나요? Excel의 Python 소개부터 시작합니다.
Python 사용 시작
Excel에서 Python 사용을 시작하려면 셀을 선택하고 수식 탭에서 Python 삽입을 선택합니다. 이는 Excel에서 선택한 셀에 Python 수식을 작성하려고 한다는 것을 알려줍니다.
또는 셀에서 =PY 함수를 사용하여 Python을 활성화합니다. 셀에 =PY 를 입력한 후 아래쪽 화살표 및 Tab 키를 사용하여 자동 완성 메뉴에서 PY를 선택하거나 =PY( 함수에 여는 괄호를 추가합니다. 이제 Python 코드를 셀에 직접 입력할 수 있습니다. 다음 스크린샷은 PY 함수가 선택된 자동 완성 메뉴를 보여 줍니다.
셀에서 Python이 활성화되면 해당 셀에 PY 아이콘이 표시됩니다. Python 셀을 선택하면 수식 입력줄에 동일한 PY 아이콘이 표시됩니다. 예제는 다음 스크린샷을 참조하세요.
Python을 Excel 셀 및 범위와 결합
Python 셀에서 Excel 개체를 참조하려면 Python 셀이 편집 모드인지 확인한 다음 Python 수식에 포함할 셀이나 범위를 선택합니다. 이렇게 하면 선택한 셀이나 범위의 주소가 Python 셀에 자동으로 채워집니다.
팁
키보드 단축키 F2 를 사용하여 Python 셀에서 Enter 모드와 편집 모드 간에 전환합니다. 편집 모드로 전환하면 Python 수식을 편집할 수 있고 Enter 모드로 전환하면 키보드를 사용하여 추가 셀 또는 범위를 선택할 수 있습니다. 바로 가기 키에 대한 자세한 내용은 Excel의 Python 바로 가기 키를 참조하세요.
Excel의 Python은 사용자 지정 Python 함수 xl() 를 사용하여 Excel과 Python 간의 인터페이스를 수행합니다. 이 함수는 xl() 범위, 테이블, 쿼리 및 이름과 같은 Excel 개체를 허용합니다.
함수를 사용하여 xl() Python 셀에 참조를 직접 입력할 수도 있습니다. 예를 들어 셀 A1 을 참조하려면 를 사용하고 xl("A1")B1:C4 범위에는 를 사용합니다 xl("B1:C4").
MyTable이라는 헤더가 있는 테이블의 경우 다음을 사용합니다xl("MyTable[#All]", headers=True).
[#All] 지정자는 전체 테이블이 Python 수식 headers=True 으로 분석되도록 하고 테이블 헤더가 올바르게 처리되도록 합니다.
[#All]과 같은 지정자에 대한 자세한 내용은 Excel 표에 구조적 참조 사용을 참조하세요.
다음 이미지는 셀 C1에 반환된 Python 결과와 함께 셀 A1과 B1의 값을 더한 Excel의 Python 계산을 보여 줍니다.
수식 입력줄
Enter 키를 사용하여 새 줄을 만드는 것과 같은 코드와 유사한 편집 동작에는 수식 입력줄을 사용합니다. 아래쪽 화살표 아이콘을 사용하여 수식 입력줄을 확장하면 여러 줄의 코드를 한 번에 볼 수 있습니다. 바로 가기 키 Ctrl+Shift+U 를 사용하여 수식 입력줄을 확장할 수도 있습니다. 다음 스크린샷은 여러 줄의 Python 코드를 보기 위해 수식 입력줄을 확장하기 전과 후의 수식 입력줄을 보여줍니다.
수식 입력줄을 확장하기 전에:
수식 입력줄을 확장한 후:
팁
더 큰 코드 편집 공간과 텍스트 색 지정 및 IntelliSense와 같은 기능을 사용하려면 Excel의 Python 코드 편집기를 사용합니다.
출력 유형
수식 입력줄의 Python 출력 메뉴를 사용하여 Python 계산이 반환되는 방법을 제어합니다. 계산을 Python 개체로 반환하거나 계산을 Excel 값으로 변환하여 셀에 직접 출력합니다. 다음 스크린샷은 Excel 값으로 반환된 Python 수식을 보여 줍니다.
팁
오른쪽 클릭 메뉴를 사용하여 Python 출력 유형을 변경할 수도 있습니다. 오른쪽 클릭 메뉴를 열고 Python 출력으로 이동한 다음 원하는 출력 형식을 선택합니다.
다음 스크린샷은 이전 스크린샷과 동일한 Python 수식을 보여 줍니다. 이제 Python 개체로 반환됩니다. 수식이 Python 개체로 반환되면 셀에 카드 아이콘이 표시됩니다.
참고
Excel 값으로 반환된 수식 결과는 해당되는 가장 가까운 Excel로 변환됩니다. 향후 Python 계산에서 결과를 다시 사용하려는 경우 결과를 Python 개체로 반환하는 것이 좋습니다. 결과를 Excel 값으로 반환하면 해당 값에 대해 Excel 차트, 수식 및 조건부 서식과 같은 Excel 분석을 실행할 수 있습니다.
Python 개체에는 셀 내에 추가 정보가 포함되어 있습니다. 추가 정보를 보려면 카드 아이콘을 선택하여 카드 엽니다. 카드에 표시되는 정보는 개체의 미리보기로 큰 개체를 처리할 때 유용합니다.
Excel의 Python은 여러 유형의 데이터를 Python 개체로 반환할 수 있습니다. Excel의 유용한 Python 데이터 형식은 DataFrame 개체입니다. Python DataFrame에 대한 자세한 내용은 Excel DataFrame의 Python을 참조하세요.
외부 데이터 가져오기
Excel의 Python으로 처리하는 모든 데이터는 워크시트 또는 파워 쿼리를 통해 가져와야 합니다. 외부 데이터를 가져오려면 Excel의 & 변환 가져오기 기능을 사용하여 파워 쿼리에 액세스합니다. 자세한 내용은 파워 쿼리를 사용하여 Excel의 Python용 데이터 가져오기를 참조하세요.
중요
보안을 유지하기 위해 pandas.read_csv 및 pandas.read_excel와 같은 Python의 일반적인 외부 데이터 함수는 Excel의 Python과 호환되지 않습니다. 자세한 내용은 데이터 보안 및 Excel의 Python을 참조하세요.
계산 순서
기존 Python 문은 위에서 아래로 계산합니다. Excel의 Python 셀 내에서 Python 문은 동일한 작업을 수행합니다. 위에서 아래로 계산합니다. 그러나 Excel의 Python 워크시트에서 Python 셀은 행 중심 순서로 계산됩니다. 셀 계산은 한 행( 열 A 에서 열 XFD까지)에 걸쳐 실행된 다음 워크시트의 각 행에 걸쳐 실행됩니다.
Python 문은 순서가 지정되므로 각 Python 문에는 계산 순서에서 바로 앞에 오는 Python 문에 대한 암시적 종속성이 있습니다.
워크시트에서 변수를 정의하고 참조할 때는 변수를 참조하려면 먼저 변수를 정의해야 하므로 계산 순서가 중요합니다.
중요
행 중심 계산 순서는 통합 문서 내의 워크시트 전체에도 적용되며 통합 문서 내의 워크시트 순서를 기반으로 합니다. 여러 워크시트를 사용하여 Excel의 Python을 사용하여 데이터를 분석하는 경우 해당 데이터를 분석하는 셀 및 워크시트 앞에 있는 셀과 워크시트에 데이터를 저장하는 데이터와 변수를 포함해야 합니다.
다시 계산
Python 셀의 종속 값이 변경되면 모든 Python 수식이 순차적으로 다시 계산됩니다. Python 다시 계산을 일시 중단하고 성능을 향상시키려면 부분 계산 또는 수동 계산 모드를 사용합니다. 이러한 모드를 사용하면 준비가 되었을 때 계산을 트리거할 수 있습니다. 이 설정을 변경하려면 리본으로 이동하여 수식을 선택한 다음 계산 옵션을 엽니다. 그런 다음 원하는 계산 모드를 선택합니다. 부분 계산 및 수동 계산 모드는 Python 및 데이터 테이블 모두에 대한 자동 재계산을 일시 중단합니다.
Python 개발 중에 통합 문서에서 자동 재계산을 비활성화하면 성능과 개별 Python 셀 계산 속도를 향상시킬 수 있습니다. 그러나 각 Python 셀의 정확성을 보장하려면 통합 문서를 수동으로 다시 계산해야 합니다. 부분 계산 또는 수동 계산 모드에서 통합 문서를 수동으로 다시 계산하는 세 가지 방법이 있습니다.
- 바로 가기 키 F9를 사용합니다.
- 리본에서 수식>지금 계산 으로 이동합니다.
- 취소선 서식으로 표시된 오래된 값이 있는 셀로 이동하여 해당 셀 옆에 있는 오류 기호를 선택합니다. 그런 다음 메뉴에서 지금 계산을 선택합니다.
오류
Excel 계산의 Python은 Python 셀에 #PYTHON!, #BUSY!, #CONNECT! 등의 오류를 반환할 수 있습니다. 자세한 내용은 Excel의 Python 오류 문제 해결을 참조하세요.