Fórmula do Excel: Reverter string de texto -

Índice

Fórmula genérica

=TEXTJOIN("",1,MID(A1,(10,9,8,7,6,5,4,3,2,1),1))

Resumo

Você pode reverter uma string de texto com as funções TEXTJOIN e MID, usando uma constante de matriz. No exemplo mostrado, a fórmula em C5 é:

=TEXTJOIN("",1,MID(B5,(10,9,8,7,6,5,4,3,2,1),1))

Explicação

Basicamente, essa fórmula usa a função MID para extrair cada caractere de uma string de texto na ordem inversa. O caractere inicial é fornecido como uma lista de números em ordem decrescente codificada como constante de matriz:

MID(B5,(10,9,8,7,6,5,4,3,2,1),1)

O argumento de texto vem B5 e 1 é especificado para o número de caracteres a extrair.

Com a string "ABCD" em B5, a saída do MID é uma matriz semelhante a esta:

("","","","","","","D","C","B","A")

Esta matriz é alimentada na função TEXTJOIN como o argumento text1, com o delimitador definido como uma string vazia ("") e ignora o conjunto em branco como TRUE (inserido como 1):

=TEXTJOIN("",1,("","","","","","","D","C","B","A"))

A função TEXTJOIN concatena cada elemento da matriz, ignorando os espaços em branco e retorna o resultado final, "DCBA"

Array dinâmico

A constante de matriz no exemplo acima suportará apenas strings de até 10 caracteres. Para usar uma matriz dinâmica com escala no tamanho certo, você pode usar uma fórmula mais complicada como esta

=TEXTJOIN("",1,MID(B5,ABS(ROW(INDIRECT("1:"&LEN(B5)))-(LEN(B5)+1)),1))

Mais informações sobre como gerar uma matriz de números aqui.

Matriz dinâmica com SEQUENCE

Com vencimento em 2019 por meio da assinatura do Office 365, a função SEQUENCE é feita para gerar matrizes numéricas dinâmicas. Com SEQUENCE, uma solução dinâmica se parece com isto:

=TEXTJOIN("",1,MID(B5,SEQUENCE(LEN(B5),,LEN(B5),-1),1))

Artigos interessantes...