Tengo un libro con dos hojas. Me gustaría formatear el color de fondo de la celda en la primera columna de la hoja 1 en función de los valores de la segunda columna de la hoja 2.
Por ejemplo, si el valor de la hoja 2, fila 6, columna 2 es, digamos, 4, entonces me gustaría que el color de fondo de la hoja 1, fila 4, columna 1 fuera verde. Si ninguno de los valores de la hoja 2, columna 2 hace referencia a una fila concreta de la hoja 1, me gustaría dejarla sin color. No está prohibido que el mismo valor aparezca varias veces en la segunda columna de la hoja 2. Si puedes decirme cómo deshabilitar el color si se elimina el último valor de la hoja 2 que apunta a una fila de la hoja 1, te daré un bonus.
Estoy seguro de que para los magos de Excel esto podría ser trivial, pero rara vez tengo ocasión de usar Excel y ciertamente no tengo tiempo para convertirme en un cinturón negro en él. ¿Alguien puede darme consejos, sugerencias o una fórmula rápida para hacerlo? Si esto va a tomar algún código VB complejo para poner en práctica, isn't vale la pena.
Gracias.
He aquí cómo lo hice en Excel 2003 utilizando el formato condicional.
Para aplicar formato condicional a Hoja1
utilizando valores de Hoja2
, necesita reflejar los valores en Hoja1
.
Hoja1
.=IF(ISBLANK(Hoja2!B1),"",Hoja2!B1)
Copia A1
haciendo clic con el botón derecho y seleccionando "Copiar
".
Pega la fórmula en la columna A
haciendo clic con el botón derecho sobre su cabecera y seleccionando "Pegar
".
Hoja1
, columna A
debería ahora reflejar exactamente los valores de Hoja2
, columna B
.
(Nota: si no le gusta en la columna A
, funciona igual de bien tenerlo en la columna Z
o en cualquier otro lugar).
Hoja1
.B
haciendo clic con el botón izquierdo del ratón sobre su cabecera.Formato > Formato condicional...
Condición 1
a <Fórmula es
" e introduzca esta fórmula:<code>=MATCH(B1,$A:$A,0)</code>
Formato...
y seleccione un fondo verde.Ahora deberías ver el fondo verde aplicado a las celdas coincidentes en Hoja1
.
Hoja1
.A
y seleccione "Ocultar
".Esto debería actualizar automáticamente Hoja1
siempre que se cambie algo en Hoja2
.
Utilizo Excel 2003 -
El problema con el uso de formato condicional aquí es que no se puede hacer referencia a otra hoja de cálculo o libro de trabajo en sus condiciones. Lo que puede hacer es establecer alguna columna en la hoja 1 igual a la columna apropiada en la hoja 2 (en su ejemplo =Hoja2!B6). En mi ejemplo he utilizado la columna F. A continuación, puede utilizar el formato condicional. Selecciona la celda en la Hoja 1, fila , columna 1 y luego ve al menú de formato condicional. Elija "Fórmula es" de la lista desplegable y establecer la condición de "=$F$6=4". Haz clic en el botón Formato y elige la pestaña Patrones. Elija el color que desee y ya está.
Puedes utilizar la herramienta pintor de formato para aplicar formato condicional a otras celdas, pero ten en cuenta que por defecto Excel utiliza referencias absolutas en las condiciones. Si quieres que sean relativas, tendrás que eliminar los signos de dólar de la condición.
Puedes tener hasta 3 condiciones aplicadas a una celda (usa el botón añadir >> en la parte inferior del diálogo Formato condicional) así que si la última fila es fija (por ejemplo, sabes que siempre será la fila 10) puedes usarla como condición para establecer el color de fondo a ninguno. Asumiendo que el último valor que le interesa está en la fila 10 entonces (aún asumiendo que ha establecido la columna F en la hoja 1 a las celdas correspondientes en la hoja 2) establezca la primera condición a Formula Is =$F$10="" y el patrón a Ninguno. Haz que sea la primera condición y anulará cualquier otra condición conflictiva.