Formula di Excel: stringa di testo inversa -

Sommario

Formula generica

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

Sommario

È possibile invertire una stringa di testo con le funzioni TEXTJOIN e MID, utilizzando una costante di matrice. Nell'esempio mostrato, la formula in C5 è:

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

Spiegazione

Fondamentalmente, questa formula utilizza la funzione MID per estrarre ogni carattere di una stringa di testo in ordine inverso. Il carattere iniziale viene fornito come un elenco di numeri in ordine decrescente codificato come costante di matrice:

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

L'argomento di testo è B5 e 1 è specificato per il numero di caratteri da estrarre.

Con la stringa "ABCD" in B5, l'output da MID è un array simile a questo:

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

Questo array viene inserito nella funzione TEXTJOIN come argomento text1, con delimitatore impostato su una stringa vuota ("") e ignora lo spazio vuoto impostato su TRUE (inserito come 1):

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

La funzione TEXTJOIN concatena ogni elemento dell'array insieme, ignorando gli spazi e restituisce il risultato finale, "DCBA"

Matrice dinamica

La costante di matrice nell'esempio precedente supporterà solo stringhe fino a 10 caratteri. Per utilizzare un array dinamico che si ridimensiona alla giusta dimensione, puoi utilizzare una formula più complicata come questa

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

Maggiori informazioni sulla generazione di un array di numeri qui.

Array dinamico con SEQUENZA

In scadenza nel 2019 tramite l'abbonamento a Office 365, la funzione SEQUENZA viene creata per generare matrici di numeri dinamici. Con SEQUENCE, una soluzione dinamica si presenta così:

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

Articoli interessanti...