top of page
Foto del escritorJaime Franco Jimenez

Corregir errores entre dos cadenas

En este ejemplo, tenemos dos cadenas, con los mismos nombres, supuestamente los mismos nombres, pero la persona que ha ido introduciendo los nombres, tanto en la primera, como en la segunda columna, ha cometido errores a la hora de escribirlos.


Por ejemplo, en la primera línea, en la columna B, entre nombre y apellido, hay un espacio de más.





En la segunda línea, en la columna A, también, hay un espacio de más ente nombre y apellido.




En la quinta línea, en la columna B, se ha añadido una A de más al apellido.




Tenemos que crear una lista de estos nombres, pero corregidos.


Si en la celda C1, comparo el valor de A1 con B1.


=A1=B1


Obtengo FALSO, porque las dos cadenas no son iguales.





Arrastramos, y, vemos que hay tres FALSOS, es decir, hay tres nombres que no son iguales.








También, podría usar la función LARGO, para saber la longitud de cada cadena, para ello, en la celda E2, voy a aplicar la función LARGO a la celda A1.


=LARGO(A1)


Me devuelve 12.


Voy a usar la función LARGO, ahora, en la celda B1.


=LARGO(B1)


Me devuelve 13.


Quiere decir que ambas cadenas no son iguales.


Lo único que se me ocurre, es comparar la longitud de A1 con la longitud de B1, en caso, que B1 sea mayor a A1, que sustituya el valor de B1 por el valor de A1, que es el que esta bien, si la longitud de B1 es menor a la longitud de A1, que sustituya el valor A1 por B1, y, si ambas longitudes son iguales, que deje el valor de la celda.


Tenemos que usar el condicional SI, la función LARGO, y, SUSTITUIR.


Escribimos el signo igual, seguido del condicional SI, y, abrimos un paréntesis.


=SI(


Comparamos la longitud de A1 con la longitud de B1, este seria el argumento prueba lógica del condicional SI.


=SI(LARGO(A1)<LARGO(B1)


Si la condición se cumple, con la función SUSTITUIR, voy a sustituir el valor de B1, por el valor de A1.

=SI(LARGO(A1)<LARGO(B1);SUSTITUIR(B1;B1;A1)


En el argumento valor si falso, voy a preguntar si la longitud de A1 es mayor que la longitud de B1.


=SI(LARGO(A1)<LARGO(B1);SUSTITUIR(B1;B1;A1);SI(LARGO(A1)>LARGO(B1)


En ese caso, tiene que sustituir en valor de A1 por el valor de B1.


=SI(LARGO(A1)<LARGO(B1);SUSTITUIR(B1;B1;A1);SI(LARGO(A1)>LARGO(B1);SUSTITUIR(A1;A1;B1)


Y, en el argumento valor si falso del segundo SI, pregunto si ambas longitudes son iguales.


=SI(LARGO(A1)<LARGO(B1);SUSTITUIR(B1;B1;A1);SI(LARGO(A1)>LARGO(B1);SUSTITUIR(A1;A1;B1);SI(LARGO(A1)=LARGO(B1)


En ese caso, que devuelva el valor de la celda A1.


Cerramos paréntesis de cierre, y, aceptamos.


=SI(LARGO(A1)<LARGO(B1);SUSTITUIR(B1;B1;A1);SI(LARGO(A1)>LARGO(B1);SUSTITUIR(A1;A1;B1);SI(LARGO(A1)=LARGO(B1);A1)))


Vemos que la primera línea esta corregida.




Arrastramos, y, vemos que todas las líneas han sido corregidas.










Vemos como el apellido Bautista, no aparece con la A de más al final.


Ahora, podríamos copiar estos datos, y, pegarlos en la columna A, si fuera el caso.



42 visualizaciones0 comentarios

Entradas Recientes

Ver todo

Comments


bottom of page