Saltar al contenido principal

¿Cómo extraer la primera letra de cada palabra de la celda?

Imagine que tiene una lista de nombres de países en su hoja de trabajo y desea extraer la primera letra de cada palabra de estos nombres. Excel no proporciona una función directa para extraer las letras iniciales de cada palabra en una celda. Sin embargo, presentaré algunos métodos prácticos para realizar esta tarea de manera eficiente, haciendo que el proceso sea sencillo y efectivo.


Extraiga la primera letra de cada palabra de la celda con fórmula

Para obtener la primera letra de cada palabra dentro de una celda, la siguiente fórmula matricial puede ayudarle.

1. Copie la siguiente fórmula en una celda en blanco donde desea obtener el resultado y luego presione Ctrl + Shift + Enter claves juntas para obtener el primer resultado.

=CONCAT(LEFT(FILTERXML("<a><b>"&SUBSTITUTE(A2," ","</b><b>")&"</b></a>","//b"),1))

2. Luego, baje la fórmula para llenar las otras celdas. Esta acción extraerá automáticamente la primera letra de cada palabra en cada celda de una sola vez. Ver captura de pantalla:

Explicación de esta fórmula:
  • SUSTITUIR(A2," "," "):Esta función reemplaza cada espacio en el texto de la celda A2 con . Esto separa efectivamente cada palabra del texto con estas etiquetas XML. Por ejemplo, si A2 contiene "Hola mundo", esta parte de la fórmula lo convierte en "Hola mundo".
  • " "&...&" ": Esta parte envuelve el resultado de la función SUSTITUIR al principio y al final. Siguiendo con el ejemplo, la cadena ahora se convierte en Hola Mundo , formando una estructura XML válida donde cada palabra está encerrada entre etiquetas.
  • FILTROXML(...,"//b"): FILTERXML se utiliza para analizar la cadena XML creada en los pasos anteriores. La consulta XPath //b selecciona todos los elementos dentro de las etiquetas, es decir, cada palabra de la cadena original. Usando nuestro ejemplo, FILTERXML devolvería una matriz con dos elementos: "Hola" y "Mundo".
  • IZQUIERDA(...,1): Luego, la función IZQUIERDA se aplica a cada elemento de la matriz devuelta por FILTERXML, extrayendo la primera letra de cada palabra. En el ejemplo, esto daría como resultado "H" y "W".
  • CONCAT(...): Finalmente, la función CONCAT concatena todos los elementos de la matriz en una sola cadena. Para nuestro ejemplo de "Hola mundo", concatenaría "H" y "W" para producir "HW".

Extraiga la primera letra de cada palabra de Cell con Kutools AI Aide

Extraiga rápidamente la primera letra de cada palabra en una celda con Asistente de IA de Kutools. No hay necesidad de fórmulas complejas; El asistente de IA automatiza la tarea por usted, haciendo que el procesamiento de datos sea simple y eficiente. Optimice su flujo de trabajo de Excel y facilite su trabajo. Intentar Asistente de IA de Kutools ¡Y experimente operaciones inteligentes de Excel!

Note: Para usar esto Asistente de IA de Kutools of Kutools for Excel, Por favor descargue e instale Kutools para Excel de antemano.

Después de instalar Kutools para Excel, haga clic en Kutools IA > Asistente de IA para abrir el Asistente de IA de Kutools cristal:

  1. Seleccione la lista de datos, luego escriba su requisito en el cuadro de chat y haga clic Enviar botón o prensa Participar clave para enviar la pregunta;
  2. Después de analizar, haga clic Implementación botón para ejecutar. Kutools AI Aide procesará su solicitud utilizando AI y devolverá los resultados directamente en Excel.


Extraiga la primera letra de cada palabra de la celda con la función definida por el usuario

Extraer la primera letra de cada palabra de una celda es una tarea que se puede optimizar enormemente mediante el uso de una función definida por el usuario (UDF) en Excel. Esta sección explora cómo crear y utilizar una UDF para realizar esta tarea de manera eficiente.

1. Mantenga pulsado el ALT + F11 teclas para abrir el Ventana de Microsoft Visual Basic para aplicaciones.

2. Hacer clic recuadro > Móduloy pegue el siguiente código en el Ventana de módulo.

