Como usar: Fórmula Excel para JavaScript
- Cole uma fórmula do Excel ou do Google Sheets, ou escolha uma em Exemplos.
- Escolha a linguagem de destino. A página começa com JavaScript, e você pode trocar a qualquer momento.
- Renomeie as referências de célula detectadas para nomes de variáveis significativos, por exemplo
B2→price. - 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
| 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() |
Diferenças que causam bugs
- Precedência de operadores. No Excel,
=-2^2resulta 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 auxiliarround()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 auxiliarmod(). - 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 emString(), entãoA1 & B1nunca vira uma soma. - Erros. A divisão por zero retorna
Infinityem vez de lançar erro, então oifError()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?
A2 + 30, precisam de adaptação.Posso usar para fórmulas do Google Sheets ou Apps Script?
O que acontece com funções que ele não conhece?
networkdays(…)) e listadas acima da saída para que você possa implementá-las ou substituí-las.Minha fórmula é enviada para algum servidor?
Como as referências de célula são nomeadas?
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.