Buscar un texto, dentro cadenas de texto y en dos columna de diferente rango.

03/06/2006 - 09:59 por Kanduleitor | Informe spam
Buenas. El problema es el siguiente
Quiero comparar el texto exacto (mayusculas, minusculas, acentos,
espacios en blanco) de las celdas que pertenece a la columna (C1:C27)
mas pequeña. Con una columna (A1:A1000) mas grande, en la cual hay
celdas que tienen el contenido exacto de la celda que pertenece a la
columna (C1:C27) dentro de la cadena de texto que pertenece a la celda
de la columna "A".

A B C
_Pépé OK Eca
Pépe NO OK pepe
Eca OK _Pépé
XX u NO OK jejeje
qwert NO OK pepe_h
jeje NO OK
jéjéjé NO OK
jejeje OK
pepe_h Ok

Los datos de la columna C tienen que estar en el texto las celdas de la
columna A para que este OK en la columna B.

Lo he intentado con casi dotas las funciones de texto, buscar,
encontrar pero lo unico que he podido es comparar una celda con otra a
la vez. Pero no una celda con una matriz.
en la celda lo he conseguido con:
=SI(ESERROR(ENCONTRAR(C1;A1));"NO OK";"OK")

Con las formulas matriciales no he podido diferenciar acentos,
mayusculas, minusculas, espacios en blanco
No se utilizar las macros... pero si no hay otro remedio
aprenderemos...

Gracias a todos.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
03/06/2006 - 10:31 | Informe spam
hola, 'anonimo/a' !

Quiero comparar el texto exacto (mayusculas, minusculas, acentos, espacios en blanco) de las celdas... (C1:C27) Con... (A1:A1000)
Los datos de la columna C tienen que estar en el texto las celdas de la columna A para que este OK en la columna B.
... lo unico que he podido es comparar una celda con otra a la vez. Pero no una celda con una matriz.
en la celda lo he conseguido con: =SI(ESERROR(ENCONTRAR(C1;A1));"NO OK";"OK")
Con las formulas matriciales no he podido diferenciar acentos, mayusculas, minusculas, espacios en blanco
No se utilizar las macros... pero si no hay otro remedio aprenderemos...



prueba con la siguiente formula [p.e.] iniciando en 'B1' y la copias hasta 'A1000'
=si(sumaproducto(--(igual($c$1:$c$27;a1)));"";"NO ")&"OK"

o con la siguiente [ligeramente mas larga... pero mas 'rapida' considerando ~1000 formulas]...
=elegir(1+(sumaproducto(--(igual($c$1:$c$27;a1)))>0);"NO ";"")&"OK"

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 KL
03/06/2006 - 12:13 | Informe spam
Hola chicos,

Suponiendo que la solucion de HM es lo que busca Kanduleitor...
En mi maquina sacando el promedio de 5 recalculos en 1000 celdas llenas en ambos rangos, obtengo:

"Héctor Miguel" wrote...
=si(sumaproducto(--(igual($c$1:$c$27;a1)));"";"NO ")&"OK"



10.285,41 milisegundos

mas larga... pero mas 'rapida'
=elegir(1+(sumaproducto(--(igual($c$1:$c$27;a1)))>0);"NO ";"")&"OK"



9.074,86 milisegundos

Y usando la siguiente formula:
=SI(A1="";"";SI(ESNUMERO(COINCIDIR(A1;$C$1:$C$1000;0));"OK";"NO OK"))

199.81 milisegundos

Nota: no estoy completamente seguro que esto es lo que busca Kanduleitor, pero las 3 formulas partecen devolver el mismo resultado aunque no he hecho muchas pruebas.

Saludos,
KL
Respuesta Responder a este mensaje
#3 Kanduleitor
03/06/2006 - 14:12 | Informe spam
KL ha escrito:

Hola chicos,
"Héctor Miguel" wrote...
> =si(sumaproducto(--(igual($c$1:$c$27;a1)));"";"NO ")&"OK"
> mas larga... pero mas 'rapida'
> =elegir(1+(sumaproducto(--(igual($c$1:$c$27;a1)))>0);"NO ";"")&"OK"
Y usando la siguiente formula:
=SI(A1="";"";SI(ESNUMERO(COINCIDIR(A1;$C$1:$C$1000;0));"OK";"NO OK"))



Hola Héctor y KL... no funcionan bien.
Si las celdas a comparar tiene el mismo texto en ambas celdas de las
columnas "C" y "A" si que funcionan

Ejemplo:
A1=Pepe . C27=Pepe > Las formulas si que funciona OK

Yo he utilizado unas cuantas parecidas a esta y tambien funcionan como
las vuestras
=SI(ESERROR(BUSCARV(A8;$C$1:$C$216;1;FALSO));"";"OK")

No funciona cuando en la celda de la columna C esta el texto a buscar
dentro del contenido de una celda de la columna A

Ejemplo:
A1=El Pericóóóó de los palotes... C27=cóóóó de los palo
dice que no son iguales pero la cadena de texto de C27 esta en A1 por
lo tanto tendria que decir que es OK

La formula es para un amigo que se va ha quedar cieguito pronto si
sigue buscando las diferencias a ojo en las miles de celdas.

Gracias a todos... seguiremos investigando.
Respuesta Responder a este mensaje
#4 KL
03/06/2006 - 15:33 | Informe spam
Perdon he colgado mal mi respuesta - aqui la repito:

Hola Kanduleitor,

Pues es justo lo que yo sospechaba, pero tu ejemplo inicial no encajaba del todo con la descripcion que ponias (no recogia los casos de texto buscado dentro de otras cadenas de texto) - las tres formulas propuestas por HM y KL devolvian exactamente los resultados que exponias para tu ejemplo.

Ahora bien, vistas tus nuevas aclaraciones podrias probar las siguientes formulas:

=SI(A1="";"";SI(SUMAPRODUCTO(--ESNUMERO(ENCONTRAR(A1;$C$1:$C$1000)));"OK";"NO OK"))
distingue entre mayusculas y minusculas, pero lenta: 2.389,76 milisegundos en 1.000 filas

=SI(A1="";"";SI(ESNUMERO(COINCIDIR("*"&A1&"*";$C$1:$C$1000;0));"OK";"NO OK"))
no distingue entre mayusculas y minusculas (ya se que no es lo que andas buscando, pero por si la moscas), pero rapida: 200,39 milisegundos en 1.000 filas

Saludos,
KL


"Kanduleitor" wrote in message news:

KL ha escrito:

Hola chicos,
"Héctor Miguel" wrote...
> =si(sumaproducto(--(igual($c$1:$c$27;a1)));"";"NO ")&"OK"
> mas larga... pero mas 'rapida'
> =elegir(1+(sumaproducto(--(igual($c$1:$c$27;a1)))>0);"NO ";"")&"OK"
Y usando la siguiente formula:
=SI(A1="";"";SI(ESNUMERO(COINCIDIR(A1;$C$1:$C$1000;0));"OK";"NO OK"))



Hola Héctor y KL... no funcionan bien.
Si las celdas a comparar tiene el mismo texto en ambas celdas de las
columnas "C" y "A" si que funcionan

Ejemplo:
A1=Pepe . C27=Pepe > Las formulas si que funciona OK

Yo he utilizado unas cuantas parecidas a esta y tambien funcionan como
las vuestras
=SI(ESERROR(BUSCARV(A8;$C$1:$C$216;1;FALSO));"";"OK")

No funciona cuando en la celda de la columna C esta el texto a buscar
dentro del contenido de una celda de la columna A

Ejemplo:
A1=El Pericóóóó de los palotes... C27=cóóóó de los palo
dice que no son iguales pero la cadena de texto de C27 esta en A1 por
lo tanto tendria que decir que es OK

La formula es para un amigo que se va ha quedar cieguito pronto si
sigue buscando las diferencias a ojo en las miles de celdas.

Gracias a todos... seguiremos investigando.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida