Convertidor de fórmulas 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.

Actualizado el

Pega la fórmula con o sin el = inicial. Las comas y los punto y coma funcionan como separadores de argumentos.

Salida

Referencias de celdas

Las referencias aparecen aquí en cuanto introduces una fórmula.

Dales a las referencias nombres significativos (B2 → precio). Los rangos se convierten en listas; los rangos de varias columnas, en listas de filas.

Tus datos nunca salen de tu ordenador. Todo se procesa localmente en tu navegador.

Cómo usar: Fórmula de Excel a JavaScript

  1. Pega una fórmula de Excel o Google Sheets, o elige una de Ejemplos.
  2. Elige el lenguaje de destino: la página empieza con JavaScript y puedes cambiarlo en cualquier momento.
  3. Renombra las referencias de celda detectadas por nombres de variable significativos, por ejemplo B2 → precio.
  4. 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

ExcelJavaScript
IF(c, a, b)c ? a : b
IFS / SWITCHnested ternaries
AND, OR, NOT&&, ||, !
= and <>=== and !==
a & bString(a) + b
a ^ ba ** 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 / XLOOKUPvlookup(), 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^2 da 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 helper round() generado coincide con Excel.
  • Restos. MOD(-7, 3) es 2 en Excel, pero -7 % 3 es −1 en JavaScript, por eso se usa un helper mod().
  • 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 en String() para que A1 & B1 nunca se convierta en una suma.
  • Errores. La división entre cero devuelve Infinity en lugar de lanzar una excepción, así que ifError() 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?
En las funciones admitidas, sí, incluido el redondeo al estilo de Excel, los signos de MOD y las búsquedas sin distinguir mayúsculas. Las fechas son objetos Date de JavaScript y no números de serie de Excel, así que las operaciones con fechas, como A2 + 30, necesitan adaptarse.
¿Puedo usarlo con fórmulas de Google Sheets o Apps Script?
Sí. Google Sheets usa la misma sintaxis de fórmulas para las funciones admitidas, y el resultado funciona sin cambios en Google Apps Script, en navegadores y en Node.js.
¿Qué pasa con las funciones que no reconoce?
Se mantienen como llamadas a función con el mismo nombre (por ejemplo networkdays(…)) y se listan encima de la salida para que puedas implementarlas o reemplazarlas.
¿Mi fórmula se envía a algún servidor?
No. El análisis y la generación de código se ejecutan por completo en tu navegador.
¿Cómo se nombran las referencias de celda?
Por defecto, 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.
¿Puedo instalar Fórmula de Excel a JavaScript como aplicación web y utilizarla sin conexión?
Sí. Fórmula de Excel a JavaScript es una aplicación web instalable (PWA): se instala desde el navegador, no se descarga desde una tienda de aplicaciones. Haz clic en «Instalar aplicación» en la parte superior de esta página en Chrome o Edge (Windows, macOS, Linux, ChromeOS) o, en Android, utiliza «Compartir» → «Añadir a la pantalla de inicio» en iPhone y iPad, o «Archivo» → «Añadir al Dock» en Safari 17+ en un Mac. A continuación, se abrirá en su propia ventana con su propio icono y, como se ejecuta íntegramente en tu navegador, seguirá funcionando sin conexión. Firefox en el ordenador de sobremesa no permite instalar aplicaciones web. Cómo funciona la instalación.

Herramientas relacionadas