Cómo usar: Fórmula de Excel a JavaScript
- Pega una fórmula de Excel o Google Sheets, o elige una de Ejemplos.
- Elige el lenguaje de destino: la página empieza con JavaScript y puedes cambiarlo en cualquier momento.
- Renombra las referencias de celda detectadas por nombres de variable 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 una fórmula las necesita.
¿Por qué convertir fórmulas de Excel a JavaScript?
La lógica de negocio suele empezar en una hoja de cálculo: un modelo de precios, una tabla de comisiones, una comprobación de elegibilidad. Cuando esa lógica pasa a una aplicación web, una API de Node.js o un Google Apps Script, cada fórmula hay que reescribirla a mano, y las diferencias sutiles entre Excel y JavaScript causan errores que solo aparecen con datos reales. Este convertidor analiza la fórmula exactamente como lo hace Excel y genera el JavaScript equivalente.
=IF(AND(B2>=18, C2="yes"), "Eligible", "Not eligible")
function calculate(B2, C2) {
return B2 >= 18 && C2 === 'yes' ? 'Eligible' : 'Not eligible';
}
Cómo se traducen las funciones de Excel a JavaScript
| Excel | JavaScript |
|---|---|
IF(c, a, b) | c ? a : b |
IFS / SWITCH | nested ternaries |
AND, OR, NOT | &&, ||, ! |
= and <> | === and !== |
a & b | String(a) + b |
a ^ b | a ** b |
SUM(A2:A10) | A2_A10.reduce(…) |
ROUND(x, 2) | round() helper (half away from zero) |
MOD(a, b) | mod() helper |
SUMIFS / COUNTIF… | sumIfs(), countIf() helpers |
VLOOKUP / XLOOKUP | vlookup(), xlookup() helpers |
IFERROR(x, y) | ifError(() => x, y) |
LEFT / MID / LEN | .slice(), .substr(), .length |
TODAY() / NOW() | new Date() |
Diferencias que causan errores
- Precedencia de operadores. En Excel
=-2^2da 4 porque la negación tiene más prioridad que^. JavaScript ni siquiera permite-2 ** 2. El convertidor siempre añade los paréntesis que Excel implica:(-2) ** 2. - Redondeo. Excel redondea los medios alejándose de cero;
Math.round(-2.5)devuelve −2 y(1.005).toFixed(2)da "1.00". El helperround()generado coincide con Excel. - Restos.
MOD(-7, 3)es 2 en Excel, pero-7 % 3es −1 en JavaScript, por eso se usa un helpermod(). - Comparación de texto. El
=de Excel ignora mayúsculas en el texto;===no. Las búsquedas y los helpers de criterios comparan sin distinguir mayúsculas, igual que Excel. - Concatenación.
&siempre produce texto, mientras que+suma números. El convertidor envuelve el primer operando enString()para queA1 & B1nunca se convierta en una suma. - Errores. La división entre cero devuelve
Infinityen lugar de lanzar una excepción, así queifError()comprueba resultados no finitos además de las excepciones.
Rangos, búsquedas y criterios
Un rango de una sola columna o fila, como A2:A100, se convierte en un parámetro de tipo array; un rango de varias columnas, como A2:C500, se convierte en un array de filas, que es la forma que espera vlookup(). Las cadenas de criterios funcionan igual que en Excel: ">=1000", "<>closed" y comodines como "*@example.com".
Funciones admitidas: 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. Cualquier otra se mantiene como llamada y se lista para que puedas implementarla. ¿También necesitas los datos? Convierte la hoja en un array con Excel a array de JavaScript.
También se busca como: excel a javascript, fórmula excel a js, fórmula google sheets a javascript, convertir fórmula excel a código, fórmula excel a node, fórmula de hoja de cálculo a javascript, convertidor de fórmulas excel.
Herramientas que combinan con: Fórmula de Excel a JavaScript
- Fórmula Excel a Python — Pega una fórmula de Excel o Google Sheets y obtén una función Python con nombres de variables claros, los imports necesarios y funciones auxiliares para SUMAR.SI.CONJUNTO, BUSCARV y el redondeo al estilo de Excel.
- 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.
- 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.
- Formateador de JavaScript — Desminifica y da formato a JavaScript, JSON o JSX con la sangría y el estilo de llaves que prefieras, o elimina espacios y comentarios con un minificador verificado.
Preguntas frecuentes
¿El JavaScript generado da los mismos resultados que Excel?
A2 + 30, necesitan adaptarse.¿Puedo usarlo con fórmulas de Google Sheets o Apps Script?
¿Qué pasa con las funciones que no reconoce?
networkdays(…)) y se listan encima de la salida para que puedas implementarlas o reemplazarlas.¿Mi fórmula se envía a algún servidor?
¿Cómo se nombran las referencias de celda?
B2 se queda como B2 y A2:A10 se convierte en A2_A10. Escribe un nombre junto a cualquier referencia para renombrarla en toda la salida.