Buscar cadena de texto en columna

22/09/2004 - 12:47 por pacocua | Informe spam
Hola

si tengo la siguiente columna:

angel
antonio
manuel

y escribo "ant", con la funcion -buscarv- solo consigo que me devuelva
"angel"... ¿como puedo hace para que me devuelva "antonio"?

Gracias

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
22/09/2004 - 13:43 | Informe spam
Suponiendo que los datos estuvieran en A1:A3, podrías usar:

=INDIRECTO("A"&MAX(NO(ESERROR(ENCONTRAR("ant";A1:A3)))*FILA(A1:A3)))

teniendo en cuenta que se trata de una fórmula matricial (tienes que introducirla pulsando Control + Mayúsculas + Entrada al mismo tiempo) y que quizás tengas que sustituir los puntos y coma por comas, dependiendo de la configuración de tu equipo
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Paco Cua" escribió en el mensaje news:
Hola

si tengo la siguiente columna:

angel
antonio
manuel

y escribo "ant", con la funcion -buscarv- solo consigo que me devuelva
"angel"... ¿como puedo hace para que me devuelva "antonio"?

Gracias
Respuesta Responder a este mensaje
#2 Javier Teran Gonzalez
22/09/2004 - 14:24 | Informe spam
Buenas.

Hemos estado probando la función que nos has enviado y no conseguimos que
funcione.

O lo utilizamos mal o creemos que la función ENCONTRAR("ant";A1:A3) no es
correcta.
no encuentra el texto "ant" en un rango, solo en una celda y entonces
siempre da error

¿Alguna otra sugerencia?

Gracias por anticipado
Hasta luego.


"Fernando Arroyo" escribió en el mensaje
news:
Suponiendo que los datos estuvieran en A1:A3, podrías usar:

=INDIRECTO("A"&MAX(NO(ESERROR(ENCONTRAR("ant";A1:A3)))*FILA(A1:A3)))

teniendo en cuenta que se trata de una fórmula matricial (tienes que
introducirla pulsando Control + Mayúsculas + Entrada al mismo tiempo) y que
quizás tengas que sustituir los puntos y coma por comas, dependiendo de la
configuración de tu equipo
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Paco Cua" escribió en el mensaje
news:
Hola

si tengo la siguiente columna:

angel
antonio
manuel

y escribo "ant", con la funcion -buscarv- solo consigo que me devuelva
"angel"... ¿como puedo hace para que me devuelva "antonio"?

Gracias
Respuesta Responder a este mensaje
#3 Fernando Arroyo
22/09/2004 - 15:06 | Informe spam
Se trata de una fórmula matricial, como ya dije en mi mensaje anterior. Tenéis que introducirla así:

- copiad la fórmula tal como va en mi mensaje
- seleccionad la celda donde tenga que ir, y pegad la fórmula en la barra de fórmulas
- no pulséis Entrada, sino Control Mayúsculas y luego, sin soltar estas dos teclas, Entrada.

Si lo hacéis bien, la fórmula aparecerá así en la barra de fórmulas:

{=INDIRECTO("A"&MAX(NO(ESERROR(ENCONTRAR("ant";A1:A3)))*FILA(A1:A3)))}

y entonces debería devolver el resultado correcto.
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Javier Teran Gonzalez" escribió en el mensaje news:
Buenas.

Hemos estado probando la función que nos has enviado y no conseguimos que
funcione.

O lo utilizamos mal o creemos que la función ENCONTRAR("ant";A1:A3) no es
correcta.
no encuentra el texto "ant" en un rango, solo en una celda y entonces
siempre da error

¿Alguna otra sugerencia?

Gracias por anticipado
Hasta luego.

Respuesta Responder a este mensaje
#4 Tanner
23/09/2004 - 02:37 | Informe spam
la funcion buscarv te devuelve "antonio" por que le estas
dando el valor 1 al parametro de ORDENADO.. es decir que
seleccione el mas cercano.. si le dieras 0 no mostraria
nada...prueba esta macro.. espero te sirva..
Saludos

Sub X_ms()
For Each cell In Selection
cadena = "ant"
If Mid(cell.Value, 1, Len(cadena)) = cadena Then
Cells(cell.Row, cell.Column + 2).Value = cell.Value
End If
Next
End Sub

Saludos..
Tanner!!

Hola

si tengo la siguiente columna:

angel
antonio
manuel

y escribo "ant", con la funcion -buscarv- solo consigo


que me devuelva
"angel"... ¿como puedo hace para que me


devuelva "antonio"?

Gracias
.

Respuesta Responder a este mensaje
#5 Javier Teran Gonzalez
23/09/2004 - 14:10 | Informe spam
Hemos intentado seguir vuestras indicaciones y he conseguido esto
La función matricial no se por que, pero no funciona (salen los {})
La otra función no era exactamente lo que buscabamos

Esta función se aproxima a lo que queríamos
De una lista de gente da el valor siguiente a lo que estas poniendo a no ser
que coincida que dara ese.

Antonio
Javier
Marta
Tomas

Si pongo Ant obtengo Antonio
Si pongo Antu obtengo Javier

Sub BuscarNombre()
Columna = ActiveCell.Column
Fila = ActiveCell.Row
nombre = ActiveCell.Value
Range("TABLA").Select

For Each cell In Selection
Elemento = cell.Value
If StrComp(Elemento, nombre, vbTextCompare) >= 0 Then Exit For
Next

Range(Cells(Fila, Columna), Cells(Fila, Columna)).Value = Elemento
ActiveCell.Offset(1, 0).Activate
End Sub

Ahora solo falta controlar la macro en algún evento.

¿Hay algún evento como el KEYPRESS de visual para que cuando de al ENTER se
ejecute la macro?

Gracias por vuestra ayuda



"Paco Cua" escribió en el mensaje
news:
Hola

si tengo la siguiente columna:

angel
antonio
manuel

y escribo "ant", con la funcion -buscarv- solo consigo que me devuelva
"angel"... ¿como puedo hace para que me devuelva "antonio"?

Gracias
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida