Как пользоваться: Формула Excel в JavaScript
- Вставьте формулу Excel или Google Sheets или выберите готовую в разделе Примеры.
- Выберите целевой язык. Страница открывается с JavaScript, but вы можете переключить язык в любой момент.
- Переименуйте найденные ссылки на ячейки в понятные имена переменных, например
B2→price. - Выберите полную функцию или только выражение, затем скопируйте или скачайте код. Вспомогательные функции добавляются автоматически, если формула в них нуждается.
Зачем переводить формулы Excel в JavaScript?
Бизнес-логика часто начинается в таблице: модель ценообразования, таблица комиссий, проверка права на услугу. Когда эта логика переходит в веб-приложение, API на Node.js или Google Apps Script, каждую формулу приходится переписывать вручную, а тонкие различия между Excel и JavaScript приводят к ошибкам, которые проявляются только на реальных данных. Этот конвертер разбирает формулу так же, как Excel, и пишет эквивалентный JavaScript.
=IF(AND(B2>=18, C2="yes"), "Eligible", "Not eligible")
function calculate(B2, C2) {
return B2 >= 18 && C2 === 'yes' ? 'Eligible' : 'Not eligible';
}
Как функции Excel соответствуют JavaScript
| Excel | JavaScript |
|---|---|
IF(c, a, b) | c ? a : b |
IFS / SWITCH | вложенные тернарные операторы |
AND, OR, NOT | &&, ||, ! |
= и <> | === и !== |
a & b | String(a) + b |
a ^ b | a ** b |
SUM(A2:A10) | A2_A10.reduce(…) |
ROUND(x, 2) | помощник round() (половины от нуля) |
MOD(a, b) | помощник mod() |
SUMIFS / COUNTIF… | помощники sumIfs(), countIf() |
VLOOKUP / XLOOKUP | помощники vlookup(), xlookup() |
IFERROR(x, y) | ifError(() => x, y) |
LEFT / MID / LEN | .slice(), .substr(), .length |
TODAY() / NOW() | new Date() |
Различия, из-за которых появляются ошибки
- Порядок операций. В Excel
=-2^2равно 4, потому что унарный минус действует раньше^. В JavaScript даже-2 ** 2не допускается. Конвертер всегда добавляет скобки, которые подразумевает Excel:(-2) ** 2. - Округление. Excel округляет половины от нуля;
Math.round(-2.5)возвращает −2, а(1.005).toFixed(2)даёт «1.00». Сгенерированная функцияround()работает как в Excel. - Остаток от деления.
MOD(-7, 3)в Excel равно 2, а-7 % 3в JavaScript равно −1, поэтому используется помощникmod(). - Сравнение текста. Оператор
=в Excel не учитывает регистр для текста, а===учитывает. Помощники поиска и критериев сравнивают без учёта регистра, как Excel. - Конкатенация.
&всегда даёт текст, а+складывает числа. Конвертер оборачивает первый операнд вString(), поэтомуA1 & B1никогда не превратится в сумму. - Ошибки. Деление на ноль возвращает
Infinityвместо исключения, поэтомуifError()проверяет и нечисловые результаты, и исключения.
Диапазоны, поиск и критерии
Диапазон из одного столбца или одной строки, например A2:A100, становится параметром-массивом; диапазон из нескольких столбцов, например A2:C500, становится массивом строк, именно такой формат ожидает vlookup(). Строки критериев работают как в Excel: ">=1000", "<>closed" и подстановочные знаки, например "*@example.com".
Поддерживаемые функции: 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 (форматы чисел), TODAY, NOW, DATE, YEAR, MONTH, DAY. Остальные функции сохраняются как вызовы и перечисляются, чтобы вы могли их реализовать. Нужны и данные? Превратите таблицу в массив с помощью Excel в массив JavaScript.
Также ищут как: формула excel в js, формулы google sheets в javascript, конвертер формул excel, формула excel в код, формула excel в node, перевод формул excel в код.
Инструменты, которые хорошо сочетаются с Формула Excel в JavaScript
- Формула Excel в Python — Вставьте формулу Excel или Google Sheets и получите функцию Python с понятными именами переменных, нужными импортами и вспомогательными функциями для SUMIFS, VLOOKUP и округления в стиле Excel.
- Формула Excel в PHP — Вставьте формулу из таблицы и получите функцию на PHP 8: тернарные операторы в скобках, строковые функции mb_* и вспомогательные функции для поиска, условных сумм и MOD в стиле Excel.
- Формула Excel в SQL — Вставьте формулу Excel и получите эквивалентное SQL-выражение или запрос SELECT: IF и IFS как CASE WHEN, SUMIFS и COUNTIFS как условные агрегаты, а также подходящие строковые и датные функции для вашей базы данных.
- JavaScript форматтер — Распакуйте и отформатируйте JavaScript, JSON или JSX с нужными отступами и стилем скобок.
Часто задаваемые вопросы
Дает ли сгенерированный JavaScript те же результаты, что и Excel?
A2 + 30, нужно адаптировать.Можно ли использовать конвертер для формул Google Sheets или Apps Script?
Что происходит с функциями, которые конвертер не знает?
networkdays(…)) и перечисляются над результатом, чтобы вы могли их реализовать или заменить.Отправляется ли моя формула на сервер?
Как называются ссылки на ячейки?
B2 остаётся B2, а A2:A10 становится A2_A10. Введите имя рядом с любой ссылкой, чтобы переименовать её во всём результате.