Calculadora de cambio porcentual

Halla el cambio o la variación porcentual entre un valor inicial y uno final: con signo y etiqueta de aumento o disminución, más el cambio absoluto, la diferencia porcentual simétrica y las fórmulas de Excel, Sheets y SQL.

Funciona en tu navegador — tus números nunca se envían

Calcular el porcentaje de aumento o disminución en Excel y SQL

Decimales: usa punto o coma — 99.5 o 99,5.

Cambio porcentual
Cambio absoluto
Diferencia porcentual
simétrica — el orden no importa

Qué te dice el cambio porcentual y en qué se diferencia de la diferencia porcentual

El cambio porcentual —también llamado variación porcentual— mide cuánto se movió un valor desde una cifra inicial (antigua) hasta una final (nueva), como proporción de ese valor inicial. La fórmula es (nuevo − antiguo) / |antiguo| × 100: resta el valor antiguo al nuevo para obtener el cambio en bruto y divide entre el valor inicial —la referencia contra la que mides— para convertirlo en un porcentaje comparable entre magnitudes de distinto tamaño. El resultado lleva signo, y ahí está la clave: un resultado positivo es un aumento porcentual (o incremento), uno negativo es una disminución porcentual (o descenso), y cero significa que no hubo cambio. El porcentaje de aumento, el de disminución y el cambio porcentual no son tres cálculos distintos: son una sola fórmula, y el signo es la etiqueta. Un cambio superior al 100% es correcto: de 25 a 75 hay un +200%, porque el valor se triplicó.

La calculadora devuelve tres cifras a la vez. La principal es el cambio porcentual con signo y una palabra —aumento o disminución— para que nunca tengas que adivinar la dirección. Debajo va el cambio absoluto: la diferencia sin más, en las unidades originales (nuevo − antiguo), útil cuando importa la cantidad más que la proporción. La tercera cifra, claramente etiquetada, es la diferencia porcentual: una métrica relacionada pero distinta que divide entre el promedio de los dos valores en lugar de entre el antiguo, por lo que siempre es positiva y simétrica —intercambiar los dos valores da el mismo resultado—. El cambio porcentual responde «cuánto se movió este valor»; la diferencia porcentual responde «cuánto se separan estos dos números». El valor absoluto en el denominador del cambio porcentual es lo que mantiene el signo correcto cuando el valor inicial es negativo: de −50 a −40 el valor subió, y |antiguo| hace que se lea como +20% (un aumento) en vez de un engañoso −20%.

El único caso sin respuesta es un valor inicial de cero: no hay base de la que calcular el porcentaje, así que el cambio porcentual queda indefinido de verdad —ni cero ni infinito— y la herramienta lo indica mientras sigue mostrando el cambio absoluto, que continúa siendo válido. Todo se ejecuta en tu navegador: sin subidas, sin cuenta, sin llamadas a ningún servidor, y los campos aceptan tanto el formato estadounidense (1,234.56) como el europeo o español (1.234,56 o 99,5). Bajo la calculadora encontrarás las fórmulas exactas para Excel y Google Sheets, una consulta SQL a prueba de divisiones por cero para calcular el cambio porcentual en toda una columna, y una tabla que separa el cambio porcentual de las dos métricas con las que más se confunde: la diferencia porcentual y el error porcentual, este último objeto de su calculadora hermana.

Una trampa que conviene nombrar: un cambio porcentual no es lo mismo que un cambio en puntos porcentuales. Si una tasa pasa del 10% al 15%, eso es una subida de 5 puntos porcentuales, pero un cambio del +50% respecto al 10% inicial —ambos son correctos—, y confundirlos es uno de los errores más comunes al reportar datos. Usa los puntos porcentuales cuando los valores ya son porcentajes (tasas de interés, tasas de conversión, cuota de mercado) y quieres la diferencia en bruto; usa el cambio porcentual cuando quieres el movimiento relativo al punto de partida.

