Cómo usar: Fórmula Excel a SQL
- Pega una fórmula de Excel o de Google Sheets, o elige una de Ejemplos.
- Elige el lenguaje de destino. La página empieza con SQL y puedes cambiarlo en cualquier momento.
- Renombra las referencias de celda detectadas por nombres de variable con sentido, por ejemplo
B2→price. - 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.
De fórmulas de hoja de cálculo a SQL
Cuando un informe se queda pequeño para Excel, sus fórmulas suelen acabar en SQL: columnas calculadas en un SELECT, totales condicionales en una consulta de un panel o una vista en el almacén de datos. SQL piensa en columnas y filas, no en celdas, así que este conversor trata cada referencia de celda como una columna de la fila actual y cada rango como una columna que se agrega.
=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;
Renombra las referencias con los nombres reales de tus columnas —B2:B100 → region— y la consulta estará lista para ejecutarse.
Cómo se traducen las funciones de Excel a 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 |
= y <> | = y <> |
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) — el signo difiere |
SUMIFS / COUNTIF… | SUM(CASE WHEN … THEN … END) |
VLOOKUP / XLOOKUP | no se traduce — usa un JOIN |
IFERROR(x, y) | COALESCE(x, y) (solo NULL) |
LEFT / MID / LEN | LEFT, SUBSTRING, CHAR_LENGTH |
TODAY() / NOW() | CURRENT_DATE, CURRENT_TIMESTAMP |
Los criterios se convierten en predicados
Las cadenas de criterios de Excel se compilan en condiciones SQL: ">=1000" se convierte en col >= 1000, "<>cerrado" en col <> 'cerrado', y los comodines se transforman en patrones LIKE: "*@example.com" pasa a LIKE '%@example.com'. Esto funciona con SUMIF, SUMIFS, COUNTIF, COUNTIFS, AVERAGEIF y AVERAGEIFS.
Diferencias entre dialectos
| 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) |
Qué no se puede traducir
Las búsquedas (VLOOKUP, XLOOKUP, INDEX/MATCH) son joins en SQL, así que se marcan en lugar de adivinarlas. IFERROR se convierte en COALESCE, que solo sustituye NULL; envuelve los divisores en NULLIF(x, 0) para evitar errores de división. PostgreSQL y SQL Server dividen enteros como enteros, así que convierte uno de los lados a DECIMAL cuando haga falta.
Funciones compatibles: 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 (se excluyen las búsquedas). Carga primero la hoja en una tabla con CSV y Excel a SQL, y ordena la consulta con el Formateador SQL.
También se busca como: convertir excel a sql, sumifs en sql, countif en sql, if de excel a sql case, convertir fórmula excel a mysql, fórmula excel a postgresql, consulta sql desde excel.
Herramientas que combinan con: Fórmula Excel a SQL
- 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 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.
- Generador de CREATE TABLE — Diseña una tabla columna a columna (tipos, clave primaria, NOT NULL, UNIQUE, autoincremento y valores por defecto) y obtén la sintaxis CREATE TABLE correcta para tu base de datos.
- Excel a JSON — Abre un libro .xlsx o pega celdas directamente desde Excel o Google Sheets y obtén JSON limpio.
Preguntas frecuentes
¿Cómo escribo un IF de Excel en SQL?
CASE WHEN condición THEN valor ELSE otro END. Los IF anidados y IFS se convierten en un único CASE con varias ramas WHEN, que este conversor genera automáticamente.¿Cuál es el equivalente en SQL de SUMIFS?
SUM(CASE WHEN region = 'North' AND total >= 1000 THEN amount ELSE 0 END). Para una sola condición también puedes usar WHERE con un SUM normal.¿Cómo hago un BUSCARV en SQL?
SELECT o.*, p.price FROM orders o LEFT JOIN products p ON p.sku = o.sku. Un LEFT JOIN devuelve NULL cuando no hay coincidencia, igual que IFERROR(BUSCARV(…), "").