Fórmula de Excel: cadena de texto inversa -

Tabla de contenido

Fórmula genérica

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

Resumen

Puede invertir una cadena de texto con las funciones TEXTJOIN y MID, utilizando una constante de matriz. En el ejemplo que se muestra, la fórmula en C5 es:

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

Explicación

En esencia, esta fórmula utiliza la función MID para extraer cada carácter de una cadena de texto en orden inverso. El carácter inicial se proporciona como una lista de números en orden descendente codificados como constante de matriz:

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

El argumento de texto viene B5 y se especifica 1 para el número de caracteres a extraer.

Con la cadena "ABCD" en B5, la salida de MID es una matriz que se ve así:

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

Esta matriz se alimenta a la función TEXTJOIN como el argumento text1, con el delimitador establecido en una cadena vacía (""), e ignora el espacio en blanco establecido en TRUE (ingresado como 1):

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

La función TEXTJOIN concatena cada elemento de la matriz, ignora los espacios en blanco y devuelve el resultado final, "DCBA".

Matriz dinámica

La constante de matriz en el ejemplo anterior solo admitirá cadenas de hasta 10 caracteres. Para usar una matriz dinámica que se escala al tamaño correcto, puede usar una fórmula más complicada como esta

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

Más información sobre cómo generar una matriz de números aquí.

Matriz dinámica con SEQUENCE

En algún momento de 2019 a través de la suscripción a Office 365, la función SECUENCIA está diseñada para generar matrices de números dinámicos. Con SEQUENCE, una solución dinámica se ve así:

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

Articulos interesantes...