![](https://cdn.wiki-base.com/8050385/excel_formula_convert_string_to_array__2.png.webp)
Formula generica
(=MID(string,ROW(INDIRECT("1:"&LEN(string))),1))
Sommario
Per convertire una stringa in una matrice che contiene un elemento per ogni lettera, è possibile utilizzare una formula di matrice basata sulle funzioni MID, ROW, LEN e INDIRECT. Questo a volte può essere utile all'interno di altre formule che manipolano il testo a livello di carattere.
Nell'esempio mostrato, la formula in C5 è:
(=MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1))
Nota: questa è una formula di matrice e deve essere inserita con CTRL + MAIUSC + INVIO.
Spiegazione
Lavorando dall'interno verso l'esterno, la funzione LEN calcola la lunghezza della stringa, che viene unita per concatenazione a "1:", creando un intervallo di testo come questo: "1: 3"
Questo testo viene passato in INDIRETTO, che valuta il testo come riferimento e restituisce il risultato alla funzione RIGA. La funzione RIGA restituisce le righe contenute nel riferimento in una matrice di numeri come questa:
(1;2;3)
Notare che abbiamo un numero per ogni lettera nel testo originale.
Questo array va nella funzione MID, per l'argomento start_num. Il testo proviene dalla colonna B e il numero di caratteri è codificato come 1
Infine, con più numeri iniziali, MID restituisce più risultati in una matrice come questa.
("R";"e";"d")