El formato condicional en Excel pinta una celda, cambia su letra o le pone un icono cuando su valor cumple una condición: las horas que pasan de un límite en rojo, las fechas vencidas en naranja, los duplicados resaltados o una fila entera marcada cuando el ticket es crítico. Se configura en un minuto, pero tiene reglas que no son obvias: una celda vacía puede cumplir «menor que», un número guardado como texto puede cumplir «mayor que» y una regla puede dejar de funcionar sin que Excel avise.
Esta guía explica dónde está el formato condicional en Excel, cómo usar cada tipo de regla, cómo hacer un formato condicional con fórmula para resaltar toda la fila, cómo trabajar el formato condicional con fechas y qué revisar cuando el formato condicional no funciona. También cuenta cómo se ordenan varias reglas, por qué las reglas se multiplican al copiar y pegar, y cómo revisar muchos libros a la vez.
Todo lo que contamos lo comprobamos en el Excel de Microsoft 365 de nuestro equipo de pruebas (versión 16.0, compilación 20527, con la interfaz en español), en libros temporales: creamos las reglas, leímos qué celdas quedaban pintadas y abrimos los cuadros de la cinta para copiar sus nombres tal como aparecen. Esta entrada forma parte de la serie de ofimática de este blog: la guía de tablas en Excel explica cómo se comporta una regla dentro de una tabla, y la de Excel avanzado reúne las fórmulas que aquí se usan dentro de las reglas.
Qué es el formato condicional en Excel y para qué sirve
Una regla de formato condicional tiene dos partes: una condición y un formato. Excel revisa la condición en cada celda del rango y, si se cumple, le aplica el formato. Además, si el valor cambia, el formato cambia solo, así que no hay que volver a pintar nada a mano.
En una oficina, el formato condicional en Excel se usa sobre todo para esto:
| Necesidad | Regla | Ejemplo |
|---|---|---|
| Ver lo que se sale de un límite | Es mayor que, Es menor que, Entre | Tickets de más de 8 horas en rojo |
| Encontrar repetidos | Valores duplicados | Facturas o cédulas que aparecen dos veces |
| Vigilar plazos | Una fecha, o una fórmula con HOY | Contratos que vencen esta semana |
| Comparar magnitudes | Barras de datos, escalas de color | Ventas por vendedor de mayor a menor |
| Mostrar un estado | Conjuntos de iconos | Semáforo de cumplimiento por sede |
| Marcar registros completos | Fórmula para toda la fila | Toda la fila en rojo si la prioridad es Crítica |
El ejemplo: un registro de 12 tickets
Para los ejemplos usamos, como en otras guías de la serie, un registro de 12 tickets de soporte, con estas columnas: Ticket (A), Sede (B), Prioridad (C), Horas (D), Vence (E) y Estado (F). Además, dejamos a propósito tres trampas: un ticket sin horas, un ticket con las horas escritas como texto («5») y un ticket sin fecha. El día de la prueba era el martes 3 de noviembre de 2026.
| Ticket | Sede | Prioridad | Horas | Vence | Estado |
|---|---|---|---|---|---|
| T-01 | Bogotá | Alta | 2,5 | 31/10/2026 | Abierto |
| T-02 | Cali | Media | 9 | 07/11/2026 | Abierto |
| T-03 | Medellín | Crítica | 1 | 02/11/2026 | Cerrado |
| T-04 | Bogotá | Baja | 4 | 13/11/2026 | Abierto |
| T-05 | Cali | Crítica | 12 | 03/11/2026 | Abierto |
| T-06 | Bogotá | Media | (vacía) | 05/11/2026 | Abierto |
| T-07 | Medellín | Alta | 8 | 24/10/2026 | Cerrado |
| T-08 | Bogotá | Media | «5» como texto | 09/11/2026 | Abierto |
| T-09 | Cali | Baja | 3 | (vacía) | Abierto |
| T-10 | Medellín | Alta | 6 | 04/11/2026 | Abierto |
| T-11 | Bogotá | Crítica | 8 | 01/11/2026 | Abierto |
| T-12 | Cali | Media | 7 | 03/12/2026 | Cerrado |
Dónde está el formato condicional en Excel
En Excel para Windows, el formato condicional está en la pestaña Inicio, grupo Estilos, botón Formato condicional. Con el teclado se llega con Alt, O, R O: Alt activa las teclas de acceso, O abre Inicio y R O despliega el menú. Estas son sus opciones, con la letra que las abre una vez desplegado el menú:
| Opción del menú | Tecla | Qué hace |
|---|---|---|
| Reglas para resaltar celdas | R | Mayor, menor, entre, igual, texto, fechas y duplicados |
| Reglas para valores superiores e inferiores | E | Los primeros o últimos, en número o en porcentaje, y el promedio |
| Barras de datos | D | Una barra dentro de la celda, más larga cuanto mayor es el valor |
| Escalas de color | S | Un degradado de dos o tres colores según el valor |
| Conjuntos de iconos | C | Flechas, semáforos, banderas o estrellas según el valor |
| Nueva regla… | N | El cuadro completo, con las fórmulas |
| Borrar reglas | B | Quita las reglas de la selección, de la hoja, de una tabla o de una tabla dinámica |
| Administrar reglas… | A | La lista de reglas, su orden y dónde se aplican |
Por otro lado, para saber qué celdas de una hoja ajena tienen reglas, use Buscar y seleccionar (grupo Edición) y elija Formato condicional: Excel selecciona todas las celdas que tienen alguna. Es lo primero que conviene hacer al heredar una plantilla.
Reglas de formato condicional para resaltar celdas
Es la forma más rápida de empezar con el formato condicional en Excel. Por ejemplo, para pintar en rojo los tickets de más de 8 horas:
- Seleccione las celdas de las horas, D2:D13.
- En Inicio, abra Formato condicional > Reglas para resaltar celdas > Es mayor que….
- En el cuadro Es mayor que, escriba 8 en Aplicar formato a las celdas que son MAYORES QUE.
- En la lista con, elija el formato, por ejemplo el relleno rojo claro, y pulse Aceptar.
Además, el mismo submenú tiene Es menor que…, Entre…, Es igual a…, Texto que contiene…, Una fecha… y Valores duplicados…, y al final Más reglas…, que abre el cuadro completo.
Lo que pintó cada regla en nuestra prueba
Aplicamos cada regla a las horas y anotamos qué tickets quedaron pintados. Como se ve, las dos trampas cambian el resultado:
| Regla sobre las horas | Tickets pintados | Lo que llama la atención |
|---|---|---|
| Es mayor que 8 | T-02, T-05 y T-08 | T-08 tiene «5» como texto, y para la regla un texto es mayor que cualquier número |
| Es menor que 3 | T-01, T-03 y T-06 | T-06 está vacía: una celda vacía cuenta como 0 |
| Entre 4 y 8 | T-04, T-07, T-10, T-11 y T-12 | Los límites entran: el 4 y los dos 8 se pintan |
| Es igual a 5 | Ninguno | El «5» como texto no es igual al número 5 |
| Es mayor que 100 | T-08 | El texto vuelve a cumplir la regla |
Por eso, la lección es práctica: antes de poner reglas sobre números, compruebe que las celdas tienen números de verdad. Por ejemplo, un número guardado como texto suele verse alineado a la izquierda y con un triángulo verde en la esquina. Y si las celdas vacías no deben pintarse, entonces la regla necesita una fórmula, como se explica más abajo.
Hay, además, una diferencia con las funciones: la misma condición escrita en CONTAR.SI(D2:D13;">8") devuelve 2, porque la función no cuenta el texto. Es decir, la regla pintó 3 celdas y la función cuenta 2. Por lo tanto, si un informe compara lo que se ve con lo que se cuenta, las cifras no van a cuadrar.
Texto que contiene
Texto que contiene… pinta las celdas que incluyen un texto en cualquier posición. En la prueba, por ejemplo, «Bog» y «bog» pintaron las mismas cinco celdas de Bogotá: la regla no distingue mayúsculas de minúsculas. Por eso sirve para marcar una sede, un cliente o una palabra como «urgente» en una columna de observaciones.
Resaltar duplicados con el formato condicional de Excel
Valores duplicados… está en el mismo submenú. El cuadro Valores duplicados tiene dos listas: en Aplicar formato a las celdas que contienen se elige si se marcan los duplicados o los únicos, y en valores con, el formato.
Después probamos la regla con ocho valores pensados para confundirla:
| Valores | ¿Duplicado? | Por qué |
|---|---|---|
| ABC y abc | Sí | No distingue mayúsculas de minúsculas |
| Bogotá y BOGOTÁ | Sí | Por lo mismo |
| «Bogotá » con un espacio al final | No | El espacio lo convierte en otro valor |
| 12 como número y «12» como texto | Sí | Para esta regla son el mismo valor |
| Cali | No | Aparece una sola vez |
De hecho, el espacio al final es el caso más común en datos copiados de otro sistema: dos nombres que se ven iguales y la regla no los marca. En cambio, si necesita distinguir mayúsculas, use una regla con la fórmula =SUMAPRODUCTO(--IGUAL($H$1:$H$8;H1))>1. En la prueba, sin embargo, solo marcó el 12 y el «12», porque IGUAL compara el texto letra por letra.
Eso sí, marcar los duplicados no los borra. Para quitarlos, la guía de tablas en Excel explica el comando de quitar duplicados y recomienda justo esto: marcarlos antes, para ver qué se va a perder.
Reglas de formato condicional para valores superiores e inferiores
Este submenú tiene 10 superiores…, 10% de valores superiores…, 10 inferiores…, 10% de valores inferiores…, Por encima del promedio… y Por debajo del promedio…. Sin embargo, el 10 es solo el valor de partida: el cuadro deja cambiarlo.
Además, hay dos comportamientos que conviene conocer:
- Los empates entran. Con los valores 10, 9, 8, 8, 8, 5, 4, 3, 2 y 1, la regla de los 3 superiores pintó cinco celdas: el 10, el 9 y los tres 8.
- El promedio ignora vacías y texto. Por encima del promedio, en las horas, pintó T-02, T-05, T-07, T-11 y T-12. El promedio que usa es 6,05, el de las diez celdas con número: no cuenta la vacía ni el «5» como texto.
Formato condicional con fechas en Excel
Una fecha… pinta las fechas que caen en un periodo: ayer, hoy, mañana, en los últimos 7 días, la semana pasada, esta semana, la semana próxima, el mes pasado, este mes o el mes próximo. Además, se recalcula cada día, así que una fecha que hoy es «mañana» mañana será «hoy».
Por ejemplo, con la columna Vence y la prueba hecha el martes 3 de noviembre, el resultado fue este:
| Periodo | Tickets pintados |
|---|---|
| Hoy | T-05 |
| Ayer | T-03 |
| Mañana | T-10 |
| En los últimos 7 días | T-01, T-03, T-05 y T-11, incluido hoy |
| Esta semana | T-02, T-03, T-05, T-06, T-10 y T-11 |
| La semana pasada | T-01 |
| La semana próxima | T-04 y T-08 |
| Este mes | Las 8 fechas de noviembre |
Ahora bien, fíjese en «esta semana»: incluye T-11, que vence el domingo 1 de noviembre, y T-02, que vence el sábado 7. Es decir, para esta regla, la semana va de domingo a sábado. Por lo tanto, en una empresa que cuenta la semana de lunes a viernes, «esta semana» trae un domingo de más.
Resaltar las fechas vencidas
Para pintar lo vencido, en cambio, no hay opción en el menú: se usa un formato condicional con fórmula. La intuitiva es =$E2<HOY(), aplicada a E2:E13. Pintó T-01, T-03, T-07 y T-11, que están vencidos, y también T-09, que no tiene fecha. Esto pasa porque una celda vacía vale 0, y 0 es una fecha anterior a hoy.
Por eso, la fórmula que funciona descarta las vacías: =Y($E2<>"";$E2<HOY()). Con ella, en cambio, quedaron los cuatro vencidos de verdad. Y, por último, para quedarse solo con los que siguen abiertos, se añade el estado: =Y($F2="Abierto";$E2<>"";$E2<HOY()). Así, aplicada a toda la tabla, pintó dos filas, T-01 y T-11, porque T-03 y T-07 ya están cerrados.
Formato condicional con fórmula en Excel
Cuando ninguna opción del menú sirve, el formato condicional en Excel admite una fórmula como condición. Está en Formato condicional > Nueva regla…. El cuadro Nueva regla de formato ofrece seis tipos de regla en Seleccionar un tipo de regla:
- Aplicar formato a todas las celdas según sus valores: escalas de color, barras de datos e iconos.
- Aplicar formato únicamente a las celdas que contengan: valores, textos, fechas, vacías o errores.
- Aplicar formato únicamente a los valores con rango inferior o superior: los primeros y los últimos.
- Aplicar formato únicamente a los valores que estén por encima o por debajo del promedio.
- Aplicar formato únicamente a los valores únicos o duplicados.
- Utilice una fórmula que determine las celdas para aplicar formato.
De todos, el sexto es el que da más juego. La fórmula debe empezar con el signo igual y devolver VERDADERO o FALSO: VERDADERO pinta la celda. Ahora bien, lo importante es esto: la fórmula se escribe para la primera celda del rango, y Excel la traslada a las demás igual que cuando copia una fórmula hacia abajo. Por eso, los signos de dólar deciden el resultado.
Las fórmulas de esta guía usan el punto y coma como separador, que es el de Excel con la configuración regional de Colombia. Si su Excel usa la coma, cambie cada punto y coma por una coma. De hecho, nuestro equipo de pruebas usa la coma, y así se escribieron las reglas al probarlas.
Resaltar toda la fila según una columna
Para resaltar toda la fila de los tickets críticos:
- Seleccione el rango completo, sin los encabezados: A2:F13.
- Abra Formato condicional > Nueva regla… y elija Utilice una fórmula que determine las celdas para aplicar formato.
- Escriba
=$C2="Crítica". - Use el botón de formato del mismo cuadro para elegir el relleno, y acepte dos veces.
Primero, el dólar delante de la C fija la columna: todas las celdas de la fila miran la prioridad. En cambio, la fila va sin dólar, para que cada fila mire la suya. Probamos cuatro variantes sobre A2:F13, con los tickets críticos en las filas 4, 6 y 12:
| Fórmula | Qué se pintó | Por qué |
|---|---|---|
=$C2="Crítica" | Las filas 4, 6 y 12 completas | Columna fija, fila libre: es la correcta |
=C2="Crítica" | Solo la celda de la columna A de esas filas | Sin el dólar, la columna B mira la D, la C mira la E… |
=$C$2="Crítica" | Nada | Todas las celdas miran C2, que dice Alta |
=$C3="Crítica" | Las filas 3, 5 y 11 | Escrita para la segunda fila: cada fila mira la de abajo |
Sin embargo, el cuarto caso es el error más difícil de ver, porque la regla «funciona»: pinta tres filas, pero las equivocadas. Suele pasar cuando se selecciona el rango desde la fila 3 o cuando se escribe la fórmula pensando en otra fila. La ayuda de Microsoft explica de dónde sale el tercero: al hacer clic en una celda mientras se escribe la fórmula, Excel inserta la referencia absoluta, con los dos dólares. Por eso hay que borrar el dólar de la fila a mano.
Reglas que miran otra hoja u otro libro
Por ejemplo, una regla puede mirar un valor de otra hoja del mismo libro. Con un umbral en la hoja Umbral, la regla =D2>Umbral!$A$1 pintó las horas mayores que 7, y al cambiar el umbral a 10 pintó solo las mayores que 10, sin tocar la regla. Así, otra persona puede ajustar el límite sin entrar en el administrador de reglas.
Otro libro, en cambio, no. Excel rechazó la regla que miraba un libro abierto aparte, y la guía de Microsoft para resaltar información en Excel también lo dice: no se puede usar formato condicional con referencias externas a otro libro. Así que, si necesita ese dato, tráigalo primero a una hoja del mismo libro.
Barras de datos, escalas de color e iconos en el formato condicional de Excel
A diferencia de las anteriores, estas tres opciones no pintan unas celdas sí y otras no: dan a cada celda un formato según su posición entre el mínimo y el máximo del rango. En el Excel de la prueba, la galería de Barras de datos trae seis colores, cada uno en dos versiones de relleno. Escalas de color trae 12 escalas, de Escala de colores verde, amarillo y rojo a Escala de colores amarillo y verde. Conjuntos de iconos trae 20 conjuntos, entre ellos 3 flechas (de color), 3 semáforos (sin marco), 3 banderas y 5 clasificaciones.
Sin embargo, lo que casi nadie revisa son los valores de fábrica:
| Opción | Cómo reparte los valores de fábrica |
|---|---|
| Escala de 3 colores | El color mínimo en el valor más bajo, el del medio en el percentil 50 y el máximo en el valor más alto |
| Conjunto de 3 iconos | En la regla que creamos, el icono alto desde el 67 % del recorrido entre el mínimo y el máximo, el medio desde el 33 % y el bajo por debajo |
| Barra de datos | La barra más corta en el valor más bajo y la más larga en el más alto |
Es decir, el porcentaje de los iconos no es «el 67 % de los datos», sino el 67 % de la distancia entre el valor más bajo y el más alto. Por eso, un solo valor muy alto estira esa distancia y deja casi todo lo demás con el icono bajo. Por lo tanto, si sus umbrales son de negocio, como 90 % de cumplimiento o más, cámbielos por números en Más reglas….
Una celda con error no apaga toda la escala
La ayuda de Microsoft advierte que, si una celda del rango tiene una fórmula que devuelve un error, el formato condicional no se aplica a ninguna celda del rango, y recomienda envolver la fórmula en SI.ERROR. Sin embargo, en nuestra prueba no fue así. Primero pusimos una escala de 3 colores sobre seis celdas con =24/B2 y un divisor en cero: las cinco celdas con número tomaron su color y solo la del #¡DIV/0! quedó sin color. También una regla Es mayor que se comportó igual. SI.ERROR sigue siendo buena idea para que el error no se vea, pero en esta versión no hizo falta para que la escala funcionara.
Varias reglas de formato condicional: el orden
Un rango puede tener varias reglas de formato condicional en Excel. Se ven y se ordenan en Formato condicional > Administrar reglas…, que abre el cuadro Administrador de reglas de formato condicionales. Arriba, la lista Mostrar reglas de formato para elige entre la selección y cada hoja. Debajo, los botones son Nueva regla…, Editar regla…, Eliminar regla, Duplicar regla, Subir y Bajar. Y la tabla tiene cuatro columnas: Regla (aplicada en el orden mostrado), Formato, Se aplica a y Detener si es verdad.
Según la ayuda de Microsoft, las reglas se evalúan de arriba abajo, y una regla nueva creada desde la cinta se agrega arriba. Cuando dos reglas se cumplen a la vez:
- Si se contradicen, gana la de arriba. En la prueba, por ejemplo, con una regla roja para más de 8 horas arriba y una verde para más de 4 debajo, el ticket de 12 horas salió rojo. Al subir la verde, salió verde.
- Si no se contradicen, se suman. Por ejemplo, una regla de negrita y otra de relleno verde dieron negrita con relleno verde.
- Si la de arriba tiene marcada Detener si es verdad, las de abajo no se miran cuando la de arriba se cumple. Con la casilla marcada, el ticket de 12 horas quedó solo en negrita.
Además, el formato condicional de Excel gana al formato manual. Así, si alguien pinta una celda a mano y una regla la pinta de otro color, se ve el de la regla.
Por qué las reglas se multiplican al copiar y pegar
Copiar, pegar y rellenar celdas que tienen reglas crea, en muchos casos, reglas nuevas en el destino. Para medirlo, partimos de una sola regla de fila entera sobre A2:F13 y repetimos operaciones de todos los días. Esto es lo que quedó en Administrar reglas… después de cada una:
| Operación | Reglas en la hoja | Se aplican a |
|---|---|---|
| Al empezar | 1 | A2:F13 |
| Copiar la fila 3 y pegarla sobre la 8 | 1 | A2:F13 |
| Insertar una fila en la 6 | 1 | A2:F14 (la regla crece) |
| Copiar B4 y pegarla en B15, fuera del rango | 2 | Una nueva solo para B15 |
| Cortar la fila 3 y pegarla en la 20 | 2 | A2:F2, A4:F14 y A20:F20: la fila 3 se queda sin regla |
| Pegar solo los valores de la fila 2 en la 21 | 2 | Sin cambios: los valores no llevan reglas |
| Pegar solo los formatos de la fila 2 en la 22 | 3 | Otra regla nueva solo para A22:F22 |
Por eso, con unos meses de uso, una plantilla puede terminar con decenas de reglas iguales, cada una para un trozo, y con huecos donde alguien cortó y pegó. Además, Excel se vuelve lento y nadie sabe cuál editar. Por lo tanto, lo más limpio es borrar las reglas del rango y crear una sola que lo cubra entero, como hicimos al final de la prueba: quedó una regla para A2:F25.
Por qué el formato condicional no funciona en Excel: causas y soluciones
En realidad, casi todas las veces que el formato condicional no funciona, la regla hace exactamente lo que dice. Estas son las causas que vimos en las pruebas:
| Síntoma | Causa | Solución |
|---|---|---|
| Pinta celdas vacías | Una vacía vale 0, y 0 cumple «menor que» o «anterior a hoy» | Añada $E2<>"" dentro de Y |
| Pinta un número que no cumple | Es un número guardado como texto, y el texto cumple «mayor que» | Convierta el texto en número |
| No pinta un número que sí cumple | El mismo caso: el «5» como texto no es igual a 5 | Convierta el texto en número |
| Pinta la fila equivocada | La fórmula se escribió para otra fila | Escríbala para la primera fila del rango |
| Pinta una sola columna | Falta el dólar de la columna | Use $C2, no C2 |
| No pinta nada | La fila quedó fija con $C$2 | Use $C2 |
| Una regla tapa a otra | El orden, o Detener si es verdad | Revise Administrar reglas… |
| Dejó de pintar tras borrar una columna | La regla miraba esa columna y quedó con #¡REF! | Edite la regla o créela de nuevo |
| Excel no acepta la regla | Mira otro libro | Traiga el dato a una hoja del mismo libro |
| Una fila nueva no se pinta | Quedó fuera del rango de la regla | Amplíe Se aplica a o use una tabla de Excel |
La regla que se rompe al borrar una columna
El caso de la columna borrada, en particular, merece atención. Pusimos una regla que miraba la columna C y luego borramos la columna. Después de eso, la regla siguió en la lista, con =#¡REF!="Crítica", y no volvió a pintar nada. Y, sin embargo, Excel no avisó.
Por otro lado, la última fila de la tabla tiene solución de fondo: dentro de una tabla de Excel, la regla de una columna se extiende sola a las filas nuevas. Lo explicamos en la guía de tablas en Excel.
Colores que se ven pero no están en la celda
El formato condicional en Excel no cambia el formato de la celda: lo pone encima mientras la condición se cumple. En la prueba, el ticket de 12 horas se veía en rojo, pero el relleno propio de la celda seguía siendo «sin relleno». Por eso tiene tres consecuencias:
- Filtrar por color sí funciona. Con el filtro de la columna de horas y la opción de filtrar por color, quedaron las tres filas pintadas por la regla.
- Contar por color con una macro no. Una macro que lee el color de relleno de la celda no ve el de la regla. Para contar, en cambio, use la misma condición en una función, como
CONTAR.SI. - Pegar solo valores en otro libro no lleva el color. Si el destino necesita el color, tiene que llevar también la regla.
En Excel para la web, Mac y Hojas de cálculo de Google
La ayuda de Microsoft tiene un apartado para Excel para la web, con un libro de ejemplos que se abre desde OneDrive. No probamos Excel para la web ni Excel para Mac, así que no damos sus rutas: los nombres de los menús pueden cambiar entre versiones.
En Hojas de cálculo de Google, la ayuda indica el menú «Formato» > «Formato condicional», que abre un panel a la derecha con dos modos, «Color único» y «Escala de colores». Para una fórmula, en «Aplicar formato a las celdas si» se elige «La fórmula personalizada es». Sin embargo, hay dos diferencias que cambian el resultado. Según la ayuda de Google sobre las reglas de Hojas de cálculo, la primera regla que se cumple define el formato, así que las reglas no se suman como en Excel. Además, para mirar otra hoja hay que usar la función INDIRECT. Eso sí, no probamos Hojas de cálculo de Google: los rótulos salen de su ayuda, que Google marca como traducida con IA.
Para quien automatiza o revisa muchos libros
Si crea reglas con una macro, en cambio, hay tres diferencias con la cinta, que vimos al crear las reglas por programa:
- Las reglas nacen con Detener si es verdad marcado. La referencia de StopIfTrue de Microsoft lo dice: por compatibilidad, el valor de fábrica es verdadero, al revés que en la interfaz. En el administrador, la regla creada por programa apareció con la casilla marcada y la barra de datos, no. Si su macro pone dos reglas, desmarque la casilla en la primera o la segunda no se verá.
- La regla nueva va al final de la lista, no arriba como en la cinta: la segunda que creamos quedó con prioridad 2.
- La fórmula va en el idioma de Excel. En nuestro Excel en español, la regla con
COUNTIFno dio error y no pintó nada. La misma regla conCONTAR.SIpintó los duplicados.
Si automatiza tareas de Excel, la guía de macros en Excel explica cómo grabarlas y guardarlas.
Revisar las reglas de una carpeta de libros con PowerShell
Por último, cuando un área tiene decenas de plantillas, abrir una por una para mirar sus reglas no es práctico. Este bloque de PowerShell lee los archivos .xlsx de una carpeta sin abrir Excel y sin cambiarlos. Por cada hoja con reglas, dice cuántas tiene, cuántas son copias repetidas de otra y cuántas quedaron rotas con #REF!. Cambie la ruta de la primera línea por la de su carpeta.
$carpeta = 'C:\Documentos\Informes'
Add-Type -AssemblyName System.IO.Compression.FileSystem
function Leer($zip, $nombre) {
$e = $zip.GetEntry($nombre)
if (-not $e) { return '' }
$r = [IO.StreamReader]::new($e.Open())
try { $r.ReadToEnd() } finally { $r.Dispose() }
}
function Columna($letras) { $n = 0; foreach ($c in $letras.ToCharArray()) { $n = $n * 26 + [int]$c - 64 }; $n }
# Escribe la formula en relativo a la primera celda de su rango: asi dos copias de la misma regla dan el mismo texto.
function Relativa($formula, $rango) {
$m = [regex]::Match($rango, '([A-Z]+)(\d+)')
$c0 = Columna $m.Groups[1].Value; $f0 = [int]$m.Groups[2].Value
[regex]::Replace($formula, '(?<![A-Za-z_])(\$?)([A-Z]{1,3})(\$?)(\d+)(?![\d(])', [Text.RegularExpressions.MatchEvaluator]{
param($r)
$c = if ($r.Groups[1].Value) { 'C' + (Columna $r.Groups[2].Value) } else { 'C[' + ((Columna $r.Groups[2].Value) - $c0) + ']' }
$f = if ($r.Groups[3].Value) { 'R' + $r.Groups[4].Value } else { 'R[' + ([int]$r.Groups[4].Value - $f0) + ']' }
$f + $c
})
}
Get-ChildItem -Path $carpeta -Filter *.xlsx -Recurse | ForEach-Object {
$archivo = $_
$zip = [IO.Compression.ZipFile]::OpenRead($archivo.FullName)
try {
$libro = Leer $zip 'xl/workbook.xml'
$destinos = @{}
foreach ($rel in [regex]::Matches((Leer $zip 'xl/_rels/workbook.xml.rels'), '<Relationship [^>]*>')) {
$id = [regex]::Match($rel.Value, ' Id="([^"]*)"').Groups[1].Value
$t = [regex]::Match($rel.Value, ' Target="([^"]*)"').Groups[1].Value
$destinos[$id] = if ($t.StartsWith('/')) { $t.TrimStart('/') } else { 'xl/' + $t }
}
foreach ($h in [regex]::Matches($libro, '<sheet [^>]*>')) {
$nombre = [regex]::Match($h.Value, ' name="([^"]*)"').Groups[1].Value
$xml = Leer $zip $destinos[[regex]::Match($h.Value, ' r:id="([^"]*)"').Groups[1].Value]
$reglas = @()
foreach ($b in [regex]::Matches($xml, '(?s)<conditionalFormatting [^>]*sqref="([^"]*)"[^>]*>(.*?)</conditionalFormatting>')) {
foreach ($p in ($b.Groups[2].Value -split '<cfRule ' | Select-Object -Skip 1)) {
$reglas += [pscustomobject]@{ Tipo = [regex]::Match($p, 'type="([^"]*)"').Groups[1].Value
Formula = [regex]::Match($p, '<formula>(.*?)</formula>').Groups[1].Value; Rango = $b.Groups[1].Value }
}
}
foreach ($b in [regex]::Matches($xml, '(?s)<x14:conditionalFormatting[ >](.*?)<xm:sqref>([^<]*)</xm:sqref>')) {
foreach ($p in ($b.Groups[1].Value -split '<x14:cfRule ' | Select-Object -Skip 1)) {
$tipo = [regex]::Match($p, 'type="([^"]*)"').Groups[1].Value
if ($tipo -eq 'dataBar') { continue }
$reglas += [pscustomobject]@{ Tipo = $tipo; Formula = [regex]::Match($p, '<xm:f>(.*?)</xm:f>').Groups[1].Value; Rango = $b.Groups[2].Value }
}
}
if (-not $reglas) { continue }
$distintas = @($reglas | ForEach-Object { $_.Tipo + '|' + (Relativa $_.Formula $_.Rango) } | Sort-Object -Unique).Count
$rotas = @($reglas | Where-Object { $_.Formula -match '#REF!' }).Count
$aviso = ''
if ($reglas.Count -gt $distintas) { $aviso = 'Reglas repetidas: se copiaron al pegar o rellenar' }
if ($rotas) { $aviso = 'Regla rota (#REF!): ya no pinta nada' }
[pscustomobject]@{ Archivo = $archivo.Name; Hoja = $nombre; Reglas = $reglas.Count
Repetidas = $reglas.Count - $distintas; Rotas = $rotas; Aviso = $aviso }
}
} finally { $zip.Dispose() }
} | Format-Table -AutoSize
Además, dos detalles del archivo explican cómo está hecho. Primero, cada copia de una regla se guarda con la fórmula ajustada a su sitio ($C10, $C11…), así que el bloque las pasa a una forma relativa antes de compararlas. Por otro lado, una regla que mira otra hoja no se guarda con las demás, sino en una sección aparte del archivo: el bloque lee las dos.
Lo probamos en Windows PowerShell 5.1 y en PowerShell 7.6 con cinco libros de prueba creados en Excel, con el mismo resultado en las dos y sin cambiar ningún archivo:
| Libro de prueba | Reglas | Repetidas | Rotas | Aviso |
|---|---|---|---|---|
| Una regla de fila entera y una barra de datos | 2 | 0 | 0 | Ninguno |
| La misma regla tras copiar, cortar y pegar formatos | 8 | 7 | 0 | Reglas repetidas: se copiaron al pegar o rellenar |
| Una regla que miraba una columna borrada | 1 | 0 | 1 | Regla rota (#REF!): ya no pinta nada |
| Una regla que mira un umbral en otra hoja | 1 | 0 | 0 | Ninguno |
| Un libro sin reglas | No aparece |
Eso sí, tiene sus límites: solo lee archivos .xlsx (no .xls ni .xlsm) y compara las reglas por tipo y fórmula, no por formato. Dos reglas iguales con colores distintos cuentan como repetidas.
Buenas prácticas con el formato condicional de Excel
- Una regla por necesidad, sobre el rango completo. Mejor una regla para A2:F500 que veinte para trozos.
- Use tablas de Excel para que las reglas lleguen solas a las filas nuevas.
- Revise que los números sean números antes de poner reglas de mayor o menor.
- Descarte las vacías en las reglas con fórmula:
$E2<>"". - Ponga los umbrales en celdas de una hoja de parámetros, para cambiarlos sin editar reglas.
- No use más de tres o cuatro colores y deje una leyenda: el color debe decir algo a quien no hizo la hoja.
- No dependa solo del color. Para quien no distingue el rojo del verde, un icono o un texto, como Vencido, se entiende mejor.
- Revise Administrar reglas… de vez en cuando en las plantillas que usa todo el equipo.
Además, si la plantilla va a circular, combine las reglas con la protección de la hoja: la guía para proteger una hoja de Excel explica qué permisos dejan a otros cambiar los formatos. Y si la tabla viene con celdas combinadas, sepárelas antes: la guía de combinar celdas en Excel cuenta por qué estorban al ordenar y filtrar.
Material de apoyo para su equipo
El formato condicional en Excel convierte una tabla de números en una lista de prioridades: lo vencido, lo crítico y lo repetido saltan a la vista. Sin embargo, para que funcione hay que entender tres cosas: la fórmula se escribe para la primera fila, el orden de las reglas importa y copiar y pegar las multiplica.
Si en su empresa estas dudas llegan una y otra vez a la mesa de ayuda TI, podemos ayudar. En KHARONTE prestamos servicios administrados de TI: administramos Microsoft 365 para empresas, con sus usuarios, licencias y aplicaciones, y damos soporte técnico para empresas a quienes trabajan con Excel todos los días. Puede ver todos nuestros servicios de TI para empresas. Si quiere seguir con la serie, la guía de Excel avanzado reúne las fórmulas que más se usan dentro de las reglas.