Los cambios porcentuales tampoco se cancelan entre sí, porque cada uno se mide contra una base distinta. Un valor que sube un 50% y luego baja un 50% no vuelve al punto inicial: 100 → 150 → 75, una pérdida neta del 25%. Esa asimetría es la razón por la que una acción que cae un 50% necesita subir un 100% para recuperarse, y por la que promediar cambios porcentuales de varios periodos distorsiona el resultado compuesto real: para una serie de cambios consecutivos se multiplican los factores de crecimiento (1,5 × 0,5 = 0,75) en vez de sumar los porcentajes. Cuando necesitas la tasa de crecimiento media de muchos periodos, eso es la CAGR (tasa de crecimiento anual compuesta), una calculadora que encajaría de forma natural en este grupo de herramientas.

En Excel y Google Sheets

Pon el valor inicial (antiguo) en la celda A2 y el valor final (nuevo) en B2. Las fórmulas son idénticas en Microsoft Excel y en Google Sheets. El valor absoluto del denominador, ABS(A2), mantiene el signo correcto cuando el valor inicial es negativo; a diferencia del error porcentual, el numerador (B2-A2) NO se envuelve en ABS, así que el resultado conserva su signo.

Cambio porcentual como decimal — luego da a la celda formato de Porcentaje:
=(B2-A2)/ABS(A2)

Cambio porcentual como número donde 50 significa 50%:
=(B2-A2)/ABS(A2)*100

Cambio absoluto (mismas unidades, con signo):
=B2-A2

Diferencia porcentual (métrica simétrica secundaria), con formato de Porcentaje:
=ABS(A2-B2)/ABS((A2+B2)/2)
Fórmulas principales. A2 = valor inicial, B2 = valor final.

Cuidado con el formato: si la celda tiene formato de Porcentaje, Excel y Sheets ya multiplican el valor por 100 al mostrarlo, así que usa =(B2-A2)/ABS(A2) y NO multipliques además por 100, o un +50% aparecería como +5000%. Multiplica por 100 solo cuando dejes la celda con formato General o Número.

En Excel en español, IF se llama SI y IFERROR se llama SI.ERROR (ABS no cambia). Además, según tu configuración regional, el separador de argumentos puede ser punto y coma (;) en lugar de coma (,).

Etiqueta aumento / disminución / sin cambio (Excel en español):
=SI(B2>A2;"aumento";SI(B2<A2;"disminución";"sin cambio"))

