Note: The other languages of the website are Google-translated. Back to English

¿Cómo extraer la primera / última / enésima palabra de una cadena de texto en Excel?

¿Alguna vez ha sufrido el problema de tener que extraer una determinada palabra de la cadena de texto en una hoja de trabajo? Por ejemplo, tiene el siguiente rango de cadenas de texto necesarias para obtener la primera / última o enésima palabra de ellas, aquí puedo hablar sobre algunas formas efectivas de resolverlo.


Extraiga la primera palabra o el apellido de la cadena de texto con fórmulas

Si necesita extraer la primera palabra de una lista de cadenas de texto, las siguientes fórmulas pueden ayudarlo.

Para extraer la primera palabra, ingrese la fórmula a continuación en una celda en blanco y luego arrastre el controlador de Autocompletar de esta celda al rango que necesite.

= SI (ESERR (ENCONTRAR ("", A2)), "", IZQUIERDA (A2, ENCONTRAR ("", A2) -1))

Para extraer la última palabra de cada celda, aplique esta fórmula:

= SI (ISERR (ENCONTRAR ("", A2)), "", DERECHA (A2, LARGO (A2) -Buscar ("*", SUSTITUIR (A2, "", "*", LARGO (A2) -LENO ( SUSTITUTO (A2, "", ""))))))

Y ahora verá que se extrae la primera o la última palabra de cada celda.

Notas En las fórmulas anteriores, A2 indica la celda de la que extraerá la primera o la última palabra.

¿Es difícil memorizar fórmulas largas y complicadas? Increíble herramienta que te ayuda a extraer la enésima palabra w¡Con solo varios clics!

Las fórmulas largas anteriores solo pueden extraer la primera y la última palabra, pero será inútil extraer la enésima palabra especificada, decir la segunda palabra, la sexta palabra, etc. Incluso usted puede encontrar fórmulas para resolver el problema, las fórmulas deben ser demasiado complejo para memorizarlo y aplicarlo. Aquí, se recomienda la función Extraer la enésima palabra en la celda de Kutools para Excel, ¡y te ayudará a extraer la enésima palabra lo más fácil posible!


Kutools for Excel - Incluye más de 300 herramientas útiles para Excel. Prueba gratuita de funciones completas 30-día, no se requiere tarjeta de crédito! Consíguelo ahora

Extraiga la enésima palabra de la cadena de texto con la función definida por el usuario

Si desea extraer la segunda, tercera o cualquier enésima palabra de la cadena de texto, puede crear una función definida por el usuario para tratarla.

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 Módulo ventana.

Function FindWord(Source As String, Position As Integer)
'Update 20131202
Dim arr() As String
arr = VBA.Split(Source, " ")
xCount = UBound(arr)
If xCount < 1 Or (Position - 1) > xCount Or Position < 0 Then
    FindWord = ""
Else
    FindWord = arr(Position - 1)
End If
End Function

3. Luego guarde el código, en este ejemplo, obtendré la tercera palabra de la cadena, así que escriba esta fórmula = palabra de búsqueda (A2,3) en una celda en blanco B2, y luego arrastre el controlador de Autocompletar de esta celda al rango que necesite. Ver captura de pantalla:

Nota: En la fórmula anterior, A2 es la celda de la que desea extraer la palabra, el número 3 indica la tercera palabra de la cadena que extraerá y puede cambiarla cuando lo necesite.


Extraiga cada palabra de la cadena de texto y enumérela horizontal o verticalmente

Este método presentará Kutools para Excel Células partidas utilidad para extraer cada palabra de las celdas de la cadena de texto y luego enumerar las palabras extraídas horizontal o verticalmente según su necesidad.

Kutools for Excel - Incluye más de 300 herramientas útiles para Excel. Prueba gratuita de funciones completas 30-día, no se requiere tarjeta de crédito! Prueba gratis ahora!

1. Seleccione las celdas de la cadena de texto de las que extraerá sus palabras y haga clic en el Kutools > Fusionar y dividir > Células partidas.

2. En el cuadro de diálogo Abrir celdas divididas, especifique el tipo de división en el Tipo sección, compruebe el Espacio opción en el Especificar un separador sección, y haga clic en Ok botón. Ver captura de pantalla:

