Tengo una hoja de cálculo de Excel con una columna "AP" donde cada celda contiene valores como este
5358 161043 22344 8444 103145 69221044
"5358 161043 22344 8444 103145 69221044 " son todas una celda, AP2 en este caso. Sé que es un desastre, pero lo heredé de otra persona y estoy tratando de limpiarlo.
Necesito alguna forma de extraer esos valores en el rango numérico entre 6623 y 12756. Me vendría bien un comando de búsqueda y reemplazo que elimine todos los valores fuera de este rango o una función que copie los valores en cuestión en otra columna.
Respuesta1
Inventé algunos datos ficticios y los puse en la columna A de mi hoja. En la columna B, utilicé la siguiente fórmula:
=IF(AND(A1>=$L$35,A1<=$L$36),"Yes","No")
Este es un filtro simple que devuelve "Sí" para los valores en su rango objetivo (los dejé en las celdas L35 y L36).
A continuación, seleccione esas dos columnas y active el filtro.
Ahora, en la pestaña Inicio, vaya a la cinta Edición y elija "Buscar y seleccionar". Elija la opción que dice "Ir a oferta especial..."
Seleccione la opción llamada Solo celdas visibles y presione OK.
Presione Copiar o use CTRL-C. Esto debería seleccionar solo las filas con los datos que desea.
Ahora, si pega en una hoja en blanco, pegará solo los datos correspondientes al rango de fechas deseado. Nota: En mi ejemplo, no dejé la fila 1 en blanco para los encabezados, por lo que cuando apliqué mi filtro, terminé con un "No" sobrante. Puedes eliminar el rezagado o simplemente dejar una fila en blanco en la parte superior al principio para que eso no suceda.
Respuesta2
Primero ingrese la siguiente función definida por el usuario en un módulo estándar:
Public Function GrabData(r As Range) As String
Dim cel As Range, v As String, a, d As Double
GrabData = ""
For Each cel In r
v = cel.Text
arr = Split(v, " ")
For Each a In arr
If IsNumeric(a) Then
d = CDbl(a)
If d > 6622 And d < 12757 Then GrabData = GrabData & " " & a
End If
Next a
Next cel
End Function
Entonces si tienes datos enAP1a través deAP3, elige otra celda e ingresa:
=GrabData(AP1:AP3)
Por ejemplo:
Como puede ver, los valores se devuelven en unespacio separadocadena, al igual que las entradas.