Resumen —
CAMBIAR(expresión; valor1; resultado1; valor2; resultado2; …; [default])evalúaexpresiónuna sola vez, recorre los pares valor/resultado de izquierda a derecha y devuelve el resultado de la primera coincidencia exacta. Es la forma limpia de convertir una entrada en una de varias salidas — el reemplazo plano de una torre deSIanidados. La única regla que lo gobierna todo: CAMBIAR compara por igualdad exacta, nunca por>o<.
=CAMBIAR(A2; "N"; "North"; "S"; "South"; "E"; "East"; "W"; "West"; "Unknown")
=CAMBIAR(DIASEM(A2); 1; "Weekend"; 7; "Weekend"; "Weekday")
=CAMBIAR(B2; 1; "Gold"; 2; "Silver"; 3; "Bronze") ' sin default -> #N/D si no hay coincidencia
Si alguna vez escribiste =SI(A2="N";"North";SI(A2="S";"South";SI(A2="E";…))) y
perdiste la cuenta de los paréntesis de cierre, CAMBIAR es la función que querías.
Se lee de arriba abajo como una tabla, y añadir un caso nuevo es un par más — no un
nivel más de anidación.
Nota: en la interfaz de Excel en español esta función se llama CAMBIAR, y los códigos de error aparecen como #N/D (no #N/A) y #¡VALOR!. Funciones relacionadas:
SI(IF),SI.CONJUNTO(IFS),SI.ERROR(IFERROR),DIASEM(WEEKDAY),VERDADERO(TRUE),BUSCARV(VLOOKUP). Los ejemplos de esta guía ya usan los nombres en español; el comportamiento es idéntico al inglés.
Lo que aprenderás
- El modelo mental: una tabla de enrutamiento en línea indexada por valores exactos
- Por qué CAMBIAR solo hace igualdad exacta — la frontera entre ella y
SI.CONJUNTO - El argumento default, y el
#N/Dque obtienes cuando lo olvidas - El truco
CAMBIAR(VERDADERO(); …)para rangos — y por qué es un compromiso - CAMBIAR vs
SI.CONJUNTOvsSIanidado: una regla de decisión que puedes aplicar de verdad
El modelo mental: una tabla de enrutamiento en línea
Piensa en CAMBIAR como una pequeña tabla de búsqueda que escribes directamente
dentro de la fórmula. Le entregas un valor que buscar (la expresión) y luego
una serie de pares caso → resultado. Excel evalúa la expresión una sola vez y te
devuelve el resultado que está junto al primer caso con el que coincide:
=CAMBIAR(status; "A"; "Active"; "P"; "Pending"; "C"; "Closed"; "Unknown status")
' ▲ busca esto ▲ si es igual a "A", devuelve "Active" … etc.
Todo lo bueno de CAMBIAR sale de esta imagen. Es plana — los casos van uno al
lado del otro, no anidados unos dentro de otros, así que diez casos se leen tan
fácil como dos. Evalúa la expresión una vez, así que
CAMBIAR(AlgunaFórmulaLenta(); …) no recalcula esa fórmula en cada rama como sí
vuelve a probar una cadena de SI anidados. Y la intención es obvia de un vistazo:
esta fórmula asigna una cosa a un conjunto fijo de resultados.
La única regla que define a CAMBIAR: la igualdad exacta
Este es el hecho que explica cada pregunta de «CAMBIAR no funciona»: CAMBIAR
compara la expresión con cada caso usando igualdad simple — la misma que =. No
hay operador, ni rango, ni «mayor que». Un caso es igual a la expresión o no lo es.
Así que esto no hace lo que un principiante espera:
=CAMBIAR(score; ">90"; "A"; ">80"; "B"; "F") ' MAL — nunca coincide
CAMBIAR compara score con el texto ">90", con el que un número nunca es igual,
así que siempre caes en "F". Los rangos sencillamente no son para lo que sirve
CAMBIAR. En cuanto tus ramas son condiciones (score >= 90, importe entre X e Y)
en lugar de valores exactos, has llegado al límite de CAMBIAR — eso es territorio de
SI.CONJUNTO. Mantén la división clara en tu cabeza:
- Una expresión comparada con una lista de valores exactos → CAMBIAR
- Una lista de condiciones independientes (incluidos rangos) → SI.CONJUNTO
El argumento default y la trampa del #N/D
CAMBIAR admite un último argumento opcional sin valor emparejado — el default, que se devuelve cuando nada coincidió:
=CAMBIAR(grade; "A"; 4,0; "B"; 3,0; "C"; 2,0; 0) ' 0 es el default
Cómo leer la lista de argumentos: los pares son valor; resultado; si hay un
argumento impar suelto al final, ese es el default. Omítelo y una expresión sin
coincidencia devuelve #N/D, no un blanco:
=CAMBIAR(B2; 1; "Gold"; 2; "Silver"; 3; "Bronze") ' B2 = 4 -> #N/D
Este es el error más común de CAMBIAR con diferencia: los datos reales siempre
contienen el valor que no planeaste, y sin un default aflora como #N/D esparcido
por toda la columna. Convierte el default en un hábito — aunque sea solo "Other" o
0 — para que las entradas inesperadas caigan donde tú elegiste en lugar de dar
error.
El truco CAMBIAR(VERDADERO()) — ingenioso, pero sopésalo
Hay una forma conocida de hacer que CAMBIAR maneje rangos: pon la expresión en
VERDADERO() y haz que cada caso sea una condición que devuelve VERDADERO o
FALSO. Entonces CAMBIAR devuelve el resultado del primer caso que se evalúe como
VERDADERO:
=CAMBIAR(VERDADERO();
score>=90; "A";
score>=80; "B";
score>=70; "C";
"F")
Funciona porque score>=90 se evalúa como VERDADERO/FALSO, y CAMBIAR busca el
primer caso igual a VERDADERO(). Es realmente útil y depende del orden (gana la
primera coincidencia, así que ordena de lo más estricto a lo más laxo, exactamente
como un SI.CONJUNTO por tramos).
Pero sé honesto con el compromiso: estás usando un comparador de igualdad para
fingir lógica de rangos, y la siguiente persona tiene que descifrar por qué la
expresión es VERDADERO(). Cuando las ramas son rangos,
SI.CONJUNTO dice lo mismo de forma más directa.
Echa mano de CAMBIAR(VERDADERO()) cuando ya estás metido en un CAMBIAR y quieres
un solo caso con rango; prefiere SI.CONJUNTO cuando toda la fórmula son rangos.
CAMBIAR vs SI.CONJUNTO vs SI anidado
Las tres eligen un resultado de entre varios, así que cuál usar no es cuestión de capacidad — es cuestión de cuál expresa tu intención con más claridad:
' SI anidado — funciona, pero los paréntesis se apilan y la intención queda enterrada
=SI(A2="N";"North";SI(A2="S";"South";SI(A2="E";"East";"Other")))
' CAMBIAR — una expresión, casos de valor exacto, plano
=CAMBIAR(A2; "N";"North"; "S";"South"; "E";"East"; "Other")
' SI.CONJUNTO — condiciones independientes, sobre todo rangos
=SI.CONJUNTO(A2>=90;"A"; A2>=80;"B"; A2>=70;"C"; VERDADERO;"F")
La regla de decisión:
- ¿Comparas una cosa con un conjunto de valores exactos? CAMBIAR. Es la más legible y evalúa la expresión una sola vez.
- ¿Pruebas condiciones independientes o rangos? SI.CONJUNTO.
- ¿Sigues escribiendo tres o más niveles de SI anidado? Ese es el mal olor — una de las dos anteriores se leerá mejor y se romperá menos cuando la edites dentro de seis meses.
Una advertencia que conviene decir claro: CAMBIAR llegó con Excel 2019 y Microsoft 365. En Excel 2016 o anteriores no existe, y vuelves al SI anidado o a una tabla de búsqueda con BUSCARV / INDICE y COINCIDIR.
El criterio
CAMBIAR se gana su lugar haciendo visible la intención. Cuando el trabajo de una
fórmula es «asignar este único valor a uno de estos resultados», CAMBIAR dice
exactamente eso — plano, ordenado, fácil de ampliar. Su estrechez (solo igualdad
exacta) no es una debilidad; es la señal que te avisa de que has elegido la
herramienta equivocada. Si estás metiendo cadenas ">90" en los casos o anidando
CAMBIAR(VERDADERO()) cinco niveles, la fórmula te está diciendo que quería
SI.CONJUNTO. Y si la lista de casos es larga, estable y de todos modos vive en tus
datos — regiones, códigos de producto, etiquetas de estado — la respuesta más
mantenible no es CAMBIAR ni SI.CONJUNTO; es una tabla de búsqueda de verdad que
puedes editar sin tocar la fórmula. Ajusta la herramienta a la forma de la decisión
y la fórmula se lee sola.
Cómo ayuda ExcelMaster
La mayoría de los problemas con CAMBIAR no son de sintaxis — son elegir CAMBIAR
cuando las ramas son rangos, u olvidar el default hasta que aparece #N/D.
ExcelMaster elige la estructura correcta por ti: usa CAMBIAR para el mapeo de
valores exactos, te lleva a SI.CONJUNTO en cuanto tus
ramas pasan a ser rangos, siempre aporta un default sensato y sugiere una tabla de
búsqueda cuando tus casos son en realidad datos. Dile «etiqueta cada fila con
North/South/East/West según el código de A» o «califica estas notas», y escribe una
fórmula plana, completa y aún legible cuando la reabras el próximo trimestre.
Preguntas frecuentes
¿Cómo funciona la función CAMBIAR en Excel?
=CAMBIAR(expresión; valor1; resultado1; valor2; resultado2; …; [default]) evalúa
expresión una vez, la compara con cada valor en orden usando igualdad exacta y
devuelve el resultado que coincide. Si nada coincide, devuelve el default
opcional, o #N/D si no proporcionaste uno.
¿Cuál es la diferencia entre CAMBIAR y SI.CONJUNTO?
CAMBIAR compara una expresión con una lista de valores exactos — ideal para
asignar un código o etiqueta a un resultado. SI.CONJUNTO
evalúa una lista de condiciones independientes, incluidos rangos como
score>=90. Usa CAMBIAR para coincidencias exactas y SI.CONJUNTO para condiciones.
¿Cómo añado un valor por defecto en CAMBIAR?
Pon un único argumento extra al final del todo, sin un valor emparejado:
=CAMBIAR(A2;"N";"North";"S";"South";"Unknown"). Aquí se devuelve "Unknown"
siempre que A2 no sea "N" ni "S". Sin él, una expresión sin coincidencia devuelve
#N/D.
¿Puede CAMBIAR manejar «mayor que» o rangos?
No directamente — solo prueba igualdad exacta. El apaño es CAMBIAR(VERDADERO(); condición1; resultado1; …), donde cada condición devuelve VERDADERO/FALSO. Para
lógica de rangos en toda la fórmula, SI.CONJUNTO
suele ser más claro.
¿Está disponible CAMBIAR en Excel 2016?
No. CAMBIAR se introdujo en Excel 2019 y está en Microsoft 365. En Excel 2016 y anteriores, usa SI anidado o una tabla de búsqueda con BUSCARV.
Probado en
Probado en: Excel 365 (Windows 11) — última verificación el 08/07/2026.
Guías relacionadas: Excel SI.CONJUNTO · Excel SI · Excel ELEGIR · INDICE y COINCIDIR
