Cómo usar: Fórmula Excel a PHP
- Pega una fórmula de Excel o Google Sheets, o elige una de Ejemplos.
- Elige el lenguaje de destino: la página empieza con PHP, y puedes cambiarlo en cualquier momento.
- Renombra las referencias de celda detectadas por nombres de variable significativos, por ejemplo
B2→precio. - 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.
Convertir fórmulas de hoja de cálculo a PHP
Los importes de presupuestos, facturas, costes de envío y reglas de comisiones suelen definirse en Excel y luego implementarse en una aplicación PHP: Laravel, Symfony, WordPress o WooCommerce. Este convertidor lee la fórmula respetando la precedencia de operadores de Excel y genera código PHP 8 que puedes incluir en una clase de servicio o en un archivo de funciones auxiliares.
=IFERROR(VLOOKUP(A2, Products!A2:C500, 3, FALSE), "Not found")
function calculate($a2, $products_a2_c500)
{
return if_error(fn() => vlookup($a2, $products_a2_c500, 3, false), 'Not found');
}
Cómo se traducen las funciones de Excel a PHP
| Excel | PHP |
|---|---|
IF(c, a, b) | c ? a : b |
IFS / SWITCH | parenthesized ternaries |
AND, OR, NOT | &&, ||, ! |
= and <> | == and != |
a & b | $a . $b |
a ^ b | $a ** $b |
SUM(A2:A10) | array_sum($a2_a10) |
ROUND(x, 2) | round($x, 2) |
MOD(a, b) | excel_mod() helper |
SUMIFS / COUNTIF… | sum_ifs(), count_if() helpers |
VLOOKUP / XLOOKUP | vlookup(), xlookup() helpers |
IFERROR(x, y) | if_error(fn() => x, y) |
LEFT / MID / LEN | mb_substr(), mb_strlen() |
TODAY() / NOW() | new DateTime() |
Detalles específicos de PHP
- Ternarios anidados. Desde PHP 8, los ternarios anidados sin paréntesis provocan un error fatal. Cada
IFanidado se envuelve automáticamente entre paréntesis. - Precedencia de la concatenación. En PHP 8,
+y-tienen mayor prioridad que., así que"Total: " . $a + $bsuma primero. El convertidor mantiene el significado de Excel en cualquier caso. - Texto multibyte.
LEFT,MID,LEN,UPPERyLOWERusan las funcionesmb_*, así que los caracteres acentuados y los emojis cuentan como un solo carácter, igual que en Excel. - FIND y SEARCH.
strpos()devuelvefalseo un desplazamiento desde 0; la función auxiliarfind_pos()devuelve la posición desde 1 de Excel (0 si no se encuentra). - MOD. El
%de PHP yfmod()conservan el signo del dividendo;excel_mod()coincide con Excel en números negativos. - Errores.
IFERRORcapturaDivisionByZeroErrory los fallos de búsqueda medianteif_error(fn() => …), usando funciones flecha (PHP 7.4+). - Fechas.
TODAY(),DATE()yYEAR()usan objetosDateTime.
Cómo usar el resultado
Las funciones auxiliares son funciones simples que se colocan encima de tu función. En un framework, muévelas a un archivo de ayuda o conviértelas en métodos estáticos de una clase. Los rangos son arrays de PHP: una sola columna es una lista, y un rango de varias columnas es una lista de filas.
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 de número), TODAY, NOW, DATE, YEAR, MONTH, DAY. Para traer también los datos de la hoja, conviértelos con Excel a array de PHP.
También se busca como: excel a php, convertir fórmula excel a php, fórmula excel a código php, buscarv en php, sumar.si en php, fórmula excel laravel, convertidor excel php online, fórmulas de hoja de cálculo a php.
Herramientas que combinan con: Fórmula Excel a PHP
- 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.
- 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 Excel a SQL — Pega una fórmula de Excel y obtén la expresión SQL equivalente o una consulta SELECT: IF e IFS como CASE WHEN, SUMIFS y COUNTIFS como agregados condicionales, y las funciones de texto y fecha adecuadas para tu base de datos.
- CSV y Excel a SQL — Pega celdas de CSV o Excel, o abre un archivo .xlsx, y obtén sentencias CREATE TABLE e INSERT listas para ejecutar, con los valores escapados correctamente para tu base de datos.
Preguntas frecuentes
¿Qué versión de PHP necesita el resultado?
** requiere PHP 5.6.¿Por qué las funciones de cadena son mb_substr y mb_strlen?
¿Cómo paso un rango a la función?
A2:A10 se convierte en un array plano de valores; A2:C500 se convierte en un array de filas, el formato que espera vlookup().