Function GetFirstLetters(rng As Range) As String
'Updateby Extendoffice
    Dim arr
    Dim I As Long
    arr = VBA.Split(rng, " ")
    If IsArray(arr) Then
        For I = LBound(arr) To UBound(arr)
            GetFirstLetters = GetFirstLetters & Left(arr(I), 1)
        Next I
    Else
        GetFirstLetters = Left(arr, 1)
    End If
End Function

3. Luego guarde y cierre este código, regrese a la hoja de trabajo e ingrese esta fórmula. = GetFirstLetters (A2) en una celda en blanco. Y luego, arrastre el controlador de relleno a las celdas a las que desea aplicar esta fórmula. Y todas las primeras letras han sido extraídas de la serie de palabras, ver captura de pantalla:


Artículos relacionados:

  • Extraiga las primeras o las últimas dos o n palabras de una cadena de texto
  • Si tiene una lista de cadenas de texto que están separadas por espacio, y ahora, desea extraer las primeras o las últimas tres o n palabras del valor de la celda para obtener el siguiente resultado de captura de pantalla. En este artículo, presentaré algunas fórmulas para extraer las primeras o últimas dos o n palabras de una cadena de texto en Excel.
  • Extraer texto antes/después de espacio o coma únicamente
  • Cuando desee extraer el texto antes o después del espacio de la lista como se muestra a continuación, ¿tiene una buena manera de hacerlo? Permítame contarle algunas formas engañosas de extraer texto antes o después del espacio solo en Excel.
  • Extraer la dirección de correo electrónico de la cadena de texto
  • Cuando importa algunas direcciones de correo electrónico desde el sitio web a la hoja de cálculo de Excel, siempre contiene texto irrelevante, pero ahora solo desea extraer las direcciones de correo electrónico puras de la cadena de texto (consulte las siguientes capturas de pantalla). ¿Cómo podría obtener rápidamente solo las direcciones de correo electrónico del texto de la celda?
  • Extraer cadena entre dos caracteres diferentes
  • Si tiene una lista de cadenas en Excel de la que necesita extraer parte de la cadena entre dos caracteres como se muestra a continuación, ¿cómo manejarla lo más rápido posible? Aquí, presento algunos métodos para resolver este trabajo.

Las mejores herramientas de productividad de oficina

🤖 Asistente de IA de Kutools: Revolucionar el análisis de datos basado en: Ejecución inteligente   |  Generar codigo  |  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos  |  Invocar funciones de Kutools...
Características populares: Buscar, resaltar o identificar duplicados   |  Eliminar filas en blanco   |  Combine columnas o celdas sin perder datos   |   Ronda sin fórmula ...
Super búsqueda: Búsqueda virtual de criterios múltiples    Búsqueda V de valores múltiples  |   VLookup en varias hojas   |   Búsqueda difusa ....
Lista desplegable avanzada: Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple ....
Administrador de columnas: Agregar un número específico de columnas  |  Mover columnas  |  Toggle Estado de visibilidad de columnas ocultas  |  Comparar rangos y columnas ...
Características destacadas: Enfoque de cuadrícula   |  Vista de diseño   |   Gran barra de fórmulas    Administrador de hojas y libros de trabajo   |  Biblioteca de Recursos (Texto automático)   |  Selector de fechas   |  Combinar hojas de trabajo   |  Cifrar/descifrar celdas    Enviar correos electrónicos por lista   |  Súper filtro   |   Filtro especial (filtro negrita/cursiva/tachado...) ...
Los 15 mejores conjuntos de herramientas12 Texto Herramientas (Añadir texto, Quitar caracteres, ...)   |   50+ Tabla Tipos (Diagrama de Gantt, ...)   |   40+ Práctico Fórmulas (Calcular la edad según el cumpleaños, ...)   |   19 Inserción Herramientas (Insertar código QR, Insertar imagen desde la ruta, ...)   |   12 Conversión Herramientas (Números a palabras, Conversión de Moneda, ...)   |   7 Fusionar y dividir Herramientas (Filas combinadas avanzadas, Células partidas, ...)   |   ... y más

Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo.  Haga clic aquí para obtener la función que más necesita...

