Usando o Excel 365
Eu tenho uma pequena função definida pelo usuário VBA para analisar uma string em substrings com base na vírgula como separador. Estou tentando substituir o UDF por uma fórmula de planilha para criar uma pasta de trabalho livre de macros.
A UDF é:
Public Function parsee(s As String)
Dim i As Long, arr, a
arr = Split(s, ",")
ReDim output(1 To 1, 1 To UBound(arr) + 1)
i = 1
For Each a In arr
output(1, i) = a
i = i + 1
Next a
parsee = output
End Function
No Excel 365, isso se espalha de maneira análoga a TextToColumns
:
Baseado neste post anterior:
extrair substrings da string usando filterxml
Eu tenho usado:
=TRANSPOSE(FILTERXML("<t><s>"&SUBSTITUTE(A1,",","</s><s>")&"</s></t>","//s"))
Isso funciona da mesma maneira, a menos que a string de entrada contenha um caractere & (como a string em A2 ) . Neste caso FILTERXML()
retorna #VALOR!
Existe uma solução fácil FILTERXML()
para aceitar o & como qualquer outro personagem ??
Substitua o
&
por&