Un asiduo lector del blog, Omar, me hace una consulta que estimo haber entendido correctamente. Caso contrario sabrá corregir mi error y levantaré correctamente una entrada al respecto. Me dice "quisiera saber si se puede vincular solo el formato de alguna celda a otra". Creo que hace referencia a lo siguiente: si una celda contiene un determinado valor ¿como hago para que el formato se aplique en otras?
Veamos el tema con un ejemplo sencillo, mas un plus al final que agrego para mis amigos lectores, que es un truco para que Excel coloree las filas de una tabla de forma alternada, automaticamente.
[+/-] Ver el resto / Ocultar
noten como las filas pares están coloreadas de celeste, mientras que las impares quedan en blanco. esto se puede lograr de manera automatizada, mediante el formato condicional.
Vamos primero a la consulta de Omar. Supongamos que tenemos este registro en nuestra hoja de cálculos:
Dependiendo del valor en (A2) necesitamos que Excel rellene con algún color toda la fila, no solamente A2.
Primero seleccionamos toda la fila 2 (desde A2 a D2) y nos dirigimos a "formato / formato condicional", para aplicar la siguiente regla:
El único "secreto" de la función ingresada es uno: la referencia ABSOLUTA que realicé con A2 (puse $A$2). Nada mas. Si omitimos esto, no trabajará correctamente.
la funcion arroja VERDADERO: se colorea toda la fila
la funcion arroja FALSO: no se colorea nada.
Claro que con una sola condición es sencillo. De necesitar mas, solo debemos utilizar a SI() para resolver este problema. Desde Excel 2007 o 2010 la función SI() acepta 64 anidaciones (desde ya que no lo probé nunca, solo lo leí =) ), aunque puede tornarse un poco engorroso manejarlas correctamente.
Tambien recordemos que las nuevas versiones de Excel soportan un número ilimitado de condiciones dentro de esta herramienta, cuando las anteriores solo admitían tres. Esto es una gran ventaja a la hora de implementar el formato condicional.
múltiples condiones... esta herramienta se ha convertido en algo realmente espectacular.
Vamos al otro punto: que las filas de una tabla alternen su color de fondo de forma automática. Como primer medida, seleccionamos una de las filas de dicha tabla, en este caso A2:E2. ¿Como le hago entender a Excel que a una me la deje en blanco y a otra le aplique algún formato? Sencillo, con el número de fila y la función RESTO(número; número divisor). Para los programadores, RESTO() equivale a la función intrínseca de VBA "Mod", que es el módulo, o resto de una división.
Si tengo un número cualquiera (en este caso el que le corresponde a la fila) y hago:
=RESTO(4;2)
el resultado será cero, ya que todo NUMERO PAR dividido por 2 es cero.
Si hago:
=RESTO(5;2)
el resultado será uno, ya que todo NUMERO IMPAR dividido por 2 es uno.
Teniendo como base esto, aplicamos a la selección lo siguiente:
si el resto del número de la fila (dividido por 2) es igual a 0, entonces la condición se cumplirá y Excel aplicará el formato que hayamos definido. A diferencia del ejemplo anterior, no utilicé referencias absolutas, así al copiar y pegar el formato se desplaza.
Revisamos:
yep, el formato se aplica solo en las fila pares.
Las nuevas características del formato condicional en las últimas versiones de Excel bien merecen unas cuantas horas de estudio, ya que son impresionantes. Noten en la imagen anterior que pude aplicar un "degradado" al color de fondo. Y como eso... casi cualquier cosa. El tema es que deberán tener presente que el nuevo formato de Excel es "xlsx" (a diferencia del "viejo" xls), lo que nos traerá problemas con la incompatibilidad de versiones. Es necesario evaluar con suficiente antelación sobre que software correrá nuestro proyecto, ya que un error en esto y todo nuestro trabajo se verá inutilizado.
Tengo 3 columnas que son: HORA SALIDA, HORA LLEGADA y HORA INICIO. Como puedo resaltar con rojo en la columna de HORA INICIO si el tiempo es mayor de 90 minutos con respecto a la HORA DE SALIDA?
ResponderEliminarHola Damian, tengo una planilla en la cual quiero que tome un formato dependiendo del valor de otra celda, intente hacer lo que planteaste en esta entrada pero se me dificulta cuando quiero utilizarlo en una tabla ya que al ponerlo con los valores para una sola celda no lo puedo utilizar para una tabla con varias filas y tampoco puedo ir agregando mas filas a la tabla, habra alguna solucion para esto?
ResponderEliminarMuchas gracias!!
cuando haces ese tipo de trabajos debes prestar mucha atención a si en las funciones que ingresas en el formato condicional, haces uso de las referencias relativas o absolutas.
ResponderEliminarrevisá bien el ejemplo y fijate que algunas tienen este formato $A$1, otras $A1, otra A$1... por que luego al copiar y pegar el formato las funciones "se corren de celdas", dependiendo de como las referenciaste.
suponiendo que las horas están en A1 y B1 la cuestión es calcular la diferencia entre ambas y aplicar un formato condicional de acuerdo al resultado.
ResponderEliminarTe vas a la herramienta formato condicional, de la lista desplegable seleccionas "fórmula" y colocas esto:
=($B$1-$A$1)>0,0625
¿que significa? si la diferencia entre B1 y A1 (lugares en donde tienes las horas) es mayor a 0.0625... se aplicará el formato que hayas elegido.
No va "90" por que Excel tiene una forma muy particular de calcular las fechas y horas, son números enteros que va fraccionando.
Para el período de tiempo que indicas (90 minutos) Excel lo interpreta como 0.0625.
Suerte y espero que te sirva, cualquier cosa me avisas.
Hola Damian, nuevamente tengo una consulta con respecto a este tema, llevo un control de cheques diferidos a pagar, para eso tengo una planilla con tabla, en una de las columnas tiene la fecha de vto. para la cual le puse un formato condicional que pinta toda la fila cuando llega al vto. tambien quiero que cuando este 2 dias antes del vto se pinte de amarillo para que llame la atencion los que estan proximo al vto. y las que tienen mas de 2 dias quede igual, no encontre la forma de poder lograrlo, le puse una formula =hoy()<=$a1, para pintar de rojo y para que pinte amarillo le puse otra condicion =hoy()+2>=$a1>hoy() que la fecha que sea mayor a la fecha de hoy y menor a la fecha de hoy mas 2 dias pero no me funciona, espero me puedas ayudar, muchas gracias.
ResponderEliminaresto me funcionó bien:
ResponderEliminar=(HOY()-2)=$A1
fijate de que forma utilizo los paréntesis, separando correctamente cada término. luego reemplazas el " - " por el " + " y listo, te queda andando el tema de los condicionales en tu proyecto. gracias x tu mensaje.