Buscar texto dentro de una celda

12/06/2006 - 16:14 por Juan in msnews | Informe spam
Hola a todos,

estaba buscando la manera de, bien mediante una fórmula o bien mediante VBA,
buscar un texto determinado dentro de una celda que tiene bastante más texto
del que yo busco. Por ejemplo, si la celda contiene "Tres tristes tigres"
buscar "tristes, o "tigres", o "tres". Pero no he encontrado la manera de
hacerlo.

¿Alguna idea?

Gracias y un saludo

Preguntas similare

Leer las respuestas

#1 Benito Merino
12/06/2006 - 16:42 | Informe spam
Hola.
A5 = tres
C5 = tres tristes tigres

=ENCONTRAR(MAYUSC(A5);MAYUSC(C5))

En caso verdadero te indica la posición de inicio de la cadena A5. De
no hallar coincidencia mostrará el error #¡valor!

Saludos

Juan in msnews ha escrito:

Hola a todos,

estaba buscando la manera de, bien mediante una fórmula o bien mediante VBA,
buscar un texto determinado dentro de una celda que tiene bastante más texto
del que yo busco. Por ejemplo, si la celda contiene "Tres tristes tigres"
buscar "tristes, o "tigres", o "tres". Pero no he encontrado la manera de
hacerlo.

¿Alguna idea?

Gracias y un saludo
Respuesta Responder a este mensaje
#2 KL
12/06/2006 - 18:31 | Informe spam
Hola chicos,

La propuesta de Benito se podria reducir a:

=HALLAR(A5;C5)

ya que a diferencia de ENCONTRAR la funcion HALLAR no distingue entre mayusculas y minusculas.

Tambien dependiendo de lo que realmente se pretende hacer una vez hallado el valor buscado, se podria usar las siguientes formulas:

1) devolver la posicion del primer caracter del texto buscado dentro del texto original
=HALLAR(A5;C5)

2) devolver VERDADERO si el texto se encuentra en la celda o de lo contrario FALSO:
=CONTAR.SI(C5;"*"&A5&"*")>0
=ESNUMERO(HALLAR(A5;C5))

3) devolver el numero de ocurrencias del texto buscado en la celda:
=(LARGO(C5)-LARGO(SUSTITUIR(C5;A5;"")))/LARGO(A5)

4) devolver el texto buscado si se encuentra dentro del texto original:
=REPETIR(A5;CONTAR.SI(C5;"*"&A5&"*"))
=REPETIR(A5;ESNUMERO(HALLAR(A5;C5)))
=EXTRAE(C5;HALLAR(A5;C5);LARGO(A5))

5) devolver el texto original si se encuentra el texto buscado:
=BUSCARV("*"&A5&"*";C5;1;0)
=BUSCARH("*"&A5&"*";C5;1;0)
=REPETIR(C5;CONTAR.SI(C5;"*"&A5&"*"))
=REPETIR(C5;ESNUMERO(HALLAR(A5;C5)))

Saludos,
KL


"Benito Merino" wrote in message news:
Hola.
A5 = tres
C5 = tres tristes tigres

=ENCONTRAR(MAYUSC(A5);MAYUSC(C5))

En caso verdadero te indica la posición de inicio de la cadena A5. De
no hallar coincidencia mostrará el error #¡valor!

Saludos

Juan in msnews ha escrito:

Hola a todos,

estaba buscando la manera de, bien mediante una fórmula o bien mediante VBA,
buscar un texto determinado dentro de una celda que tiene bastante más texto
del que yo busco. Por ejemplo, si la celda contiene "Tres tristes tigres"
buscar "tristes, o "tigres", o "tres". Pero no he encontrado la manera de
hacerlo.

¿Alguna idea?

Gracias y un saludo
Respuesta Responder a este mensaje
#3 Juan in msnews
13/06/2006 - 09:59 | Informe spam
Muchas gracias a los dos... me vienen muy bien todas las sugerencias,
incluso para cosillas que no me había planteado...
"KL" escribió en el mensaje
news:%
Hola chicos,

La propuesta de Benito se podria reducir a:

=HALLAR(A5;C5)

ya que a diferencia de ENCONTRAR la funcion HALLAR no distingue entre
mayusculas y minusculas.

Tambien dependiendo de lo que realmente se pretende hacer una vez hallado el
valor buscado, se podria usar las siguientes formulas:

1) devolver la posicion del primer caracter del texto buscado dentro del
texto original
=HALLAR(A5;C5)

2) devolver VERDADERO si el texto se encuentra en la celda o de lo contrario
FALSO:
=CONTAR.SI(C5;"*"&A5&"*")>0
=ESNUMERO(HALLAR(A5;C5))

3) devolver el numero de ocurrencias del texto buscado en la celda:
=(LARGO(C5)-LARGO(SUSTITUIR(C5;A5;"")))/LARGO(A5)

4) devolver el texto buscado si se encuentra dentro del texto original:
=REPETIR(A5;CONTAR.SI(C5;"*"&A5&"*"))
=REPETIR(A5;ESNUMERO(HALLAR(A5;C5)))
=EXTRAE(C5;HALLAR(A5;C5);LARGO(A5))

5) devolver el texto original si se encuentra el texto buscado:
=BUSCARV("*"&A5&"*";C5;1;0)
=BUSCARH("*"&A5&"*";C5;1;0)
=REPETIR(C5;CONTAR.SI(C5;"*"&A5&"*"))
=REPETIR(C5;ESNUMERO(HALLAR(A5;C5)))

Saludos,
KL


"Benito Merino" wrote in message
news:
Hola.
A5 = tres
C5 = tres tristes tigres

=ENCONTRAR(MAYUSC(A5);MAYUSC(C5))

En caso verdadero te indica la posición de inicio de la cadena A5. De
no hallar coincidencia mostrará el error #¡valor!

Saludos

Juan in msnews ha escrito:

Hola a todos,

estaba buscando la manera de, bien mediante una fórmula o bien mediante


VBA,
buscar un texto determinado dentro de una celda que tiene bastante más


texto
del que yo busco. Por ejemplo, si la celda contiene "Tres tristes tigres"
buscar "tristes, o "tigres", o "tres". Pero no he encontrado la manera de
hacerlo.

¿Alguna idea?

Gracias y un saludo
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida