Introducción a Python en Excel

Se aplica a
Excel para Microsoft 365 Excel para Microsoft 365 para Mac

Para obtener información sobre la disponibilidad, consulte la disponibilidad de Python en Excel. Si encuentra algún problema con Python en Excel, notifíquelo seleccionandoComentarios de ayuda> en Excel.

¿Es nuevo en Python en Excel? Comience con Introducción a Python en Excel.

Empezar a usar Python

Para empezar a usar Python en Excel, seleccione una celda y, en la pestaña Fórmulas , seleccione Insertar Python. Esto indica a Excel que quiere escribir una fórmula de Python en la celda seleccionada.

Vaya a Fórmulas y, a continuación, seleccione Insertar Python.

O use la función =PY en una celda para habilitar Python. Después de escribir =PY en la celda, elija PY en el menú Autocompletar de la función con las teclas Tabulador y flecha abajo, o agregue un paréntesis de apertura a la función: =PY(. Ahora, puede escribir código de Python directamente en la celda. En la captura de pantalla siguiente se muestra el menú Autocompletar con la función PY seleccionada.

Escriba =PY en una celda para habilitar Python.

Una vez que Python está habilitado en una celda, esa celda muestra un icono PY . La barra de fórmulas muestra el mismo icono PY cuando se selecciona la celda de Python. Vea la siguiente captura de pantalla para ver un ejemplo.

Un libro de Excel con Python en Excel habilitado en una celda, que muestra el icono PY verde en la celda.

Combinar Python con celdas y rangos de Excel

Para hacer referencia a objetos de Excel en una celda de Python, asegúrese de que la celda de Python está en modo de edición y, a continuación, seleccione la celda o el rango que desea incluir en la fórmula de Python. Esto rellena automáticamente la celda de Python con la dirección de la celda o rango que seleccionó.

Recomendación

Use el método abreviado de teclado F2 para alternar entre el modo Entrar y el modo Edición en celdas de Python. Alternar al modo de edición le permite editar la fórmula de Python y cambiar al modo Entrar le permite seleccionar celdas o rangos adicionales con el teclado. Para obtener más información sobre métodos abreviados de teclado, consulte Métodos abreviados de teclado de Python en Excel.

Python en Excel usa la función xl() de Python personalizada para interactuar entre Excel y Python. La xl() función acepta objetos de Excel como rangos, tablas, consultas y nombres.

También puede escribir referencias directamente en una celda de Python con la xl() función. Por ejemplo, para hacer referencia a la celda A1 , use xl("A1") y para el rango B1:C4 use xl("B1:C4"). Para una tabla con encabezados denominados MyTable, use xl("MyTable[#All]", headers=True). El especificador [#All] garantiza que toda la tabla se analiza en la fórmula de Python y headers=True garantiza que los encabezados de tabla se procesan correctamente. Para obtener más información sobre especificadores, como [#All], consulte Uso de referencias estructuradas con tablas de Excel.

En la siguiente imagen se muestra un cálculo de Python en Excel sumando los valores de las celdas A1 y B1, con el resultado de Python devuelto en la celda C1.

Use la función de Python personalizada xl() para interactuar entre Excel y Python.

Barra de fórmulas

Use la barra de fórmulas para un comportamiento de edición similar al de un código, como usar la tecla Entrar para crear nuevas líneas. Expanda la barra de fórmulas mediante el icono de flecha abajo para ver varias líneas de código a la vez. También puede usar el método abreviado de teclado Ctrl+Mayús+U para expandir la barra de fórmulas. Las siguientes capturas de pantalla muestran una barra de fórmulas antes y después de expandirla para ver varias líneas de código de Python.

Antes de expandir la barra de fórmulas:
...

Después de expandir la barra de fórmulas:

Expanda la barra de fórmulas para ver más líneas de código.

Recomendación

Para obtener un espacio de edición de código aún mayor y características como la coloración de texto e IntelliSense, use el editor de código de Python en Excel.

Tipos de salida

Use el menú de salida de Python de la barra de fórmulas para controlar cómo se devuelven los cálculos de Python. Devuelva los cálculos como objetos de Python o convierta los cálculos en valores de Excel y envíelos directamente a una celda. En la captura de pantalla siguiente se muestra la fórmula de Python devuelta como un valor de Excel.

Recomendación

También puede usar el menú contextual para cambiar el tipo de salida de Python. Abra el menú contextual y vaya a Python Output, y luego seleccione el tipo de salida deseado.

Use el menú de salida de Python para cambiar entre los tipos de salida.

En la captura de pantalla siguiente se muestra la misma fórmula de Python que la captura de pantalla anterior, ahora devuelta como un objeto de Python. Cuando una fórmula se devuelve como un objeto de Python, la celda muestra un icono de tarjeta.

Nota

Los resultados de la fórmula devueltos a valores de Excel se convierten al equivalente de Excel más cercano. Si tiene previsto volver a usar el resultado en un cálculo de Python futuro, se recomienda devolver el resultado como un objeto de Python. Devolver un resultado como valores de Excel le permite ejecutar análisis de Excel, como gráficos de Excel, fórmulas y formato condicional, en el valor.

Cuando los datos se devuelven como un objeto de Python, la celda muestra un icono de tarjeta de Python.

Un objeto de Python contiene información adicional dentro de la celda. Para ver la información adicional, abra la tarjeta seleccionando el icono de la tarjeta. La información que se muestra en la tarjeta es una vista previa del objeto, que es útil al procesar objetos grandes.

Python en Excel puede devolver muchos tipos de datos como objetos de Python. Un tipo de datos útil de Python en Excel es un objeto DataFrame. Para obtener más información sobre los DataFrames de Python, consulte DataFrames de Python en Excel.

Importar datos externos

Todos los datos que procese con Python en Excel deben proceder de la hoja de cálculo o a través de Power Query. Para importar datos externos, use la característica Obtener & transformar de Excel para acceder a Power Query. Para obtener más información, consulte Usar Power Query para importar datos para Python en Excel.

Importante

Para proteger su seguridad, las funciones de datos externos comunes en Python, como pandas.read_csv y pandas.read_excel, no son compatibles con Python en Excel. Para obtener más información, consulte Seguridad de datos y Python en Excel.

Orden de cálculo

Las declaraciones tradicionales de Python calculan de arriba a abajo. Dentro de una celda de Python en Excel, las instrucciones de Python hacen lo mismo: calculan de arriba a abajo. Pero en una hoja de cálculo de Python en Excel, las celdas de Python se calculan en orden de fila principal. Los cálculos de celdas se ejecutan en una fila (de la columna A a la columna XFD) y, a continuación, en cada fila siguiente de la hoja de cálculo.

Las instrucciones de Python están ordenadas, por lo que cada instrucción de Python tiene una dependencia implícita en la instrucción de Python que la precede inmediatamente en el orden de cálculo.

El orden de cálculo es importante al definir y hacer referencia a variables en una hoja de cálculo, ya que debe definir variables para poder hacer referencia a ellas.

Importante

El orden de cálculo de la fila principal también se aplica en las hojas de cálculo de un libro y se basa en el orden de las hojas de cálculo del libro. Si usa varias hojas de cálculo para analizar datos con Python en Excel, asegúrese de incluir los datos y las variables que almacenan datos en las celdas y hojas de cálculo anteriores a las celdas y hojas de cálculo que analizan esos datos.

Volver a calcular

Cuando cambia un valor dependiente de una celda de Python, todas las fórmulas de Python se recalculan secuencialmente. Para suspender los nuevos cálculos de Python y mejorar el rendimiento, utilice el modo de cálculo parcial o manual . Estos modos le permiten desencadenar un cálculo cuando esté listo. Para cambiar esta configuración, vaya a la cinta de opciones, seleccione Fórmulas y abra Opciones de cálculo. A continuación, seleccione el modo de cálculo deseado. Los modos Cálculo parcial y Cálculo manual suspenden el recálculo automático tanto para Python como para las tablas de datos.

Deshabilitar el recálculo automático en un libro durante el desarrollo de Python puede mejorar el rendimiento y las velocidades de cálculo de celdas de Python individuales. Sin embargo, debe volver a calcular manualmente el libro para garantizar la precisión en cada celda de Python. Hay tres maneras de volver a calcular manualmente un libro en modo de cálculo parcial o manual .

  1. Use el método abreviado de teclado F9.
  2. Vaya a Fórmulas>Calcular ahora en la cinta de opciones.
  3. Vaya a una celda con un valor obsoleto, mostrado con formato de tachado, y seleccione el símbolo de error junto a esa celda. A continuación, selecciona Calcular ahora en el menú.

Errores

Los cálculos de Python en Excel pueden devolver errores como #PYTHON!, #BUSY! y #CONNECT! a celdas de Python. Para obtener más información, consulte Solución de errores de Python en Excel.