Curso
Si alguna vez has pasado demasiado tiempo clasificando fórmulas o desplazándote por interminables filas de datos en Excel, no eres el único. Es una herramienta fiable para el trabajo diario con datos, especialmente en el ámbito empresarial. Pero o
A medida que tus conjuntos de datos se hacen más grandes y tus análisis más complejos, Excel puede empezar a mostrar sus limitaciones. El rendimiento se ralentiza y tareas como el análisis avanzado o la automatización se vuelven engorrosas.
Una de las cosas menos conocidas es que Excel incluye soporte integrado para Python. Puedes escribir código Python directamente en tu hoja de cálculo y no necesitas alternar entre Excel y un IDE como Spyder. Esto abre la puerta a mejores gráficos, análisis más rápidos y una automatización más flexible, pero solo si puedes hacer que Python en Excel funcione para ti y no te quedes atascado con errores u otros problemas frustrantes.
Este artículo requiere algunos conocimientos de Python. Si eres nuevo en Python, te recomiendo que eches un vistazo a nuestros cursos más relevantes: Introducción a la importación de datos en Python y Python para usuarios de hojas de cálculo. Por último, quiero añadir que
Este artículo se centra en cómo utilizar Python dentro de Excel para mejorar tus hojas de cálculo. Si te interesa trabajar fuera de Excel (utilizando scripts de Python para leer, escribir y manipular archivos de Excel directamente), también te recomiendo leer nuestro tutorial de Python Excel, que trata este tema en detalle.
Por qué Python es útil en Excel
Antes de entrar en la configuración y la sintaxis, veamos por qué es importante esta integración. Probablemente hayas utilizado Excel para realizar cálculos rápidos, crear tablas o gráficos. Pero para análisis más avanzados, como la limpieza de grandes conjuntos de datos o el modelado de tendencias, Python cuenta con herramientas que Excel por sí solo no ofrece.
Acceso a bibliotecas precargadas
Python en Excel viene con la distribución Anaconda de forma predeterminada, por lo que obtienes acceso integrado a bibliotecas populares como pandas, NumPy, Seaborn, Matplotlib y scikit-learn. Estas herramientas son útiles cuando se trabaja con tablas, se visualizan patrones o se entrenan modelos. Con ellos precargados, puedes pasar directamente al análisis sin instalar nada adicional.
También puedes consultarel tutorial de Python Excel paraaprender a utilizar Python y escribir y manipular hojas de cálculo de Excel desde fuera de Excel.
Ejecución y colaboración basadas en la nube
Cuando usas Python en Excel, el código Python se ejecuta en contenedores seguros en Microsoft Azure. Por lo tanto, no es necesario instalar ni actualizar Python en tu ordenador. Además, el rendimiento se adapta a la carga de trabajo, permitiendo manejar incluso grandes conjuntos de datos. La colaboración en equipo es fácil gracias a los resultados coherentes y compartibles, y a que todo el código y los resultados se almacenan en un cuaderno de trabajo central.
Seguridad y cumplimiento normativo para usuarios empresariales
Microsoft ha integrado Python en Excel teniendo en cuenta aspectos de seguridad. Tu código se ejecuta en un entorno aislado, completamente separado de tu dispositivo o red. Esta función cumple totalmente con el RGPD y otras normativas, y los datos permanecen dentro de los límites de tu organización.
Introducción a Python en Excel
Python en Excel solo está disponible a través de suscripciones a Microsoft 365 para usuarios de Windows. La versión preliminar ya está disponible para macOS y para la web.
Activación y configuración
Para activar Python en Excel, ve a la Fórmulas y activa la opción Insertar Python .

Dado que Python en Excel utiliza un entorno Anaconda integrado, no es necesario instalar manualmente diferentes bibliotecas.
Verificación del entorno
Una vez activa, verás una celda con la fórmula: =PY(). Puedes escribir código Python dentro de esa función y luego usar Ctrl+Enter para ejecutar el código.

Puedes probar la configuración ejecutando este código: =PY("print('Hello, Excel')").

Si eres nuevo en Python o necesitas ayuda, Copilot puede guiarte sugiriéndote código, corrigiendo errores o explicándote cómo estructurar tu análisis.
Análisis y visualización más avanzados
Python lleva a Excel mucho más allá de su límite tradicional de análisis y visualización de datos. Ahora puedes realizar análisis avanzados con visualizaciones complejas gracias a esta integración.
Visualizaciones avanzadas con Matplotlib y Seaborn
Probablemente estés familiarizado con los gráficos integrados en Excel, como los gráficos de barras o circulares. Son rápidos y fáciles de usar para imágenes estándar. Pero cuando necesitas más control, como combinar tipos de gráficos o superponer datos, Python te ofrece más flexibilidad.
Supongamos que tienes un rango de datos con los datos de los empleados y deseas ver el salario medio de todos los departamentos. Puedes utilizar el siguiente código escrito en una celda de Excel para representar gráficamente esta representación. Observa aquí que la función « xl() » vincula las celdas de Excel con tu código Python.
import pandas as pd
import matplotlib.pyplot as plt
# Read the named range directly as a DataFrame
employee_data = xl("Employee[#All]", headers=True)
# Clean column names
employee_data.columns = employee_data.columns.str.strip()
# Convert numeric columns
employee_data["Age"] = pd.to_numeric(employee_data["Age"])
employee_data["YearsExperience"] = pd.to_numeric(employee_data["YearsExperience"])
employee_data["Salary"] = pd.to_numeric(employee_data["Salary"])
# Group by Department
grouped_data = employee_data.groupby("Department").agg({
"Name": "count",
"Salary": "mean"
}).rename(columns={"Name": "Headcount", "Salary": "AvgSalary"})
# Plot: Bar for headcount, Line for salary
fig, ax1 = plt.subplots(figsize=(10, 6))
# Bar chart for headcount
bars = ax1.bar(grouped_data.index, grouped_data["Headcount"], color="#00C74E", label="Headcount")
ax1.set_ylabel("Number of Employees", color="#00C74E")
ax1.set_xlabel("Department")
ax1.tick_params(axis='y', labelcolor="#00C74E")
# Line chart for average salary
ax2 = ax1.twinx()
line = ax2.plot(grouped_data.index, grouped_data["AvgSalary"], color="#0A66C2", marker="o", label="Avg Salary")
ax2.set_ylabel("Average Salary", color="#0A66C2")
ax2.tick_params(axis='y', labelcolor="#0A66C2")
# Title and layout
plt.title("Department Headcount vs. Average Salary")
fig.tight_layout()
plt.show()
El gráfico siguiente se mostrará como resultado de este código y se actualizará automáticamente a medida que introduzcas nuevos datos en el rango.

Modelado estadístico y predictivo más profundo
Python también te permite realizar modelos estadísticos. Puedes utilizar scikit-learn para regresión o clasificación, y statsmodels para resúmenes estadísticos.
A continuación se muestra un ejemplo del uso de Python en Excel para analizar datos de empleados:
import pandas as pd
from scipy.stats import linregress
# Read data from Excel table
employee_data = xl("Employee[#All]", headers=True)
# Clean column names
employee_data.columns = employee_data.columns.str.strip()
# Convert relevant columns to numeric
employee_data["Age"] = pd.to_numeric(employee_data["Age"])
employee_data["YearsExperience"] = pd.to_numeric(employee_data["YearsExperience"])
employee_data["Salary"] = pd.to_numeric(employee_data["Salary"])
# 1️. Summary statistics
summary = employee_data[["Age", "YearsExperience", "Salary"]].describe()
print("📊 Summary Statistics:\n", summary)
# 2️. Average salary by gender
gender_salary = employee_data.groupby("Gender")["Salary"].mean()
print("\n💰 Average Salary by Gender:\n", gender_salary)
# 3️. Correlation between experience and salary
correlation = employee_data["YearsExperience"].corr(employee_data["Salary"])
print(f"\n📈 Correlation (Experience vs Salary): {correlation:.3f}")

Te recomiendo que realices nuestro curso Pandas Joins para usuarios de hojas de cálculo para aprender a utilizar Pandas para realizar análisis avanzados en conjuntos de datos complejos.
Codificación en lenguaje natural con Copilot
Si no estás familiarizado con la escritura de código Python, puedes utilizar Copilot como asistente de IA. Con Copilot, puedes describir la tarea que deseas realizar en un lenguaje sencillo y dejar que el asistente se encargue de ella por ti. Copilot te permite acceder a diferentes funciones de Python en Excel con un mínimo esfuerzo técnico.
Consideraciones sobre la compatibilidad con plataformas y las licencias
Python en Excel sigue evolucionando y su disponibilidad depende de la plataforma que utilices.
Plataformas compatibles
Veamos dónde es compatible Python en Excel y qué limitacionespueden aplicarse.
|
Categoría |
Resumen |
|
Ventanas |
Asistencia completa para usuarios Enterprise y Business (versión 2408+). Vista previa para usuarios familiares y personales (versión 2405+). |
|
macOS |
Compatible con usuarios Enterprise y Business (versión 16.96+). Vista previa para usuarios familiares y personales a través del Programa Insider (versión 16.95+). |
|
Excel para Web |
Disponible para usuarios Enterprise y Business. Vista previa para usuarios familiares y personales. |
|
Usuarios del sector educativo |
Acceso previo a través del Programa Insider de Microsoft 365. |
|
Planes de expansión |
Implementación gradual, comenzando por Windows y la web. |
|
Bibliotecas personalizadas |
Solo se admiten las bibliotecas Anaconda precargadas, como pandas, NumPy, Matplotlib y scikit-learn. No se pueden instalar paquetes personalizados. |
|
Acceso sin conexión |
No disponible. El código Python se ejecuta en la nube de Microsoft y se necesita una conexión a Internet para ejecutar o actualizar las celdas Python. |
Condiciones de uso y cumplimiento
Las características de Python solo están disponibles en los planes comerciales de Microsoft 365 y requieren una licencia de organización. Para los usuarios empresariales, Microsoft aborda las necesidades clave de cumplimiento normativo, incluidos los controles de residencia de datos, el cumplimiento del RGPD y el aislamiento seguro. Esta característica lo convierte en una buena opción incluso para equipos con requisitos normativos estrictos.
Limitaciones actuales y soluciones alternativas
También descubrirás que Python en Excel tiene algunos inconvenientes que podrían limitar su aplicación.
Restricciones específicas de la plataforma
Te sugiero que tengas en cuenta lo siguiente al utilizar esta función:
- Se requiere conexión a Internet: Python se ejecuta en la nube, por lo que se necesita una conexión a Internet.
- No hay acceso a archivos locales: Python en Excel no puede acceder a los archivos, dispositivos o red de tu ordenador local. Esto limita su uso a los cuadernos de trabajo actuales sin conectarse a bases de datos locales o API externas.
- Bibliotecas personalizadas limitadas: No puedes instalar tus propios paquetes o bibliotecas de Python. Python en Excel solo proporciona acceso a un conjunto de bibliotecas preinstaladas de la distribución Anaconda. Para necesidades avanzadas, utiliza herramientas como Jupyter Notebooks, PyXLL, xlwings o complementos de Excel.
- Control del cálculo: Cuando cambias una celda, es posible que se vuelvan a calcular todas las fórmulas de Python de todas las pestañas del cuaderno de trabajo, lo que puede ralentizar el proceso y consumir tu cuota innecesariamente. Puedes seleccionar «Cálculo manual» o «Parcial» para cambiar la forma en que se realizan las actualizaciones automáticas.
Depuración y gestión de errores
Ten en cuenta estos consejos para resolver errores o funciones incompletas:
- Comprende los mensajes de error: Muchos problemas surgen de errores sintácticos o problemas de referencias.
- Problemas de dependencia: Utiliza siempre bibliotecas compatibles para evitar errores de importación.
- Apoyo de la comunidad: Para obtener ayuda, consulta la documentación de Microsoft Python en Excel o Anaconda y los foros de la comunidad.
Hoja de ruta para el futuro
Para sacar el máximo partido a Python en Excel, mantén Excel actualizado, explora las opciones locales y en la nube a medida que evolucionan y deja que Copilot te guíe a través de la codificación. Microsoft está trabajando para ampliar la compatibilidad de la plataforma, añadir más bibliotecas y mejorar la integración con Copilot y GitHub, por lo que hay aún más cosas que esperar.
Si deseas mejorar tus habilidades en Excel, te recomiendo que realices nuestro curso Análisis de datos en Excel. Este curso te ayudará a dominar el análisis avanzado y a impulsar tu carrera profesional. También quiero decir que, aunque hemos explorado cómo usar Python directamente dentro de Excel, a veces la mejor solución consiste en trabajar desde fuera. Si deseas automatizar archivos Excel o crear informes utilizando scripts de Python, consulta nuestro tutorial de Python Excel.
Por último, si trabajas con Google Sheets, lee nuestro tutorial sobre Google Sheets con Python, ya que Python en Excel y Python en Google Sheets son lo suficientemente diferentes como para que no puedas transferir los conocimientos de uno al otro, pero conocer ambos es útil.