3. Ahora especifique el rango de destino en el que generará las palabras extraídas y haga clic en el OK .

Si marcó el Dividir en columnas en el cuadro de diálogo Dividir celdas anterior, cada palabra se extrae de cada cadena de texto y se enumera verticalmente.

Si marcó el Dividir en filas en el cuadro de diálogo Dividir celdas anterior, cada palabra se extrae de cada cadena de texto y se enumera horizontalmente.


Extraiga la enésima palabra de la cadena de texto en Excel con una herramienta increíble

Si ha instalado Kutools para Excel, puede usar su Asistente de fórmulas> Extraer la enésima palabra en la función de celda para extraer rápidamente la enésima palabra de la celda especificada fácilmente.

Kutools for Excel - Incluye más de 300 herramientas útiles para Excel. Prueba gratuita de funciones completas 30-día, no se requiere tarjeta de crédito! Prueba gratis ahora!

1. Seleccione la celda en la que colocará la palabra extraída y haga clic en Kutools > Ayudante de fórmula > Ayudante de fórmula para activar esta función.

2. En el cuadro de diálogo Asistente de fórmulas, haga lo siguiente:
(1) Seleccionar Texto de Tipo de fórmula la lista desplegable;
(2) Haga clic para resaltar Extrae la enésima palabra en la celda en el capítulo respecto a la Elige una fórmula cuadro de lista;
(3) En el Celular cuadro, especifique la celda de la que extraerá la palabra;
(4) En El enésimo cuadro, especifique el número.

3. Haga clic en Ok botón. Si es necesario, arrastre el identificador de Autocompletar de la celda de fórmula y copie la fórmula en otras celdas.


Demostración: extraiga cada palabra de la cadena de texto y enumérela horizontal o verticalmente


Kutools for Excel incluye más de 300 útiles herramientas para Excel, gratis para probar sin limitación en 30 días. Descarga y prueba gratis ahora!

Artículos relacionados:


