Conversor de Fórmula Excel para JavaScript

Cole uma fórmula de planilha e receba JavaScript legível: uma função com parâmetros nomeados, precedência de operadores correta e pequenas funções auxiliares para o que o JavaScript não tem, como SUMIFS e VLOOKUP.

Atualizado em

Cole com ou sem o = inicial. Vírgulas e ponto e vírgula funcionam como separadores de argumentos.

Saída

Referências de células

As referências aparecem aqui assim que você digitar uma fórmula.

Dê às referências nomes significativos (B2 → price). Intervalos viram listas; intervalos com várias colunas viram listas de linhas.

Seus dados nunca saem do seu computador. Todo o processamento acontece localmente no navegador.

Como usar: Fórmula Excel para JavaScript

  1. Cole uma fórmula do Excel ou do Google Sheets, ou escolha uma em Exemplos.
  2. Escolha a linguagem de destino. A página começa com JavaScript, e você pode trocar a qualquer momento.
  3. Renomeie as referências de célula detectadas para nomes de variáveis significativos, por exemplo B2 → price.
  4. Escolha uma função completa ou apenas a expressão e depois copie ou baixe o código. As funções auxiliares são adicionadas automaticamente quando a fórmula precisa delas.

Por que converter fórmulas do Excel para JavaScript?

A lógica de negócio geralmente começa numa planilha: um modelo de preços, uma tabela de comissões, uma verificação de elegibilidade. Quando essa lógica vai para um app web, uma API Node.js ou um Google Apps Script, cada fórmula precisa ser reescrita à mão, e as diferenças sutis entre Excel e JavaScript causam bugs que só aparecem com dados reais. Este conversor analisa a fórmula exatamente como o Excel faz e gera o JavaScript equivalente.

=IF(AND(B2>=18, C2="yes"), "Eligible", "Not eligible")

function calculate(B2, C2) {
  return B2 >= 18 && C2 === 'yes' ? 'Eligible' : 'Not eligible';
}

Como as funções do Excel correspondem ao 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()

Diferenças que causam bugs

  • Precedência de operadores. No Excel, =-2^2 resulta em 4, porque a negação tem prioridade sobre ^. O JavaScript nem permite -2 ** 2. O conversor sempre adiciona os parênteses que o Excel implica: (-2) ** 2.
  • Arredondamento. O Excel arredonda a metade para longe do zero; Math.round(-2.5) retorna −2 e (1.005).toFixed(2) dá "1.00". O auxiliar round() gerado segue o comportamento do Excel.
  • Restos de divisão. MOD(-7, 3) é 2 no Excel, mas -7 % 3 é −1 no JavaScript, por isso é usado um auxiliar mod().
  • Comparação de texto. O = do Excel ignora maiúsculas e minúsculas em texto; o === não. Buscas e auxiliares de critérios comparam sem diferenciar caixa, como o Excel.
  • Concatenação. O & sempre gera texto, enquanto o + soma números. O conversor envolve o primeiro operando em String(), então A1 & B1 nunca vira uma soma.
  • Erros. A divisão por zero retorna Infinity em vez de lançar erro, então o ifError() verifica resultados não finitos além de exceções.

Intervalos, buscas e critérios

Um intervalo de uma única coluna ou linha, como A2:A100, vira um parâmetro de array; um intervalo com várias colunas, como A2:C500, vira um array de linhas, que é o formato que o vlookup() espera. As strings de critério funcionam como no Excel: ">=1000", "<>closed" e curingas como "*@example.com".

Funções suportadas: 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. Qualquer outra função é mantida como chamada e listada para que você possa implementá-la. Precisa também dos dados? Transforme a planilha em um array com Excel para array JavaScript.

Também pesquisado como: converter fórmula excel em js, fórmula google sheets para javascript, excel para javascript, converter fórmula do excel em código, fórmula excel para node, conversor de fórmulas excel, planilha para javascript.

Ferramentas que combinam com: Fórmula Excel para JavaScript

  • Fórmula Excel para Python — Cole uma fórmula do Excel ou do Google Sheets e receba uma função Python com nomes de variáveis claros, os imports corretos e funções auxiliares para SOMASES, PROCV e arredondamento no estilo do Excel.
  • Fórmula Excel para PHP — Cole uma fórmula de planilha e receba uma função PHP 8: ternários entre parênteses, funções de string mb_* e auxiliares para buscas, somas condicionais e MOD no estilo do Excel.
  • Conversor de Fórmula Excel para SQL — Cole uma fórmula do Excel e receba a expressão SQL equivalente ou uma consulta SELECT — IF e IFS como CASE WHEN, SUMIFS e COUNTIFS como agregações condicionais, e as funções de texto e data certas para o seu banco.
  • Formatador JavaScript — Desminifique e deixe legível JavaScript, JSON ou JSX com a indentação e o estilo de chaves que você preferir, ou remova espaços e comentários com um minificador verificado.

Perguntas frequentes

O JavaScript gerado dá os mesmos resultados do Excel?
Para as funções suportadas, sim, incluindo o arredondamento no estilo do Excel, os sinais do MOD e buscas sem diferenciar maiúsculas e minúsculas. As datas são objetos Date do JavaScript, não números de série do Excel, então cálculos com datas, como A2 + 30, precisam de adaptação.
Posso usar para fórmulas do Google Sheets ou Apps Script?
Sim. O Google Sheets usa a mesma sintaxe de fórmulas para as funções suportadas, e o resultado roda sem alterações no Google Apps Script, nos navegadores e no Node.js.
O que acontece com funções que ele não conhece?
Elas são mantidas como chamadas de função com o mesmo nome (por exemplo networkdays(…)) e listadas acima da saída para que você possa implementá-las ou substituí-las.
Minha fórmula é enviada para algum servidor?
Não. A análise e a geração de código acontecem inteiramente no seu navegador.
Como as referências de célula são nomeadas?
Por padrão, B2 continua B2 e A2:A10 vira A2_A10. Digite um nome ao lado de qualquer referência para renomeá-la em toda a saída.
Posso instalar o Fórmula Excel para JavaScript como um aplicativo da web e usá-lo offline?
Sim. O Fórmula Excel para JavaScript é um aplicativo da web instalável (PWA) — instalado a partir do seu navegador, não baixado de uma loja de aplicativos. Clique em “Instalar aplicativo” na parte superior desta página no Chrome ou no Edge (Windows, macOS, Linux, ChromeOS) ou, no Android, use “Compartilhar” → “Adicionar à tela inicial” no iPhone e no iPad, ou “Arquivo” → “Adicionar ao Dock” no Safari 17+ em um Mac. Em seguida, ela se abre em uma janela própria com seu próprio ícone e, como é executada inteiramente no seu navegador, continua funcionando offline. O Firefox no desktop não permite a instalação de aplicativos da web. Como funciona a instalação.

Ferramentas relacionadas