Fórmula de Excel: abreviar nombres o palabras -

Tabla de contenido

Fórmula genérica

=TEXTJOIN("",1,IF(ISNUMBER(MATCH(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)),ROW(INDIRECT("65:90")),0)),MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),""))

Resumen

Para abreviar texto que contiene letras mayúsculas, puede probar esta fórmula de matriz basada en la función TEXTJOIN, una nueva función disponible en Office 365 y Excel 2019. Puede usar este enfoque para crear iniciales a partir de nombres o para crear acrónimos. Solo las letras mayúsculas sobrevivirán a esta fórmula, por lo que el texto original debe incluir palabras en mayúscula. Puede usar la función ADECUADA para escribir palabras en mayúscula si es necesario.

En el ejemplo que se muestra, la fórmula en C5 es:

=TEXTJOIN("",1,IF(ISNUMBER(MATCH(CODE(MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1)),ROW(INDIRECT("65:90")),0)),MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1),""))

Explicación

Trabajando desde adentro hacia afuera, la función MID se usa para convertir la cadena en una matriz de letras individuales:

MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1)

En esta parte de la fórmula, MID, ROW, INDIRECT y LEN se utilizan para convertir una cadena en una matriz o letras, como se describe aquí.

MID devuelve una matriz de todos los caracteres del texto.

("W"; "i"; "l"; "l"; "i"; "a"; "m"; ""; "S"; "h"; "a"; "k"; "e ";" s ";" p ";" e ";" a ";" r ";" e ")

Esta matriz se alimenta a la función CODE, que genera una matriz de códigos ascii numéricos, uno para cada letra.

Por separado, ROW e INDIRECT se utilizan para crear otra matriz numérica:

ROW(INDIRECT("65:90")

Esta es la parte inteligente. Los números del 65 al 90 corresponden a los códigos ascii para todas las letras mayúsculas entre AZ. Esta matriz entra en la función COINCIDIR como matriz de búsqueda, y la matriz original de códigos ascii se proporciona como valor de búsqueda.

MATCH luego devuelve un número (basado en una posición) o el error # N / A. Los números representan letras mayúsculas, por lo que la función ISNUMBER se usa junto con la función SI para filtrar los resultados. Solo los caracteres cuyo código ascii esté entre 65 y 90 se convertirán en la matriz final, que luego se reensamblará con la función TEXTJOIN para crear la abreviatura o el acrónimo final.

Buenos enlaces

Obtener las iniciales del nombre (Chandoo)

Articulos interesantes...