Las mejores herramientas de productividad de oficina

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
pestaña kte 201905

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!
officetab parte inferior
Comentarios (38)
Aún no hay calificaciones. ¡Sé el primero en calificar!
Este comentario fue minimizado por el moderador en el sitio
Ese código vba es fantástico, muchas gracias.
Este comentario fue minimizado por el moderador en el sitio
¡Esta función definida por el usuario es increíble! Mil gracias por compartirlo.
Este comentario fue minimizado por el moderador en el sitio
¡Muchas gracias! ¡Funcionó bien! :-)
Este comentario fue minimizado por el moderador en el sitio
Esto fue SÚPER útil, me preguntaba si alguien sabía de una lista descargable o copiable y pegable de funciones útiles hechas a mano, como "FindWord", que podría usar.
Este comentario fue minimizado por el moderador en el sitio
Hola, me preguntaba qué más podría insertar en la fórmula de Visual Basic que pudiera extraer y comas o guiones inmediatamente después de los datos... por ejemplo, Fortin-
Este comentario fue minimizado por el moderador en el sitio
Hola, esto es excelente. Funcionó muy bien y reduce nuestra tensión ahorra mucho tiempo en esta operación. Gracias a todos los que trabajaron en esto y compartieron...
Este comentario fue minimizado por el moderador en el sitio
bueno esto funciono muy bien
Este comentario fue minimizado por el moderador en el sitio
Hola, Esto realmente ahorra mucho tiempo. Gracias por compartir ¿Puede alguien sugerir también cómo podemos extraer las palabras con vba de forma inversa, por ejemplo, la última palabra es 1, la segunda de derecha a izquierda es 2 y así sucesivamente. Esto será muy apreciado.
Este comentario fue minimizado por el moderador en el sitio
Esto no funciona correctamente en una cadena de origen compuesta de no palabras (como nombres de proveedores seguidos de números de pieza)
Este comentario fue minimizado por el moderador en el sitio
¿Cómo podemos cambiar las fuentes para la enésima palabra en una celda?
Este comentario fue minimizado por el moderador en el sitio
Muy apreciado. Me ayudó mucho.
Este comentario fue minimizado por el moderador en el sitio
Hola, gracias por tu pieza de código. Me inspiró a expandirme un poco. Con las siguientes líneas, puede seleccionar: última palabra (0), penúltima (-1), penúltima (-2), etc. Independientemente del número de palabras. Función FindWord(Fuente como cadena, Posición como entero) 'Actualizar 20150504 Dim arr() Como cadena arr = VBA.Split(Fuente, " ") xCount = UBound(arr) Seleccione Case Position Case -xCount To 0 FindWord = arr(xCount + Posición) Caso 1 Hasta (xCuenta + 1) BuscarPalabra = arr(Posición - 1) Caso De lo contrario BuscarPalabra = "" Fin Seleccionar Fin Función
Este comentario fue minimizado por el moderador en el sitio
Hola, solo una adición al código de ayer. Esto agrega una línea adicional para ajustar los espacios redundantes en la cadena de origen: arr = VBA.Split(WorksheetFunction.Trim(Source), " ") saludos, Allart
Este comentario fue minimizado por el moderador en el sitio
Gracias, Alan, esto es genial, gracias! :)
Este comentario fue minimizado por el moderador en el sitio
MUCHAS GRACIAS!!
Este comentario fue minimizado por el moderador en el sitio
Hola. Gracias por su código, tengo oraciones de lista, y una de ellas solo tiene 1 palabra, y su código no funciona si solo tiene 1 palabra.
Este comentario fue minimizado por el moderador en el sitio
No puedo obtener el código para que funcione la primera palabra si parte de mi lista tiene solo una palabra en la celda. por ejemplo, primera palabra ---> primero segundo ---> [nulo] última palabra ---> último
Este comentario fue minimizado por el moderador en el sitio
Pruebe esto (vea mi respuesta anterior): Function FindWord(Source As String, Position As Integer) ' obtiene 1°, 2°, último (0), penúltimo (-2), etc., palabra de una cadena ' Actualizar 20150505 Dim arr( ) As String arr = VBA.Split(WorksheetFunction.Trim(Source), " ") xCount = UBound(arr) Select Case Position Case -xCount To 0 FindWord = arr(Posición + xCount) Case 1 To xCount + 1 FindWord = arr (Posición - 1) Case Else FindWord = "" End Select
Este comentario fue minimizado por el moderador en el sitio
Hola frikis, tengo un celular asi: 1 ABCD; 2 DEDF; 1 DED#3d; 4 FDWDS; 1 ED Y me gustaría extraer el carácter después de 1. Así que deseaba tener un resultado como el siguiente: ABCD;DED#3d;ED
Este comentario fue minimizado por el moderador en el sitio
Tengo Excel 64 de 2013 bits y me falta el complemento Morefunc. Basado en el código anterior, se me ocurrió este reemplazo para la función WMID de Morefunc. Agradecería si alguien más experto que yo pudiera realizar algún arreglo. Función WMid1(Fuente como cadena, posición opcional como entero, número de palabras opcional como entero, separador opcional como cadena) Dim arr() como cadena Dim xCount como entero Dim wCount como entero Dim wFirst como entero Dim wLast como entero If Position = 0 Then Position = 1 Si WordCount = 0 Entonces WordCount = 1 Si Separador = "" Entonces Separador = " " arr = VBA.Split(Recortar(Fuente), Separador) xCount = UBound(arr) + 1 Si Posición < 1 Entonces wFirst = Aplicación. Max(xCount + Position - WordCount + 1, 0) wLast = xCount + Position Else wFirst = Position - 1 wLast = Application.Min(xCount - 1, Position + WordCount - 2) End If If xCount < 2 Or Abs(Position) > xCount Entonces WMid1 = "" Else WMid1 = arr(wFirst) For wCount = wFirst + 1 To wLast WMid1 = WMid1 & Separator & arr(wCount) Next End If WMid1 = Trim(WMid1) End Function
No hay comentarios publicados aquí todavía
Ver más
Deje sus comentarios
Publicar como invitado
×
Califica esta publicación:
0   Personajes
Ubicaciones sugeridas

Seguinos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL