Cómo usar: Fórmula Excel a Python
- Pega una fórmula de Excel o Google Sheets, o elige una de Ejemplos.
- Elige el lenguaje de destino. La página empieza en Python, y puedes cambiarlo en cualquier momento.
- Renombra las referencias de celda detectadas por nombres de variables significativos, por ejemplo
B2→precio. - Elige una función completa o solo la expresión, y luego copia o descarga el código. Las funciones auxiliares se añaden automáticamente cuando la fórmula las necesita.
Llevar la lógica de las hojas de cálculo a Python
Los equipos de datos reconstruyen con frecuencia modelos de Excel en Python: para automatizar un informe mensual, alimentar un flujo de pandas o trasladar un cálculo detrás de una API. Volver a escribir las fórmulas a mano es lento y arriesgado, porque Python y Excel difieren en detalles como el redondeo y la comparación de texto. Este convertidor analiza la fórmula con las reglas de precedencia propias de Excel y genera código Python equivalente y legible.
=SUMIFS(D2:D100, B2:B100, "North", C2:C100, ">=1000")
def calculate(d2_d100, b2_b100, c2_c100):
return sum_ifs(d2_d100, b2_b100, 'North', c2_c100, '>=1000')
La función auxiliar sum_ifs() (y la función matches_criteria() que utiliza) se incluye encima de la función principal, así que la salida se ejecuta tal cual.
Cómo se traducen las funciones de Excel a Python
| Excel | Python |
|---|---|
IF(c, a, b) | a if c else b |
IFS / SWITCH | chained conditional expressions |
AND, OR, NOT | and, or, not |
= and <> | == and != |
a & b | str(a) + str(b) |
a ^ b | a ** b |
SUM(A2:A10) | sum(a2_a10) |
ROUND(x, 2) | excel_round() helper — not round() |
MOD(a, b) | a % b |
SUMIFS / COUNTIF… | sum_ifs(), count_if() helpers |
VLOOKUP / XLOOKUP | vlookup(), xlookup() helpers |
IFERROR(x, y) | if_error(lambda: x, y) |
LEFT / MID / LEN | slicing, len() |
TODAY() / NOW() | date.today(), datetime.now() |
Trampas que el convertidor resuelve
- Redondeo bancario. El
round(2.5)de Python devuelve 2 yround(0.125, 2)devuelve 0.12; Excel da 3 y 0.13. La salida usa una función auxiliarexcel_round()basada enDecimalconROUND_HALF_UP. - Concatenación.
"Total: " + 5provoca unTypeErroren Python, así que cada operando no textual de&se envuelve enstr(). - SI es una expresión.
IFse convierte en la expresión condicional de Python (a if c else b), y los SI anidados se encadenan de forma natural. - División entera. El
/de Python 3 siempre devuelve un float, igual que Excel. - Errores.
IFERRORse convierte enif_error(lambda: …, fallback), que capturaZeroDivisionError, losLookupErrorde las búsquedas y otras excepciones. - Fechas.
DATE,TODAYyYEARse asignan al módulodatetime. Excel ajusta las fechas no válidas (mes 13); Python lanza un error, y el convertidor te avisa.
Trabajar con pandas
Las funciones generadas trabajan con valores escalares y listas. Para aplicar una fórmula por filas a un DataFrame, llámala con df.apply(lambda r: calculate(r.price, r.qty), axis=1); para agregados como SUMAR.SI.CONJUNTO, las máscaras booleanas de pandas (df.loc[(df.region == 'North') & (df.total >= 1000), 'amount'].sum()) son más rápidas con datos grandes.
Funciones compatibles: IF, IFS, SWITCH, AND, OR, NOT, XOR, IFERROR, IFNA, ISBLANK, ISNUMBER, ISTEXT, SUM, AVERAGE, MIN, MAX, COUNT, COUNTA, COUNTBLANK, PRODUCT, MEDIAN, ROUND, ROUNDUP, ROUNDDOWN, INT, TRUNC, ABS, SIGN, MOD, POWER, SQRT, EXP, LN, LOG, LOG10, PI, CEILING, FLOOR, RAND, RANDBETWEEN, SUMIF, SUMIFS, COUNTIF, COUNTIFS, AVERAGEIF, AVERAGEIFS, SUMPRODUCT, VLOOKUP, XLOOKUP, MATCH, INDEX, CONCAT, CONCATENATE, TEXTJOIN, LEFT, RIGHT, MID, LEN, UPPER, LOWER, PROPER, TRIM, SUBSTITUTE, REPLACE, FIND, SEARCH, REPT, VALUE, EXACT, TEXT (formatos numéricos), TODAY, NOW, DATE, YEAR, MONTH, DAY. Carga la propia hoja de cálculo con Excel a JSON y json.load().
También se busca como: excel a python, convertir fórmula excel a python, fórmula excel a python código, fórmulas de excel en python, google sheets fórmula a python, fórmula de hoja de cálculo a python, buscarv en python, excel formula to python.
Herramientas que combinan con: Fórmula Excel a Python
- Fórmula de Excel a JavaScript — Pega una fórmula de hoja de cálculo y obtén JavaScript legible: una función con parámetros con nombre, precedencia de operadores correcta y pequeñas funciones auxiliares para lo que JavaScript no tiene, como SUMIFS y VLOOKUP.
- Fórmula Excel a SQL — Pega una fórmula de Excel y obtén la expresión SQL equivalente o una consulta SELECT: IF e IFS como CASE WHEN, SUMIFS y COUNTIFS como agregados condicionales, y las funciones de texto y fecha adecuadas para tu base de datos.
- Fórmula Excel a PHP — Pega una fórmula de hoja de cálculo y obtén una función PHP 8: ternarios entre paréntesis, funciones de cadena mb_* y funciones auxiliares para búsquedas, sumas condicionales y MOD al estilo Excel.
- CSV a JSON — Pega CSV o TSV y obtén un array JSON de objetos.
Preguntas frecuentes
¿Por qué la salida usa excel_round() en lugar de round()?
round(2.5) es 2. Excel redondea los medios alejándose de cero. La función auxiliar reproduce el comportamiento de Excel exactamente.¿Funciona con DataFrames de pandas?
.tolist(), o aplica una función por filas con df.apply(…, axis=1).¿Cómo se traduce VLOOKUP?
vlookup(value, table, column, approximate), donde la tabla es una lista de filas. La coincidencia exacta (FALSO) compara el texto sin distinguir mayúsculas, como Excel, y un valor que no existe lanza un LookupError, que IFERROR captura.