top of page

Palabras al reves es lo mismo

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


© 2019 Miguel Ángel Franco García

bottom of page