Para liar mas la cosa...

06/03/2005 - 16:32 por javier | Informe spam
Con excel a veces encuentro algunas soluciones y me
divierte el conseguir resolver casos complicados. Sin
embargo muchas veces no lo consigo, y además hace tiempo
que no he estado utilizando éste programa, por lo que he
perdido práctica.

Se me ocurren otros casos: Que además de encontrar esas
palabras ("verde", "azul", "amarillo", "rojo") me devuelva
la siguiente palabra que vaya después de un espacio ( y
que se desconoce cual será), o que me devuelva las dos
siguientes palabras. Por ejemplo:



agg mmuas verde oscuro dircd nada 12.1834 8.7 4123 49 7
teruel
me devolvería: "verde oscuro"

agg mmuas wwccc dircd nada 12.1834 8.7 4123 49 7 verde
oliva teruel
me devolvería: "verde oliva"

ssag mmre ddf dmt 999.234 46777. 5 49 66 teruel rojo con
manchas, esto no.
con otra variante, que devuelva: "rojo con manchas" (las
dos siguientes palabras).




Y otra variante: que devuelva algunas palabras anteriores
(una o dos). Por ejemplo:

agg mas verde lmo dircd nada 12.1834 8.7 4123 49 7 teruel
que devuelva: "mas verde"

agg menos verde tturo dircd nada 12.1834 8.7 4123 49 7
teruel
aquí devolvería: "menos verde"

ae conm un poco amarillo dd 5.4489 8 3 49 555 valladolid
o aquí que devuelva: "un poco amarillo" (sería una
fórmula parecida, supongo, pero me dá las dos palabras
anteriores a la palabra "amarillo", sean cuales sean,
(desconocidas).


Pienso que se podrá hacer utilizando dos o tres fórmulas
auxiliares antes de llegar al resultado deseado. Sólo os
lo planteo por que sé que puede haber muchas formas de
hacerlo, y a veces, cuando alguien domina Excel, puede
encontrar fórmulas increibles.



Saludos a todos y perdonar éste pequeño lio que os dejo.
javier.
 

Leer las respuestas

#1 KL
06/03/2005 - 18:34 | Informe spam
Hola Javier,

Suponiendo q tienes un rango con los posibles valores de color llamado
"lista", prueba las siguientes formulas:

1) 1 palabra despues del color

[A17]="agg mmuas verde oscuro dircd nada 12.1834 8.7 4123 49 7 teruel"
[B17]=INDICE(HALLAR(lista;A17)+LARGO(lista);COINCIDIR(VERDADERO;ESNUMERO(HALLAR(lista;A17)+LARGO(lista));0))
[C17]=INDICE(lista;COINCIDIR(VERDADERO;ESNUMERO(HALLAR(lista;A17));0))
[D17]=SUSTITUIR(IZQUIERDA(A17;LARGO(A17)-B17);",";"")
[E17]Á7&" "&ESPACIOS(SI(ESERROR(IZQUIERDA(C17;ENCONTRAR("
";C17)));"";IZQUIERDA(C17;ENCONTRAR(" ";C17))))

las formulas en [B17] y [C17] son matriciales

2) 2 palabras despues del color

[A21]="ssag mmre ddf dmt 999.234 46777. 5 49 66 teruel rojo con manchas,
esto no"
[B21]=INDICE(HALLAR(lista;A21)+LARGO(lista);COINCIDIR(VERDADERO;ESNUMERO(HALLAR(lista;A21)+LARGO(lista));0))
[C21]=INDICE(lista;COINCIDIR(VERDADERO;ESNUMERO(HALLAR(lista;A21));0))
[D21]=SUSTITUIR(DERECHA(A21;LARGO(A21)-B21);",";"")
[E21]=ESPACIOS(DERECHA(D21;LARGO(D21)-ENCONTRAR(" ";D21)))
[F21]Â1&" "&ESPACIOS(SI(ESERROR(IZQUIERDA(D21;ENCONTRAR("
";D21)));"";IZQUIERDA(D21;ENCONTRAR(" ";D21)))&"
"&SI(ESERROR(IZQUIERDA(E21;ENCONTRAR(" ";E21)));"";IZQUIERDA(E21;ENCONTRAR("
";E21))))

las formulas en [B21] y [C21] son matriciales

3) 1 palabra antes del color

[A25]="agg TT mas verde lmo dircd nada 12.1834 8.7 4123 49 7 teruel"
[B25]=ESPACIOS(IZQUIERDA(A25;INDICE(HALLAR(lista;A25);COINCIDIR(VERDADERO;ESNUMERO(HALLAR(lista;A25));0))-1))
[C25]=ESPACIOS(EXTRAE(B25;MAX((EXTRAE(B25;FILA(INDIRECTO("1:"&LARGO(B25)));1)="
")*FILA(INDIRECTO("1:"&LARGO(B25))))+1;256))
[D25]=INDICE(lista;COINCIDIR(VERDADERO;ESNUMERO(HALLAR(lista;A25));0))
[E25]Â5&" "&D25

las formulas en [B25], [C25] y [D25] son matriciales

Saludos,
KL

"javier" wrote in message
news:4e8101c52261$c0d761c0$
Con excel a veces encuentro algunas soluciones y me
divierte el conseguir resolver casos complicados. Sin
embargo muchas veces no lo consigo, y además hace tiempo
que no he estado utilizando éste programa, por lo que he
perdido práctica.

Se me ocurren otros casos: Que además de encontrar esas
palabras ("verde", "azul", "amarillo", "rojo") me devuelva
la siguiente palabra que vaya después de un espacio ( y
que se desconoce cual será), o que me devuelva las dos
siguientes palabras. Por ejemplo:



agg mmuas verde oscuro dircd nada 12.1834 8.7 4123 49 7
teruel
me devolvería: "verde oscuro"

agg mmuas wwccc dircd nada 12.1834 8.7 4123 49 7 verde
oliva teruel
me devolvería: "verde oliva"

ssag mmre ddf dmt 999.234 46777. 5 49 66 teruel rojo con
manchas, esto no.
con otra variante, que devuelva: "rojo con manchas" (las
dos siguientes palabras).




Y otra variante: que devuelva algunas palabras anteriores
(una o dos). Por ejemplo:

agg mas verde lmo dircd nada 12.1834 8.7 4123 49 7 teruel
que devuelva: "mas verde"

agg menos verde tturo dircd nada 12.1834 8.7 4123 49 7
teruel
aquí devolvería: "menos verde"

ae conm un poco amarillo dd 5.4489 8 3 49 555 valladolid
o aquí que devuelva: "un poco amarillo" (sería una
fórmula parecida, supongo, pero me dá las dos palabras
anteriores a la palabra "amarillo", sean cuales sean,
(desconocidas).


Pienso que se podrá hacer utilizando dos o tres fórmulas
auxiliares antes de llegar al resultado deseado. Sólo os
lo planteo por que sé que puede haber muchas formas de
hacerlo, y a veces, cuando alguien domina Excel, puede
encontrar fórmulas increibles.



Saludos a todos y perdonar éste pequeño lio que os dejo.
javier.

Preguntas similares