Tenho uma planilha Excel com uma coluna “AP” onde cada célula contém valores como este
5358 161043 22344 8444 103145 69221044
"5358 161043 22344 8444 103145 69221044" são todos uma célula, AP2 neste caso. Eu sei que está uma bagunça, mas herdei de outra pessoa e estou tentando limpar.
Preciso de alguma maneira de extrair esses valores no intervalo numérico entre 6623 e 12756. Eu poderia usar um comando de pesquisa e substituição que exclua todos os valores fora desse intervalo ou uma função que copie os valores em questão para outra coluna.
Responder1
Criei alguns dados fictícios e coloquei-os na coluna A da minha planilha. Na coluna B, usei a seguinte fórmula:
=IF(AND(A1>=$L$35,A1<=$L$36),"Yes","No")
Este é um filtro simples que retorna "Sim" para valores no seu intervalo de destino (coloquei-os nas células L35 e L36).
Em seguida, selecione essas duas colunas e ative o Filtro.
Agora, na guia Home, vá para a faixa de edição e escolha "Localizar e selecionar". Escolha a opção que diz "Ir para especial..."
Selecione a opção chamada Somente células visíveis e pressione OK.
Pressione Copiar ou use CTRL-C. Isso deve selecionar apenas as linhas com os dados desejados.
Agora, se você colar em uma planilha em branco, colará apenas os dados correspondentes ao intervalo de datas desejado. Observação: no meu exemplo, não deixei a linha 1 em branco para cabeçalhos, então, quando apliquei meu filtro, acabei com um “Não” sobrando. Você pode excluir o retardatário ou simplesmente deixar uma linha em branco no início, para que isso não aconteça.
Responder2
Primeiro insira a seguinte função definida pelo usuário em um módulo padrão:
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
Então, se você tiver dados emAP1atravésAP3, escolha outra célula e digite:
=GrabData(AP1:AP3)
Por exemplo:
Como você pode ver, os valores são retornados em umespaço separadostring, assim como as entradas.