Python en Excel es una función de Microsoft 365 que te permite escribir código de Python directamente en una celda con la función =PY y usar pandas, Matplotlib y otras librerías populares sobre los datos de tu hoja, sin instalar Python en tu computadora. El código se ejecuta en la nube de Microsoft y devuelve el resultado a la cuadrícula como un valor, una tabla o un gráfico. Es un puente práctico para quienes usan Excel y quieren la potencia de análisis de Python sin salir del libro que su equipo ya utiliza.
Qué es Python en Excel (y qué no es)
Python en Excel agrega un nuevo tipo de celda. En vez de una fórmula normal, la celda contiene código de Python capaz de leer rangos y tablas del libro. Antes de empezar, conviene entender esto:
- Se ejecuta en la nube, no en tu PC. Microsoft corre el código en un entorno aislado en la nube con un conjunto seleccionado de librerías que provee Anaconda, así que necesitas conexión a internet.
- Los datos salen del libro. Tu código lee celdas, tablas, nombres y conexiones de Power Query con la función
xl(). Funciones comopd.read_csvopd.read_excelno sirven aquí para cargar archivos externos; primero tráelos con Power Query (Obtener y transformar). - No es un entorno de Python completo. No puedes instalar cualquier paquete ni ejecutar procesos largos en segundo plano. Para tener total flexibilidad sigue siendo mejor una instalación local; revisa Python para análisis de datos: por dónde empezar.
Quién puede usarlo: disponibilidad y licencias
La disponibilidad depende de tu plan de Microsoft 365, tu plataforma y tu canal de actualizaciones, y Microsoft la ha ido ampliando por etapas. Al momento de escribir este artículo, las páginas de soporte de Microsoft indican que funciona en Excel para Windows, Excel para Mac y Excel para la web, mientras que las apps móviles pueden abrir libros con celdas de Python pero no recalcularlas. Una suscripción de Microsoft 365 que califique incluye Python en Excel, y existe un complemento opcional de pago con cómputo premium (cálculos más rápidos) y modos adicionales de recálculo.
Como los planes, canales y precios cambian, confirma los detalles en la página oficial de Microsoft sobre la disponibilidad de Python en Excel y en su página de precios antes de implementarlo en tu equipo. Si no ves Insertar Python en la pestaña Fórmulas, es posible que tu cuenta, plataforma o canal todavía no lo tenga.
Tu primera fórmula de Python, paso a paso
- Convierte tus datos en una Tabla de Excel (selecciónalos y presiona Ctrl+T) y dale un nombre claro, como
Sales, en la pestaña Diseño de tabla. - Selecciona una celda vacía y elige Fórmulas > Insertar Python, o escribe
=PY(en la celda. También puedes presionar Ctrl+Alt+Shift+P. - Escribe tu código en la celda o en la barra de fórmulas. Dentro de una celda de Python, la tecla Enter agrega una línea nueva.
- Presiona Ctrl+Enter para ejecutar (confirmar) el código.
- Elige cómo mostrar el resultado: como objeto de Python o como valor de Excel (lo explicamos abajo).
Este primer ejemplo lee la tabla y resume los ingresos por región:
df = xl("Sales[#All]", headers=True)
df["Revenue"] = df["Units"] * df["Price"]
df.groupby("Region")["Revenue"].sum().sort_values(ascending=False)
Lo que devuelve la celda es el resultado de la última línea. xl("Sales[#All]", headers=True) carga toda la tabla, incluida la fila de encabezados, en un DataFrame de pandas. También puedes referenciar rangos normales, por ejemplo xl("A1:D200", headers=True), pero las tablas son más seguras porque crecen solas cuando agregas filas.
Objetos de Python vs valores de Excel
Cada celda de Python puede devolver su resultado de dos maneras. Cambia entre ellas desde el menú de salida de Python junto a la barra de fórmulas, con clic derecho sobre la celda o con Ctrl+Alt+Shift+M.
| Tipo de salida | Qué ves | Cuándo usarla |
|---|---|---|
| Objeto de Python | Un ícono de tarjeta con el tipo de objeto (por ejemplo DataFrame); haz clic para ver una vista previa | Vas a reutilizar el resultado en otras celdas de Python |
| Valor de Excel | El resultado se desborda en la cuadrícula como números y texto normales | Quieres que fórmulas, gráficos o formato condicional usen el resultado |
Ejemplos prácticos para analistas
Limpiar una columna desordenada
df = xl("Sales[#All]", headers=True)
df["Customer"] = df["Customer"].str.strip().str.title()
df = df.drop_duplicates(subset=["OrderID"])
df
Estadística descriptiva en segundos
df = xl("Sales[#All]", headers=True)
df[["Units", "Price"]].describe()
Si lo devuelves como valor de Excel, obtienes en un solo rango el conteo, el promedio, la desviación estándar, el mínimo, los cuartiles y el máximo.
Un gráfico dentro de una celda
import matplotlib.pyplot as plt
df = xl("Sales[#All]", headers=True)
monthly = df.groupby("Month")["Units"].sum()
fig, ax = plt.subplots()
monthly.plot(kind="bar", ax=ax, title="Units by month")
fig
El gráfico aparece como un objeto de imagen en la celda. Puedes abrirlo en una vista más grande o colocarlo sobre la cuadrícula como imagen. Para más estilos de gráficos, lee Gráficos en Python: Matplotlib vs Plotly.
Librerías comunes como pandas, NumPy, Matplotlib y seaborn vienen listas para usar; Microsoft publica la lista completa y las importaciones predeterminadas en sus artículos sobre librerías de código abierto y configuración de inicialización de Python en Excel.
Python en Excel vs fórmulas normales de Excel
No necesitas Python para todo. Las funciones de matrices dinámicas como FILTRAR (FILTER), ORDENAR (SORT) y UNICOS (UNIQUE) resuelven muchas tareas con elegancia; revisa Matrices dinámicas en Excel. Python en Excel es más útil cuando necesitas:
- Análisis estadístico más allá de las funciones integradas (regresión con statsmodels, correlaciones, distribuciones).
- Limpieza de textos con expresiones regulares.
- Tipos de gráficos que Excel no ofrece de forma nativa, como mapas de calor o pair plots de seaborn.
- Lógica reutilizable y legible donde una fórmula se convertiría en un nido ilegible de funciones SI (IF).
Ten en cuenta que quienes reciban el archivo necesitan una versión compatible de Excel para recalcular las celdas de Python, aunque igual verán los últimos resultados calculados.
Limitaciones y buenas prácticas
- Requiere internet: errores como
#CONNECT!suelen indicar que no se pudo llegar al servicio en la nube. - Rendimiento: los libros grandes con muchas celdas de Python pueden sentirse lentos. Cambia a cálculo manual o parcial y presiona F9 cuando quieras recalcular.
- Códigos de error:
#PYTHON!significa que tu código generó un error; abre el panel de diagnóstico para leer el mensaje.#BUSY!indica que el cálculo sigue en proceso. - Gobierno de datos: los administradores de tu organización pueden controlar la función, y Microsoft explica cómo maneja los datos en su artículo sobre seguridad de datos y Python en Excel. Revísalo antes de usar información sensible.
- Documentación: agrega comentarios en tu código (líneas que empiezan con
#) para que tus compañeros entiendan qué hace cada celda.
Próximos pasos
Revisa si aparece Insertar Python en tu pestaña Fórmulas, convierte un conjunto de datos en una tabla con nombre y recrea una tabla dinámica con groupby. Luego prueba un gráfico y un describe() rápido. Cuando el trabajo por celdas se te quede corto, lleva esas mismas habilidades de pandas a un notebook con nuestro tutorial de pandas para usuarios de Excel.
Mira: lecciones en video


Preguntas frecuentes
¿Necesito instalar Python para usar Python en Excel?
No. El código se ejecuta en la nube de Microsoft con librerías que provee Anaconda, así que no hay que instalar nada en tu equipo. Sí necesitas conexión a internet y una suscripción de Microsoft 365 que califique.
¿Python en Excel puede leer archivos CSV o conectarse a internet?
Tu código trabaja con datos que ya están en el libro y los lee con la función xl(). Para usar archivos o bases de datos externas, impórtalos primero con Power Query y luego referencia el resultado con xl().
¿Python en Excel es gratis?
Viene incluido en las suscripciones de Microsoft 365 que califican, y Microsoft vende un complemento opcional con cómputo premium y modos de cálculo adicionales. Los planes y precios cambian, así que revisa las páginas oficiales de disponibilidad y precios.
¿Puedo instalar paquetes de Python adicionales?
Python en Excel ofrece un conjunto seleccionado de librerías a través de Anaconda, en lugar de permitir instalar cualquier paquete. El artículo de Microsoft sobre librerías de código abierto indica cuáles están disponibles.
Marca esta lección como completada para seguir tu progreso.