Descripción


Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
Comments (18)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hello, If the the nth Word is enclosed in a (), it is returning the ( since it comes before the First Letter.

Example:
Word Word (Word)

How to return WWW instead of WW( ?
This comment was minimized by the moderator on the site
Hello, Sharmane
Maybe the following code can help you:
Function GetFirstLetters(rng As Range) As String
    Dim arr() As String
    Dim i As Long
    
    arr = VBA.Split(rng.Value, " ")
    
    For i = LBound(arr) To UBound(arr)
        If Left(arr(i), 1) <> "(" And Right(arr(i), 1) <> ")" Then
            GetFirstLetters = GetFirstLetters & Left(arr(i), 1)
        ElseIf Left(arr(i), 1) = "(" And Right(arr(i), 1) = ")" Then
            GetFirstLetters = GetFirstLetters & Mid(arr(i), 2, 1)
        End If
    Next i
End Function


Please have a try, thank you!
This comment was minimized by the moderator on the site
Another suggestion if using Microsoft 365: =TEXTJOIN("",,LEFT(TEXTSPLIT(D9," "),1)) where the source string is in B9.
Wrap in UPPER function to enforce uppercase: =UPPER(TEXTJOIN("",,LEFT(TEXTSPLIT(D9," "),1)))
@Pradeep Gyawali -> add space: =UPPER(TEXTJOIN(" ",,LEFT(TEXTSPLIT(D9," "),1)))
This comment was minimized by the moderator on the site
Wondering how to add this into the existing formula I have that works to bring the value over from a cell in another sheet? I only want to bring over the first character in each cell. Here's the formula

=IF(LOOKUP(2,1/(OriginalSubmission!D:D<>""),ROW(OriginalSubmission!D:D))=ROW(OriginalSubmission!D4),"",INDIRECT("OriginalSubmission!D5:"&"D"&(LOOKUP(2,1/(OriginalSubmission!D:D<>""),ROW(OriginalSubmission!D:D)))))
This comment was minimized by the moderator on the site
Hello, SARAH
Do you mean extracting each first character in cells from another worksheet? If so, you just need to copy and paste the code in this article, and then apply this formula into another sheet.
=GetFirstLetters(OriginalSubmission!D4)


Note: OriginalSubmission is the sheet name that you want to extract charatcers from.
Please try, hope it can help you!
This comment was minimized by the moderator on the site
How to create space between the letters?

South Korea= S K
This comment was minimized by the moderator on the site
Hi, Gyawali
If you want to add space for each character, please apply the following VBA code:
Function GetFirstLetters(Rng As Range) As String
'Updateby Extendoffice
    Dim xStr
    Dim arr
    Dim I As Long
    xStr = " "
    arr = VBA.Split(Rng, " ")
    If IsArray(arr) Then
        For I = LBound(arr) To UBound(arr)
            GetFirstLetters = GetFirstLetters & Left(arr(I), 1) & xStr
        Next I
    Else
        GetFirstLetters = Left(arr, 1) & xStr
    End If
End Function


After insert the code, and then apply this formula: =GetFirstLetters(A2) to get the result you need.
Please try, hope it can help you!
This comment was minimized by the moderator on the site
Why is this giving me the first 2 letters in each word?
This comment was minimized by the moderator on the site
This is awesome. Such a time saver
This comment was minimized by the moderator on the site
This code is good for upto five words, where D20 is the cell with data.



=IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",
$D$20)+1)+1)+1)+1,1)),IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)),
IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)),
IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)),
IF(ISERR(LEFT($D$20,1)),"",LEFT($D$20,1)),LEFT($D$20,1)
&MID($D$20,SEARCH(" ",$D$20)+1,1)),LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)),
LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)),LEFT($D$20,1)
&MID($D$20,SEARCH(" ",$D$20)+1,1)&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)
+1)+1)+1,1))
This comment was minimized by the moderator on the site
Подскажите пожалуйста, можно ли модифицировать код чтобы забиралась не первые а Заглавные буквы?
This comment was minimized by the moderator on the site
i think it has one bug, it's automatically removed from module when sheet is closed, need to again every time when open sheet same process to be required, please advice how to save this formula in excel permanently.
This comment was minimized by the moderator on the site
Pls save excel as Excel Macro-Enablel work book.
This comment was minimized by the moderator on the site
Please include this part: If you create a function called DISCOUNT in a workbook called Personal.xlsb and you call that function from another workbook, you must type =personal.xlsb!discount(), not simply =discount(). https://support.office.com/en-us/article/Create-Custom-Functions-in-Excel-2007-2f06c10b-3622-40d6-a1b2-b6748ae8231f
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations