Ayuda Extraer valor de celda segun color

6 envíos / 0 nuevos
Último envío
eugeniocol
Imagen de eugeniocol
Offline
última acción: Hace 2 semanas 5 días
Nivel 1 - 200 puntos
alta: 29/08/2017 - 17:21
Puntos: 880
Ayuda Extraer valor de celda segun color

Hola buenas.

Necesitaria una formula que dependiendo del color me devuelva el valor que contiene la celda, ejemplo en A1=20 color amarillo formula en A2=20

 

Salud2.

 

eugeniocol
Imagen de eugeniocol
Offline
última acción: Hace 2 semanas 5 días
Nivel 1 - 200 puntos
alta: 29/08/2017 - 17:21
Puntos: 880
pregunta centrada

Bueno ajusto la pregunta inicial con libro ejemplo.

En hoja1 D:E todo correcto ahora solo pretendo que en los valores de E que se ven se conviertan en X.
En hoja2 lo consigo pero ajustando la formula manualmente con un Si( pero si la muevo hacia arriba o abajo ya no da bien, normal la referencia del SI( en B no cuadra y aquí es donde me pierdo ¿?
No sé si otra forma con el SI( seria que al indentificar la celda en Amarillo de B pues X.

Salud2….

AdjuntoTamaño
File foro_indice_coincidir.rar7.68 KB
pacomegia
Imagen de pacomegia
Offline
última acción: Hace 17 horas 32 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 9275
colorcelda

Excel no tiene funciones incorporadas que detecten los colores, así que hay que recurrir a una función personalizada definida en VBA

Por ejemplo, podría ser algo así, una función qeu te devuelve el código del color de una celda

Function ColorFondo(celda As Range)

' función que devuelve el color de fondo de la celda especificada como argumento

   Application.Volatile 'esto es para que se recalcule cada vez

    ColorFondo = celda.Interior.ColorIndex

End Function

 

he añadido Volatile para que la función se recalcule, porque Excel no detecta si cambias un color de uan celda, para iniciar un recálculo, pero con esto, cada vez que se recalcule la hoja se recalculará el color.

Con ayuda de esta función puedes obtener el color de la celda y compararlo con un SI

=SI(ColorFondo(B4)=ColorFondo(B2);"coincide";"no coincide")


ah, y para que tu libro contenga macros tendrás que guardarlo como .xlsm o .xlsb

 

Data Tools Suite
datos y tablas con Excel

eugeniocol
Imagen de eugeniocol
Offline
última acción: Hace 2 semanas 5 días
Nivel 1 - 200 puntos
alta: 29/08/2017 - 17:21
Puntos: 880
pues no....

Nada con esta ultima funcion del color tampoco soy capaz de cuadrar que los valores de E pasen a X.

En hoja3 en G como prueba bien, pero a la hora de anidarla en E estoy en las mismas de antes.

Lo mas que consigo trasteando en Hoja4 en H pero creando una columna auxiliar.

Salud2....

AdjuntoTamaño
File foro_indice_coincidir_2.rar16.46 KB
pacomegia
Imagen de pacomegia
Offline
última acción: Hace 17 horas 32 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 9275
En tu fórmula de la hoja 4

En tu fórmula de la hoja 4 aparece una X porque la función indice devuelve un error

veo que no buscas una celda amarilla, lo que buscas es un valor que esté entre los varios valores que tienes destacados en amarillo.

para eso necesitas la función Coincidir, que devolverá un valor mayor que cero si lo encuentra y un error si no lo encuentra

Así que podría ser algo así (esto es para la fila 4, podrías extender la fórmula hacia abajo, y considerando que en $B$4:$B$7 es donde tienes los valores que quieres comparar)

=SI(SI.ERROR(COINCIDIR(E4;$B$4:$B$7;0);0)>0;"X";"no lo encuentro")

 

AdjuntoTamaño
File foro_indice_coincidir_2.xlsm20.88 KB

 

Data Tools Suite
datos y tablas con Excel

eugeniocol
Imagen de eugeniocol
Offline
última acción: Hace 2 semanas 5 días
Nivel 1 - 200 puntos
alta: 29/08/2017 - 17:21
Puntos: 880
No columna auxiliar

Esta formula sin dudua es mas centrada que la mia, pero lo que ando buscando es no depender de una columna auxiliar G:H o sea que el resultado de ahora en hoja4 en G:H se de en D:E.

Pero parece que ya lo tengo para D:E

=SI.ERROR(SI(INDICE($B$4:$B$7;COINCIDIR(D4;$A$4:$A$17;0);)>0;"X";"");"")

Salud2....