sábado, 20 de junio de 2020

EXCEL: Cadena de texto inverso

Excel formula: Reverse text string

Fórmula genérica

=UNIRCADENAS("",1,EXTRAE(A1,{10,9,8,7,6,5,4,3,2,1},1))

Explicación

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

=UNIRCADENAS("",1,EXTRAE(B5,{10,9,8,7,6,5,4,3,2,1},1))

Cómo funciona esta fórmula

En el fondo, esta fórmula usa la función EXTRAE 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:

EXTRAE(B5,{10,9,8,7,6,5,4,3,2,1},1)

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

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

{"","","","","","","D","C","B","A"}

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

=UNIRCADENAS("",1,{"","","","","","","D","C","B","A"})

La función UNIRCADENAS 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 ajuste al tamaño correcto, puede usar una fórmula más complicada como esta

=UNIRCADENAS("",1,EXTRAE(B5,ABS(FILA(INDIRECTO("1:"&LARGO(B5)))-(LARGO(B5)+1)),1))

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

Matriz dinámica con SECUENCIA

Debido 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 SECUENCIA, una solución dinámica se ve así:

=UNIRCADENAS("",1,EXTRAE(B5,SECUENCIA(LARGO(B5),,LARGO(B5),-1),1))


Comentarios en Facebook


0 comentarios:

Copyright © 2021 TRUJILLOSOFT