Palabras al reves es lo mismo
- Jaime Franco Jimenez
- 1 sept 2023
- 2 Min. de lectura
Tenemos las siguientes palabras.

Debemos de encontrar aquellas palabras que escritas al revés sean igual que las que aparecen en la columna A.
Empecemos.
Vamos a extraer cada carácter de cada palabra, pero, al revés.
En la celda B2, usamos LET, creamos una variable, usamos la función EXTRAE, como argumento texto, seleccionamos el rango A2:A10.
=LET(a;EXTRAE(A2:A10
Como argumento posición inicial, usamos la función SECUENCIA, omitimos el argumento filas, como argumento columnas, usamos la función MAX, como argumento numero1 de MAX, usamos la función LARGO, como argumento texto, seleccionamos el rango A2:A10, como argumento inicio, volvemos a usar la función MAX, y, como argumento numero1, usamos la función LARGO, como argumento texto de LARGO, seleccionamos el rango A2:A10.
Usamos la función MAX(LARGO(A2:A10)); porque no a partir de que posición debemos de empezar a extraer, porque la longitud de cada cadena es diferente, al usar MAX, nos aseguramos de que se extraen todos los caracteres, aunque tengamos mas blancos de la cuenta, porque después nos deshacemos de ellos.
=LET(a;EXTRAE(A2:A10;SECUENCIA(;MAX(LARGO(A2:A10));MAX(LARGO(A2:A10))
Como argumento paso, ponemos -1, para que vaya desde el valor máximo al número 1.
=LET(a;EXTRAE(A2:A10;SECUENCIA(;MAX(LARGO(A2:A10));MAX(LARGO(A2:A10));-1)
Como argumento numero de caracteres de EXTRAE, ponemos 1.
Probamos variable.
=LET(a;EXTRAE(A2:A10;SECUENCIA(;MAX(LARGO(A2:A10));MAX(LARGO(A2:A10));-1);1);a)
Obtenemos una matriz desbordada, donde en cada fila tenemos extraído cada carácter de cada cadena, pero, al revés.

Como argumento cálculo de LET, debemos de trabajar con cada fila, por lo que usamos la función BYROW, vamos a usar la función UNIRCADENAS, para formar una sola palabra, ponemos la función BYROW, como argumento array, es la variable “a”.
=LET(a;EXTRAE(A2:A10;SECUENCIA(;MAX(LARGO(A2:A10));MAX(LARGO(A2:A10));-1);1);BYROW(a
Como argumento función, ponemos LAMBDA, creamos una variable, que almacena el argumento array.
=LET(a;EXTRAE(A2:A10;SECUENCIA(;MAX(LARGO(A2:A10));MAX(LARGO(A2:A10));-1);1);BYROW(a;LAMBDA(x
Como argumento calculo de LAMBDA, ponemos la función UNIRCADENAS, como argumento delimitador, ponemos dobles comillas dobles, ignoramos celdas vacías, como argumento texto1, es la variable “x”.
=LET(a;EXTRAE(A2:A10;SECUENCIA(;MAX(LARGO(A2:A10));MAX(LARGO(A2:A10));-1);1);BYROW(a;LAMBDA(x;UNIRCADENAS("";VERDADERO;x))))
Vemos que tenemos las palabras, pero al revés.

Usamos la función HALLAR, que no distingue entre mayúsculas, y, minúsculas, como argumento texto buscado, es la función BYROW, como argumento dentro del texto, seleccionamos el rango A2:A10.
=LET(a;EXTRAE(A2:A10;SECUENCIA(;MAX(LARGO(A2:A10));MAX(LARGO(A2:A10));-1);1);HALLAR(BYROW(a;LAMBDA(x;UNIRCADENAS("";VERDADERO;x)));A2:A10))
Obtenemos una matriz desbordada donde hay coincidencia con la primera letra, y, error donde no hay coincidencia.

Preguntamos si el resultado de HALLAR es mayor a cero, en ese caso, que devuelva el rango A2:A10, en caso contrario, que devuelva un texto en blanco.
=LET(a;EXTRAE(A2:A10;SECUENCIA(;MAX(LARGO(A2:A10));MAX(LARGO(A2:A10));-1);1);SI(HALLAR(BYROW(a;LAMBDA(x;UNIRCADENAS("";VERDADERO;x)));A2:A10)>0;A2:A10;""))
Obtenemos la palabra que escrita al revés es igual que escrita normal, y, error donde no hay coincidencia.

Usamos la función ENCOL, como argumento matriz, es el condicional SI, como argumento ignorar, ponemos 3, es decir, ignorar blancos y errores.
=LET(a;EXTRAE(A2:A10;SECUENCIA(;MAX(LARGO(A2:A10));MAX(LARGO(A2:A10));-1);1);ENCOL(SI(HALLAR(BYROW(a;LAMBDA(x;UNIRCADENAS("";VERDADERO;x)));A2:A10)>0;A2:A10;"");3))
Aceptamos, y, ya lo tenemos.

Miguel Angel Franco
Comments