Calculadora de porcentajes para sumar (y restar) un porcentaje
Calculadora de porcentajes para sumar o restar un porcentaje a un número, con el factor que se usa. También explica cómo sumar porcentajes, cómo restar un porcentaje a un número y cómo sumar porcentajes en impuestos, propinas y aumentos de sueldo.
Se han puesto valores de ejemplo. Reemplázalos por los tuyos.
Resultado
84
Cálculo paso a paso
- 1 + 40 ÷ 100 = 1,4
- 60 × 1,4 = 84
- Monto sumado o restado
- 24
- Multiplicador
- 1,4
Tienes una factura de $1 200 y debes sumarle 8,25 % de impuesto sobre las ventas, o un precio de $240 que tiene que bajar 15 %. Olvídate del paso de calcular el porcentaje de: multiplica por 1,0825 para sumar o por 0,85 para restar, y obtienes la cifra final de una vez.
Ingresa un número y un porcentaje en esta calculadora para sumar porcentajes, elige sumar o restar, y te devuelve el nuevo total, la cantidad sumada o restada y el factor que usó. Más abajo encontrarás la fórmula, seis ejemplos resueltos y qué hacer cuando lo que quieres es sumar porcentajes entre sí. Sirve como calculadora para sumar porcentajes en impuestos, propinas y aumentos de sueldo, y como calculadora para restar porcentajes en descuentos y recortes.
Cómo sumar porcentajes y cómo restarlos
Respuesta rápida: para sumar un porcentaje a un número, multiplícalo por 1 más el porcentaje en forma decimal. Para restar, multiplica por 1 menos ese valor. Sumar 20 % a 80 es 80 × 1,2 = 96, y restar 20 % de 80 es 80 × 0,8 = 64.
Cómo sumar un porcentaje a un número
- Convierte el porcentaje en decimal dividiendo entre 100: 20 % es 0,2.
- Suma 1 para obtener el factor: 1,2.
- Multiplica el número por el factor: 80 × 1,2 = 96.
¿Cómo se suman porcentajes a un número base? En un solo paso, como arriba. La forma larga, 20 % de 80 es 16 y 80 + 16 = 96, da el mismo resultado.
Cómo restar un porcentaje de un número
- Convierte el porcentaje en decimal: 15 % es 0,15.
- Réstalo de 1 para obtener el factor: 0,85.
- Multiplica: 240 × 0,85 = 204.
Los mismos pasos sirven para números enteros, como un recuento de existencias. En una calculadora la tecla % se comporta de forma distinta según el modelo, así que el factor es la vía segura: escribe 240 × 0,85.
Deshacer un porcentaje sumado
Sumar 20 % es × 1,2 y restar 20 % es × 0,8. Para deshacer una suma, divide entre el factor: 96 ÷ 1,2 = 80. La calculadora de porcentaje inverso lo hace por ti.
Sumar porcentajes entre sí frente a sumar un porcentaje a un número
Sumar un porcentaje a un número escala el número, como se vio arriba. Sumar porcentajes entre sí es otra tarea. Dos aumentos de 10 % son × 1,1 dos veces, es decir × 1,21, o sea 21 % y no 20 %, porque el segundo 10 % se aplica a una cantidad mayor. Para varios porcentajes que describen grupos distintos, usa la calculadora de porcentaje promedio. Para hallar el cambio entre dos números, usa la calculadora de aumento porcentual o la calculadora de disminución porcentual.
Sumar o restar un porcentaje en Excel y Google Sheets
Con el número en A2 y el porcentaje en B2 (con formato de porcentaje, de modo que 15 % se guarda como 0,15), escribe =A2*(1+B2) para sumar y =A2*(1-B2) para restar. La guía de porcentajes en Excel incluye más fórmulas.
Ejemplos resueltos: sumar y restar un porcentaje
Ejemplo 1: sumar el impuesto sobre las ventas a una factura
Datos
Respuesta
Ejemplo 2: restar un descuento
Datos
Respuesta
Ejemplo 3: sumar un aumento de sueldo
Datos
Respuesta
Ejemplo 4: sumar una propina
Datos
Respuesta
Ejemplo 5: restar 12,5 % a una cantidad
Datos
Respuesta
Ejemplo 6: dos cambios seguidos
Datos
Respuesta
Tabla de factores
Multiplica por la cifra de la columna de sumar o de restar.
| Porcentaje | Sumar (multiplicar por) | Restar (multiplicar por) |
|---|---|---|
| 5 % | 1,05 | 0,95 |
| 10 % | 1,1 | 0,9 |
| 12,5 % | 1,125 | 0,875 |
| 15 % | 1,15 | 0,85 |
| 20 % | 1,2 | 0,8 |
| 25 % | 1,25 | 0,75 |
| 50 % | 1,5 | 0,5 |
Código: sumar o restar un porcentaje en JavaScript y Python
Ambas versiones reproducen los ejemplos anteriores (1 299, 204, 53 820, 75,52, 420, 121 y 96), rechazan entradas no numéricas y aceptan solo los dos modos.
JavaScript
function finite(name, v) { if (typeof v !== "number" || !Number.isFinite(v)) throw new TypeError(`${name} must be a finite number`);}function places(decimals) { if (!Number.isInteger(decimals) || decimals < 0 || decimals > 10) throw new RangeError("decimals must be a whole number from 0 to 10"); return decimals;}// mode: "add" or "subtract"export function applyPercent(value, percent, mode = "add", decimals = 2) { finite("value", value); finite("percent", percent); if (mode !== "add" && mode !== "subtract") throw new RangeError('mode must be "add" or "subtract"'); const d = places(decimals); const multiplier = mode === "add" ? 1 + percent / 100 : 1 - percent / 100; const result = value * multiplier; return { result: Number(result.toFixed(d)), change: Number((result - value).toFixed(d)), multiplier: Number(multiplier.toFixed(10)), };}// Two changes in a row, e.g. +10% then +10%export function chainPercent(value, steps, decimals = 2) { finite("value", value); const d = places(decimals); let result = value; for (const [mode, percent] of steps) { finite("percent", percent); if (mode !== "add" && mode !== "subtract") throw new RangeError('mode must be "add" or "subtract"'); result *= mode === "add" ? 1 + percent / 100 : 1 - percent / 100; } return Number(result.toFixed(d));}Python
from decimal import Decimal, ROUND_HALF_UPimport mathdef _num(name, v): if isinstance(v, bool) or not isinstance(v, (int, float, Decimal)) or not math.isfinite(float(v)): raise ValueError(f"{name} must be a finite number") return Decimal(str(v))def _round(x, decimals): if not isinstance(decimals, int) or isinstance(decimals, bool) or not 0 <= decimals <= 10: raise ValueError("decimals must be a whole number from 0 to 10") return x.quantize(Decimal(1).scaleb(-decimals), rounding=ROUND_HALF_UP)def _factor(mode, percent): if mode not in ("add", "subtract"): raise ValueError('mode must be "add" or "subtract"') p = _num("percent", percent) / 100 return 1 + p if mode == "add" else 1 - pdef apply_percent(value, percent, mode="add", decimals=2): v = _num("value", value) m = _factor(mode, percent) result = v * m return { "result": _round(result, decimals), "change": _round(result - v, decimals), "multiplier": m, }def chain_percent(value, steps, decimals=2): result = _num("value", value) for mode, percent in steps: result *= _factor(mode, percent) return _round(result, decimals)chainPercent(100, [["add", 10], ["add", 10]]) devuelve 121 y chainPercent(100, [["add", 20], ["subtract", 20]]) devuelve 96, el ejemplo de dos cambios. Redondea solo para mostrar. La versión de Python redondea la mitad hacia arriba, que es la convención escolar habitual, y devuelve valores Decimal, así que 1 299 se imprime como 1299.00. El toFixed de JavaScript trabaja con el valor binario, de modo que un resultado en un empate puede redondearse hacia abajo cuando la convención escolar lo redondea hacia arriba.
Privacidad y seguridad de las entradas
- Los valores se calculan en tu navegador. Los números que ingresas no se envían a ningún servidor ni se guardan.
- Los campos aceptan solo números, con un signo % opcional al final en el porcentaje. El texto, los campos vacíos, NaN e Infinity se rechazan con un mensaje, y nada de lo que escribes se evalúa nunca como código.
- Se acepta un porcentaje negativo, que invierte el sentido: sumar −10 % es lo mismo que restar 10 %.
- Restar más de 100 % da un total negativo. La calculadora lo muestra con una nota breve en lugar de bloquearlo, porque es la aritmética correcta.
- Los decimales se limitan a un número entero de 0 a 10.
- En este idioma la coma es el separador decimal, así que 12,5 es doce y medio y 1,200 es 1,2. El punto actúa como separador de miles cuando va seguido de una coma decimal, por lo que 1.234,5 se lee como 1234,5. Una entrada como 1.234 (un punto seguido de exactamente tres cifras, sin coma) o 1,2,3 se rechaza por ambigua en lugar de adivinar. Los espacios entre grupos de cifras, incluidos los espacios de no separación, se ignoran, así que 1 200 se lee como 1200.
Errores comunes al sumar o restar un porcentaje
| Error | Qué sale mal | Qué hace la calculadora |
|---|---|---|
| Dar el porcentaje del número como respuesta | 15 % de 240 es 36, pero 240 menos 15 % es 204 | Muestra por separado el nuevo total y la cantidad |
| Sumar el porcentaje como un número simple | 80 + 20 da 100, no 96 | Primero lo convierte en factor |
| Usar el factor equivocado para restar | 80 × 1,2 es 96, no los 64 que se obtienen al restar 20 % | Usa 1 menos el decimal para restar |
| Sumar y luego restar el mismo porcentaje | +20 % y luego −20 % sobre 100 da 96, no 100 | Encadena los factores sobre la base que va cambiando |
| Sumar dos aumentos de 10 % como 20 % | Dos aumentos de 10 % seguidos hacen 21 % | Multiplica 1,1 por 1,1 |
| Escribir 15 en lugar de 15 % en una fórmula de hoja de cálculo | =A2*(1+B2) con 15 en B2 da 3 840 para 240, no 276 | Toma el valor como porcentaje |
| Redondear el factor | 1,0825 abreviado a 1,08 da 1 296, no 1 299 | Redondea solo el total final |
| Tomar un total negativo por un error | Restar 120 % a 50 da −10 | Lo muestra con una nota |
¿Qué cálculo necesitas?
Estas cinco tareas usan números parecidos, pero requieren fórmulas distintas.
| Lo que quieres | Fórmula | Ejemplo | Dónde hacerlo |
|---|---|---|---|
| El nuevo total tras sumar o restar p % | Número × (1 ± p ÷ 100) | 240 menos 15 % = 204 | Esta página |
| p % de un número | Número × p ÷ 100 | 15 % de 240 = 36 | Calculadora principal |
| El precio con descuento tras aplicar un descuento | Precio × (1 − descuento ÷ 100) | $240 con 15 % de descuento = $204 | Calculadora de porcentaje de descuento |
| La variación porcentual entre dos números | (Nuevo − anterior) ÷ anterior × 100 | 204 desde 240 es −15 % | Calculadora de disminución porcentual |
| El valor original antes de sumar un porcentaje | Nuevo ÷ factor | 96 ÷ 1,2 = 80 | Calculadora de porcentaje inverso |
La primera y la tercera fila dan el mismo número cuando el porcentaje es un descuento. Usa la calculadora de porcentaje de descuento cuando partas de una etiqueta de precio y quieras el precio con descuento.