(parece que) ya pasaste de nuevo por tu consulta, asi que, en tanto te decides a soltar mas detales...
como tus datos fueron insuficientes... analiza la muestra del adjunto (m365)
1) en las columnas A,B y C los datos donde buscar los valores
(si estan en otro libro, cambia las referencias en la primera matriz en las columnas E,F y G)
2) en [E1] indicas el importe a buscar y en [E2] el '%' de tolerancia (+/-), los encontrados se derraman en la matriz [E4#]
3) en [I1] puedes elegir el monto filtrado que consideres mas apropiado (lista tomada de [E4#]), [I2] indica si hay mas de uno
4) en la segunda matriz [I5#] se listan los (RE)filtrados (OJO: que pudiera haber todavia mas de uno)
5) si hubiera mas de uno, la celda [M2] es para elegir de cual de ellos se rescatan los datos (mostrado en [M5])
puede ser que sobren pasos, filtros, etc, pero la falta de detalles es terreno fertil para una imaginacion generosa
selecciona tolerancia en lista (ayudaExcel).xlsx
Por
Héctor Miguel, · publicado
Hola a todos, espero que este recurso les sea útil.
Se trata de una función construída para extraer la parte numérica de un domiclio.
(Quise subir el archivo, pero siendo con extensión .xlsx, me lo ha rechazado)
Puede copiarse y pegarse en un módulo nuevo.
La función es la siguiente:
Function Numero(domicilio As String) As Integer
'EXTRAE DE UN DOMICILIO SU PARTE NUMÉRICA (numeración de la Calle)
Dim pos As Byte ' variable que representa cada caracter en el domicilio
Dim texto As String
texto = Replace(domicilio, " ", ",") 'Al reemplazar espacios por comas (o cualquier otro caracter)
'se evita que el nro de piso o departamento sea
'interpretado como parte del número.
For pos = 1 To Len(texto) 'Recorre el texto del domicilio con comas entre palabras
If Not (Val(Mid(texto, pos)) = 0) Then 'Cuando encuentra texto, Val es CERO
Numero = Val(Mid(texto, pos)) ' La función Val lée solamente los números
GoTo fin ' Flag para evitar que recorra el resto, y que fuera reduciéndose
' el resultado hasta alcanzar el último carácter del domicilio
End If
Next pos
fin: 'Flag
End Function
Para probarla, escribamos domicilios y en la columna inmediata derecha la fórmula: Numero(argumento)
DOMICILIO ALTURA
San Martin 510 510
523 Ashley Road 34 523
Las Américas 345 3er piso 345
Saludos!