miércoles, 9 de febrero de 2011

Comparar valores de tablas con Formato condicional en diferentes hojas.

En un foro en el que suelo acceder a menudo encontré una cuestión sobre formatos condicionales que me pareció curiosa:

...Me gustaría obtener ayuda para solucionar un problema de formatos condicionales.
En un mismo documento excel tengo dos tablas en dos hojas diferentes, las celdas son todas de formatos texto. La hoja 1 es la que tiene los datos, es una tabla con cuatro columnas y quiero conseguir que en la tabla de la hoja 2 que es identica per sin datos, cuando yo introduzca un dato en cualquier celda igual a la tabla de la hoja 1 aparezca en verde y cuando no sea correcto aparezca en rojo.
He identificado el primer rango de 4 celdas de la hoja 1 con un nombre y la hoja dos con otro nombre, pero aún asi cuando en formato condicional pongo que cuando una sea igual a la otra aparezca en verde, me aparece todo en rojo. He intentado lo mismo con una sola celda pero tampoco me lo identifica.
A mi me interesa que cambie de color el rango de por fila o por celda.
¿Debo hacerlo de otra forma?¿Como puedo aplicar luego el formato a toda la tabla sin tener que cambiar de una celda en una el formato condicional? ...



Para responder a esta cuestión usaremos una herramienta ya empleado en repetidas ocasiones en este blog, asignar nombre a rango, así como la función INDICE.
Partimos de la tabla origen situada en la Hoja1 de nuestro Libro, y que será sobre la que compararemos la Tabla de nuestra Hoja2 según vayamos introduciendo valores.


Asignamos un nombre al rango de la Tabla origen:
tabla =Hoja1!$B$3:$E$9
Con esto ya podremos trabajar el Formato condicional sobre la Tabla de trabajo en la Hoja2; usando el Formato condiciona con fórmula escribiremos para todo el rango de esta tabla:
=B2=INDICE(tabla;FILA(B2)-1;COLUMNA(B2)-1)
Marcando el rango completo de la Tabla, y teniendo activa la celda B2.
Sólo chequeamos la igualdad entre el valor de cada celda de la Tabla de la Hoja2 con su homólogo del rango 'tabla' de la Hoja1; definido con la función INDICE(matriz, fila, columna) que nos devuelve el elemento de la matriz 'tabla' situado en la fila: FILA(B2)-1 y columna: COLUMNA(B2)-1.


haz click en la imagen



Vemos cómo resulta lo esperado, para todos aquellos elementos coincidentes con la Tabla origen, el formato de la celda cambia a un fondo amarillo.


De igual forma, para comprobar que el valor incluido en la Tabla de trabajo de la Hoja2 difiere de su correspondiente de la Tabla origen, añadiríamos un nuevo criterio de Formato condicional tipo fórmula:
=B2<>INDICE(tabla;FILA(B2)-1;COLUMNA(B2)-1)
para todo el rango de celdas de la Tabla de trabajo.
Igualemente funcionará si los valores de las tablas son de texto.

4 comentarios:

  1. Tened en cuenta que la administración de reglas de format condicionales es una característica a partir de Excel 2007!

    ResponderEliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  3. hacen falta macros para este tutorial ?

    ResponderEliminar
    Respuestas
    1. Hola,
      no hacen falta macros, sólo lo que está explicado...
      en este caso Formato condicional con fórmula.
      Slds

      Eliminar

Nota: solo los miembros de este blog pueden publicar comentarios.