Fórmula do Excel: Converter string em array -

Índice

Fórmula genérica

(=MID(string,ROW(INDIRECT("1:"&LEN(string))),1))

Resumo

Para converter uma string em uma matriz que contém um item para cada letra, você pode usar uma fórmula de matriz baseada nas funções MID, ROW, LEN e INDIRECT. Isso às vezes pode ser útil dentro de outras fórmulas que manipulam o texto no nível do caractere.

No exemplo mostrado, a fórmula em C5 é:

(=MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1))

Observação: esta é uma fórmula de matriz e deve ser inserida com control + shift + enter.

Explicação

Trabalhando de dentro para fora, a função LEN calcula o comprimento da string, e isso é unido por concatenação a "1:", criando um intervalo de texto como este: "1: 3"

Este texto é passado para INDIRETO, que avalia o texto como referência e retorna o resultado para a função ROW. A função ROW retorna as linhas contidas na referência em uma matriz de números como esta:

(1;2;3)

Observe que temos um número para cada letra no texto original.

Este array vai para a função MID, para o argumento start_num. O texto vem da coluna B, e o número de caracteres é codificado como 1

Finalmente, com vários números iniciais, o MID retorna vários resultados em uma matriz como esta.

("R";"e";"d")

Artigos interessantes...