Как пользоваться: Формула Excel в SQL
- Вставьте формулу Excel или Google Таблиц либо выберите одну из примеров.
- Выберите целевой язык — по умолчанию открыт SQL, переключить можно в любой момент.
- Переименуйте найденные ссылки на ячейки в понятные имена переменных, например
B2→price. - Выберите полную функцию или только выражение, затем скопируйте код или скачайте его. Вспомогательные функции добавляются автоматически, если формула в них нуждается.
От формул электронных таблиц к SQL
Когда отчёт перерастает Excel, его формулы обычно превращаются в SQL: вычисляемые столбцы в SELECT, условные итоги в запросе для дашборда или представление в хранилище данных. SQL оперирует столбцами и строками, а не ячейками, поэтому этот конвертер считает каждую ссылку на ячейку столбцом текущей строки, а каждый диапазон — столбцом для агрегирования.
=SUMIFS(D2:D100, B2:B100, "North", C2:C100, ">=1000")
SELECT
SUM(CASE WHEN col_b = 'North' AND col_c >= 1000 THEN col_d ELSE 0 END) AS result
FROM my_table;
Замените ссылки на реальные имена столбцов — например, B2:B100 → region — и запрос готов к запуску.
Как функции Excel соответствуют SQL
| Excel | SQL |
|---|---|
IF(c, a, b) | CASE WHEN c THEN a ELSE b END |
IFS / SWITCH | CASE WHEN … END |
AND, OR, NOT | AND, OR, NOT |
= и <> | = и <> |
a & b | CONCAT(a, b) |
a ^ b | POWER(a, b) |
SUM(A2:A10) | SUM(col_a) |
ROUND(x, 2) | ROUND(x, 2) |
MOD(a, b) | MOD(a, b) — знак отличается |
SUMIFS / COUNTIF… | SUM(CASE WHEN … THEN … END) |
VLOOKUP / XLOOKUP | не переводится — используйте JOIN |
IFERROR(x, y) | COALESCE(x, y) (только NULL) |
LEFT / MID / LEN | LEFT, SUBSTRING, CHAR_LENGTH |
TODAY() / NOW() | CURRENT_DATE, CURRENT_TIMESTAMP |
Критерии становятся предикатами
Строки критериев Excel преобразуются в условия SQL: ">=1000" становится col >= 1000, "<>closed" становится col <> 'closed', а подстановочные знаки превращаются в шаблоны LIKE — например, "*@example.com" превращается в LIKE '%@example.com'. Это работает для SUMIF, SUMIFS, COUNTIF, COUNTIFS, AVERAGEIF и AVERAGEIFS.
Различия диалектов
| Excel | MySQL | PostgreSQL | SQL Server |
|---|---|---|---|
LEN | CHAR_LENGTH | LENGTH | LEN |
FIND | LOCATE | POSITION … IN | CHARINDEX |
REPLACE | INSERT | OVERLAY | STUFF |
DATE(y, m, d) | STR_TO_DATE(CONCAT…) | MAKE_DATE | DATEFROMPARTS |
YEAR(d) | YEAR(d) | EXTRACT(YEAR FROM d) | YEAR(d) |
TODAY() | CURRENT_DATE | CURRENT_DATE | CAST(GETDATE() AS DATE) |
Что не переводится
Функции поиска (VLOOKUP, XLOOKUP, INDEX/MATCH) в SQL реализуются через соединения, поэтому конвертер помечает их, а не угадывает. IFERROR превращается в COALESCE, который заменяет только NULL — оборачивайте делители в NULLIF(x, 0), чтобы избежать ошибок деления. PostgreSQL и SQL Server делят целые числа как целые, поэтому при необходимости приведите одну из сторон к DECIMAL.
Поддерживаемые функции: 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 (функции поиска исключены). Сначала загрузите таблицу с помощью CSV и Excel в SQL, а затем упорядочьте запрос с помощью SQL-форматтера.
Также ищут как: excel if в sql case, sumifs в sql, countif в sql, формула excel в postgresql, формула excel в mysql.
Инструменты, которые хорошо сочетаются с Формула Excel в SQL
- Формула Excel в Python — Вставьте формулу Excel или Google Sheets и получите функцию Python с понятными именами переменных, нужными импортами и вспомогательными функциями для SUMIFS, VLOOKUP и округления в стиле Excel.
- Формула Excel в JavaScript — Вставьте формулу из таблицы и получите понятный JavaScript: функцию с именованными параметрами, правильным порядком операций и небольшими вспомогательными функциями для того, чего нет в JavaScript, например SUMIFS и VLOOKUP.
- Генератор CREATE TABLE — Настройте таблицу по столбцам: типы, первичный ключ, NOT NULL, UNIQUE, автоинкремент и значения по умолчанию.
- Excel в JSON — Откройте книгу .xlsx или вставьте ячейки прямо из Excel или Google Sheets и получите чистый JSON.
Часто задаваемые вопросы
Как записать оператор IF из Excel на SQL?
CASE WHEN условие THEN значение ELSE другое END. Вложенные IF и IFS превращаются в один CASE с несколькими ветками WHEN — этот конвертер делает это автоматически.Какой SQL-аналог у SUMIFS?
SUM(CASE WHEN region = 'North' AND total >= 1000 THEN amount ELSE 0 END). Для одного условия можно также использовать WHERE с обычной SUM.Как выполнить VLOOKUP в SQL?
SELECT o.*, p.price FROM orders o LEFT JOIN products p ON p.sku = o.sku. LEFT JOIN возвращает NULL, если совпадения нет, — это аналог IFERROR(VLOOKUP(…), "").