A prueba de división por cero (cuando A2 = 0 la fórmula daría #¡DIV/0!):
=SI.ERROR((B2-A2)/ABS(A2);"N/D")
En Excel/Sheets en inglés se usan IF, IFERROR y la coma como separador.
  1. Escribe el valor inicial en A2 y el valor final en B2.
  2. En C2 introduce =(B2-A2)/ABS(A2).
  3. Selecciona C2 y aplica el formato de Porcentaje (Ctrl+Mayús+5 en Excel).
  4. Arrastra C2 hacia abajo para calcular el cambio porcentual de toda una columna a la vez.

En SQL

Para calcular el cambio porcentual en toda una tabla —este periodo frente al anterior, antiguo frente a nuevo— hazlo en una sola consulta. Dada una tabla changes(old_value, new_value), esta sentencia al estilo PostgreSQL devuelve el cambio absoluto con signo, el cambio porcentual con signo y una etiqueta de dirección, y nunca lanza un error de división por cero. ABS() está solo en el denominador, así que el numerador conserva su signo: el porcentaje es + para un aumento y − para una disminución.

SELECT
    old_value,
    new_value,
    new_value - old_value                                                AS cambio_absoluto,
    ROUND((new_value - old_value) * 100.0 / NULLIF(ABS(old_value), 0), 4) AS cambio_porcentual,
    CASE
        WHEN new_value > old_value THEN 'aumento'
        WHEN new_value < old_value THEN 'disminución'
        ELSE 'sin cambio'
    END                                                                  AS direccion
FROM changes;
NULLIF(ABS(old_value), 0) devuelve NULL cuando old_value = 0, así la fila sobrevive y cambio_porcentual queda en NULL en vez de fallar.

Dos trampas que evitar. Primera, la división por cero: NULLIF convierte una base de cero en NULL para que la división se omita en lugar de dar error. Segunda, la división entera: si old_value y new_value son columnas INTEGER, (new_value - old_value) / NULLIF(ABS(old_value),0) trunca hacia cero —(150-200)/200 se convierte en 0— y un −25% real saldría como 0. Fuerza la aritmética de punto flotante poniendo el literal decimal en el numerador, antes de la división: multiplicar primero por 100.0 promueve toda la expresión a decimal y conserva el signo.

-- PostgreSQL
(new_value - old_value)::numeric * 100 / NULLIF(ABS(old_value), 0)

-- SQL Server
CAST(new_value - old_value AS FLOAT) * 100 / NULLIF(ABS(old_value), 0)

-- MySQL ('/' ya devuelve decimal; además da NULL al dividir por cero)
(new_value - old_value) * 100 / NULLIF(ABS(old_value), 0)
Conversiones explícitas por motor cuando las columnas son enteras — sin ABS en el numerador, para conservar el signo.

Cambio porcentual vs. diferencia porcentual vs. error porcentual

Tres fórmulas que se parecen pero responden preguntas distintas. El denominador es la pista: el valor inicial, el promedio de los dos valores o una referencia conocida. El cambio porcentual es el único que conserva el signo.

MétricaFórmulaDenominadorSignoCuándo usarla
Cambio porcentual(nuevo − antiguo) / |antiguo| × 100El valor inicial (antiguo)Con signo: + sube, − bajaUn mismo valor varía en el tiempo de una cifra antigua a una nueva (crecimiento, cambio de precio).
Diferencia porcentual|A − B| / |(A + B) / 2| × 100El promedio de los dos valoresSiempre ≥ 0, simétricaComparas dos valores y ninguno es el «verdadero»; solo quieres cuánto se separan.
Error porcentual|medido − real| / |real| × 100El valor real / aceptadoSiempre ≥ 0 (magnitud)Un valor es una referencia conocida y compruebas otro contra ella (medido vs aceptado, pronóstico vs real).

Tablas de referencia

Preguntas frecuentes

¿El porcentaje de aumento es lo mismo que el cambio porcentual?

Sí, es el mismo cálculo. El porcentaje de aumento, el de disminución y el cambio (o variación) porcentual usan todos (nuevo − antiguo) / |antiguo| × 100; el signo del resultado es la etiqueta. Un resultado positivo es un aumento porcentual, uno negativo es una disminución porcentual y cero significa que no hubo cambio. No necesitas una fórmula para el aumento y otra para la disminución: una sola cubre ambos, y la calculadora añade por ti la palabra aumento o disminución.

¿Por qué la calculadora dice que el cambio porcentual es «indefinido»?

Porque el valor inicial (antiguo) es cero. El cambio porcentual expresa el movimiento como porcentaje del valor inicial, y no existe un porcentaje de cero: la división queda indefinida, no da cero ni infinito. Cuando ocurre, el cambio absoluto se sigue mostrando y es válido; si necesitas un porcentaje, mide contra un punto de partida distinto de cero.

¿Qué diferencia hay entre el cambio porcentual y la diferencia porcentual?

El denominador y el signo. El cambio porcentual divide entre el valor antiguo y conserva su signo, así que te dice cuánto se movió un valor y en qué dirección. La diferencia porcentual divide entre el promedio de los dos valores y es siempre positiva y simétrica —intercambiar los valores da el mismo número—, así que te dice cuánto se separan dos cifras cuando ninguna es la «original». Esta página muestra las dos, y la tabla de comparación de arriba las pone una al lado de la otra junto con el error porcentual.

Herramientas relacionadas