KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

¿Cómo encontrar la primera, la última o una aparición específica de un carácter en Excel?

AutorXiaoyang Fecha de modificación

En muchas tareas de procesamiento de datos, es probable que trabaje con listas de cadenas de texto que incluyan caracteres especiales —como el guion “-”— y necesite identificar la posición de su primera, última o una aparición específica (enésima). Por ejemplo, al extraer información basada en delimitadores, analizar códigos de piezas o separar componentes de datos, suele ser esencial determinar con precisión dónde aparece un carácter determinado dentro de cada cadena. Sin embargo, Excel no dispone de una función integrada directa para devolver la posición de la primera, última o enésima aparición de un carácter en una celda. Este artículo presenta diversas técnicas prácticas y soluciones paso a paso para localizar con exactitud estas apariciones, adaptándose a múltiples necesidades de análisis y preparación de datos.


Buscar la última aparición de un carácter con fórmulas

Si desea obtener la posición de la última aparición de un carácter específico (por ejemplo, «-») en una cadena de texto, las funciones estándar de Excel no lo permiten de forma directa. No obstante, al combinar algunas fórmulas puede resolver este reto de manera eficiente. A continuación, se presentan dos enfoques basados en fórmulas, ideales para trabajar con códigos de producto, rutas de archivo u otros datos que siguen un patrón consistente de separadores. Tenga en cuenta que las fórmulas complejas pueden aumentar la carga de cálculo en conjuntos de datos grandes.

1. En una celda vacía (por ejemplo, C2), introduce o copia una de las siguientes fórmulas:

=SEARCH("^^",SUBSTITUTE(A2,"-","^^",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))
=LOOKUP(2,1/(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)="-"),ROW(INDIRECT("1:"&LEN(A2))))

Ambas fórmulas están diseñadas para devolver la posición (como número) de la última aparición del carácter “-” en la celda referenciada (A2). La primera fórmula utiliza BUSCAR y SUSTITUIR para identificar la posición sustituyendo el último “-” por un símbolo único y buscándolo. La segunda emplea BUSCARV en combinación con EXTRAE y FILA para encontrar el último “-”. Puede elegir cualquiera de los dos métodos según su familiaridad o el volumen de datos. El enfoque con BUSCARV puede resultar más fácil de adaptar en versiones modernas de Excel compatibles con matrices.

Buscar la última aparición del carácter con una fórmula

2. Tras introducir la fórmula, pulse Intro. Para aplicarla a filas adicionales, arrastre el controlador de relleno hacia abajo hasta cubrir todo el rango necesario. Así, cada celda se rellenará inmediatamente con la posición de la última aparición correspondiente a su cadena de texto, tal como se muestra en la imagen siguiente. Asegúrese siempre de que las celdas referenciadas sean correctas al copiar la fórmula a otra zona.

arrastrar y rellenar la fórmula en otras celdas

Nota: En estos ejemplos, A2 hace referencia a la celda que contiene sus datos y «-» es el carácter objetivo. Puede sustituir «-» por cualquier otro carácter que necesite buscar. Si la celda está vacía o el carácter no aparece en el texto, la fórmula podría devolver un error. En entradas de texto con delimitadores repetitivos o símbolos especiales, revise cuidadosamente la presencia de caracteres ocultos o no imprimibles que puedan afectar a los resultados.


Buscar la última aparición de un carácter con una función definida por el usuario

Otro método flexible consiste en utilizar una función definida por el usuario (UDF) en un módulo VBA, lo que le brinda un mayor control y facilita su reutilización, especialmente si necesita encontrar con frecuencia la última aparición de cualquier carácter en distintos análisis. Este enfoque es ideal si busca una fórmula clara y directa ()=ultimaposicioncaracter(celda, caracter)) que funcione como las funciones integradas de Excel. No obstante, recuerde que debe tener habilitadas las macros para que las soluciones VBA funcionen, y siempre guarde su libro como archivo habilitado para macros (*.xlsm) para conservar la UDF.

1. Abra la hoja de cálculo en la que quiera añadir esta función.

2. Pulse simultáneamente las teclas ALT + F11 para abrir el editor de Microsoft Visual Basic para Aplicaciones.

3. En el editor de VBA, haga clic en Insertar > Módulo para crear un nuevo módulo. A continuación, copie y pegue el siguiente código en la ventana del módulo.

Código VBA: buscar la última aparición de un carácter

Function LastpositionOfChar(strVal As String, strChar As String) As Long
LastpositionOfChar = InStrRev(strVal, strChar)
End Function

Resolución de problemas: Si la función no devuelve ningún resultado, asegúrese de que las macros están habilitadas y de que introduce la referencia de celda y el carácter correctos en la fórmula. Si necesita encontrar la última aparición de un carácter diferente, basta con modificar el argumento correspondiente.

4. Guarde y cierre la ventana de código. Vuelva a su hoja de cálculo e introduzca la siguiente fórmula en una celda vacía (por ejemplo, B2):=lastpositionofchar(A2,"-"). Sustituya A2 por la celda adecuada y “-” por el carácter objetivo según sea necesario.

aplicar una fórmula para obtener la última aparición del carácter

5. Arrastre el controlador de relleno hacia abajo para aplicar la fórmula a las celdas adicionales que necesite. Así obtendrá la última posición del carácter especificado en cada cadena de texto, tal como se muestra a continuación.

arrastrar y rellenar la fórmula en otras celdas

Nota: El primer argumento ()A2) es la celda de origen que contiene la cadena de texto, y el segundo (“-”) es el carácter objetivo. Puede ajustar estos parámetros según sus necesidades. Si no se encuentra ninguna coincidencia, la función podría devolver 0. Guarde siempre su trabajo antes de ejecutar o editar código VBA. En caso de error, verifique si hay comillas mal colocadas o celdas referenciadas incorrectamente.


Buscar la primera o Aparición aparición de un carácter con fórmula

Si su tarea consiste en encontrar no solo la última, sino también la primera, segunda o cualquier otra aparición de un carácter en una cadena de texto, puede utilizar una estructura de fórmula diferente. Esto suele ser necesario al analizar códigos jerárquicos, extraer partes de identificadores estructurados o identificar símbolos repetidos en entradas de datos.

1. Para obtener la posición enésima de un carácter especificado, introduce o pega la siguiente fórmula en una celda vacía (por ejemplo, C2):

=FIND(CHAR(160),SUBSTITUTE(A2,"-",CHAR(160),2))

En esta fórmula, A2 es la celda que se busca, “-” es el carácter que desea encontrar y 2 indica qué aparición del carácter quiere localizar (por ejemplo, 2 para la segunda aparición). ¡Adapte el número de aparición según sus necesidades de datos!

obtener la enésima aparición del carácter con fórmula

2. Pulse Intro. Para aplicar la fórmula a más filas, arrastre el controlador de relleno hacia abajo hasta el rango deseado. Así obtendrá la posición, por ejemplo, de la segunda aparición del carácter «-» en cada cadena de texto. Si el número de ocurrencia especificado supera el recuento total de ese carácter en la cadena, la fórmula devolverá un error. En ese caso, revise sus datos de texto o el parámetro de ocurrencia.

arrastrar y rellenar la fórmula en otras celdas

Nota: El número 2 en la fórmula indica la instancia de ocurrencia que deseas buscar. Ajusta este número para localizar la posición de la primera, tercera, cuarta u otra aparición del carácter especificado. Si el carácter no aparece tantas veces como se ha indicado, se mostrará un error #¡VALOR!; puedes capturar este error con SI.ERROR() para obtener resultados más limpios.


Encuentre la primera o Aparición aparición de un carácter específico con una función sencilla

Para los usuarios que prefieren una solución directa e interactiva o que no se sienten cómodos creando fórmulas complejas o código VBA, Kutools para Excel ofrece una herramienta práctica llamada Encontrar la posición de la N-ésima aparición de un carácter en una cadena. Esta utilidad simplifica enormemente la extracción de la posición de la primera, segunda, tercera o cualquier otra aparición de un carácter específico en una celda, completando la tarea con solo unos pocos clics: una ventaja que acelera los procesos repetitivos de limpieza de datos, especialmente al trabajar con grandes conjuntos de datos.

Kutools para Excelofrece más de 300 funciones avanzadas para simplificar tareas complejas, potenciando la creatividad y la eficiencia.Integrado con capacidades de IA, Kutools automatiza tareas con precisión, haciendo que la gestión de datos sea sencilla.Información detallada de Kutools para Excel...         Prueba gratuita...
Nota:Para acceder a la función Encontrar la posición de la N-ésima aparición de un carácter en una cadena, descargue e instale primero Kutools para Excel. Tras la instalación, podrá utilizar esta función rápidamente desde la barra de herramientas.

Tras instalar Kutools para Excel, siga estos pasos para obtener resultados rápidos:

Supongamos que desea obtener la posición de la segunda aparición del carácter guion «-» en un conjunto de cadenas de texto:

1. Haga clic en la celda donde quiera que aparezca el resultado.

2. Haga clic en Kutools > Asistente de fórmulas > Asistente de fórmulas en la Cinta de opciones, tal como se muestra a continuación:

hacer clic en la función Asistente de fórmulas de Kutools

3. En el cuadro de diálogo Asistente de fórmulas:

  • Seleccione Búsqueda en la lista desplegable Tipo de fórmula.
  • Elija Encontrar la posición de la N-ésima aparición de un carácter en una cadena en la lista de Selecciona una fórmula.
  • En el área de Entrada de argumento, seleccione la celda que contiene su texto, introduzca el carácter que desea buscar y especifique la aparición que quiere localizar.

configurar las opciones en el cuadro de diálogo Asistente de fórmulas

4. Haga clic en Aceptar. Tras obtener el resultado con la fórmula, puede arrastrar el controlador de relleno hacia abajo para aplicarla a otras filas según sea necesario. Este método le ayuda a evitar el riesgo de errores derivados de la introducción manual de fórmulas.

obtener el resultado con Kutools

¡Descargue y pruebe gratis Kutools para Excel ahora!

Esta opción es ideal para usuarios no técnicos o para quienes deben repetir el proceso con frecuencia en distintas hojas de cálculo, ya que reduce errores manuales y ahorra tiempo al elaborar fórmulas complejas.


Fórmula alternativa para versiones recientes de Excel (con matrices dinámicas)

En versiones más recientes de Excel (Excel 365, Excel 2021 y posteriores) que admiten matrices dinámicas, puedes aprovechar funciones como SECUENCIA y FILTRAR para obtener todas las posiciones de un carácter de una sola vez. Esto facilita identificar la aparición deseada e incluso listar todas las ocurrencias en un rango independiente para su posterior procesamiento.

1. Introduzca la siguiente fórmula en una celda vacía (por ejemplo, B2) para obtener todas las posiciones del carácter «-» en la celda A2:

=FILTER(SEQUENCE(LEN(A2)), MID(A2,SEQUENCE(LEN(A2)),1)="-")

Tras pulsar Intro, la fórmula mostrará automáticamente la posición de cada aparición del carácter «-» en celdas adyacentes. Si desea obtener únicamente la aparición deseada, puede utilizar:

=INDEX(FILTER(SEQUENCE(LEN(A2)), MID(A2,SEQUENCE(LEN(A2)),1)="-"),2)

Sustituya 2 por el número de aparición deseado. Este método resulta especialmente potente para matrices o listas de longitud variable, aunque requiere una versión de Excel compatible con estas funciones.

Consejo: Si observa un error #¡CALC! u otro similar, compruebe que su versión de Excel sea compatible con matrices dinámicas y asegúrese de que las celdas a las que hace referencia contengan datos de texto.


Código VBA para encontrar la posición Aparición de un carácter

Si necesita una solución para encontrar no solo la última, sino cualquier aparición de un carácter, VBA también puede ayudarle. La siguiente macro se puede personalizar fácilmente para adaptarse a múltiples necesidades de análisis y suponer un importante ahorro de tiempo cuando se utiliza repetidamente en varios libros de trabajo.

1. Vaya a la pestaña Programador > Visual Basic, luego seleccione Insertar > Módulo. Pegue el siguiente código en la ventana del módulo:

Function NthPositionOfChar(cell As Range, ch As String, nth As Integer) As Long
    Dim s As String
    Dim i As Long, count As Long
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    s = cell.Value
    count = 0
    For i = 1 To Len(s)
        If Mid(s, i, 1) = ch Then
            count = count + 1
            If count = nth Then
                NthPositionOfChar = i
                Exit Function
            End If
        End If
    Next i
    NthPositionOfChar = 0
End Function

2. Cierre el editor y utilice la fórmula =NthPositionOfChar(A2,"-",2) (sustituya los argumentos según sea necesario) en su hoja de cálculo para obtener la posición de la segunda aparición del carácter «-» en la celda A2. Tenga en cuenta que, si dicha aparición no existe, la función devolverá 0.

Este código es ideal para extraer información de forma flexible según los delimitadores presentes en los datos o para simplificar tareas repetitivas de análisis. Además, las funciones personalizadas en VBA se pueden adaptar a requisitos más especializados, como la búsqueda de caracteres que distingan entre mayúsculas y minúsculas o el manejo de conjuntos de datos más amplios.


Al trabajar con cadenas de texto y posiciones de caracteres, verifique siempre la presencia de caracteres ocultos o no imprimibles —como espacios, retornos de carro o símbolos Unicode especiales—, ya que pueden alterar los resultados de sus fórmulas. Asimismo, si sus datos emplean distintos delimitadores, asegúrese de que sean coherentes antes de aplicar fórmulas o macros. En caso de errores, revise detenidamente los parámetros de entrada, las referencias en las fórmulas y que el tipo de dato (texto o número) sea compatible con la función utilizada.

Combinar fórmulas, VBA y las funciones de Kutools ofrece una flexibilidad integral para abordar tanto tareas rutinarias como avanzadas de procesamiento de texto en Excel. Elija el método que mejor se ajuste a su nivel técnico, versión de Excel y complejidad de los datos para lograr la máxima precisión y eficiencia.

Más artículos relacionados:

  • Extraer todas las palabras excepto la primera o la última en Excel
  • Extraer todas las palabras de una celda excepto la primera o la última puede ayudarte a eliminar fácilmente la palabra no deseada. En este caso, claro está, podrías copiar las palabras que necesitas y pegarlas una por una en otra celda, pero esto se volvería tedioso si tienes múltiples celdas que requieren extraer todo menos la primera o la última palabra. ¿Cómo podrías hacerlo rápida y fácilmente en Excel?
  • Extraer caracteres de derecha a izquierda en una celda
  • Este artículo explica cómo extraer caracteres desde la derecha de una celda hasta encontrar un espacio, obteniendo así el resultado deseado en una hoja de Excel. Incluye una fórmula útil que resuelve esta tarea de forma rápida y sencilla.


Las mejores herramientas de productividad para Office

🤖KUTOOLS AI Asistente: Revolucione Análisis de datos basándose en:Ejecución Inteligente   |  Generar código|  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos|  Invocar Funciones mejoradas
Funciones populares:Buscar, resaltar o Marcar duplicados   |  Eliminar filas en blanco   |  Combinar Columnas o celdas sin perder datos   |   Redondeo sin usar fórmulas...
Super BUSCARV:Búsqueda vertical (VLookup) con múltiples criterios  |  Búsqueda vertical (VLookup) con múltiples valores  |   Búsqueda vertical (VLookup) entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple....
Gestor de columnas:Añadir un número específico de columnas|Mover columnas|Alternar el estado de visibilidad de columnas ocultas|Comparar rangos y columnas...
Funciones destacadas:Cuadrícula de enfoque   |  Vista de diseño   |Barra de fórmulas mejorada   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos desde una lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 Herramientasde combinación y división(Combinar filas avanzado,Dividir celdas, ...)|...y muchas más
Use Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y 40+ más idiomas.¡

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


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

  • Active 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 dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
  • ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!

Todos los complementos de Kutools en un solo instalador.

Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.

ExcelWordOutlookTabsPowerPoint
  • Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un instalador, una licencia— configuración en minutos (compatible con MSI)
  • Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
  • Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
  • La mejor relación calidad-precio— ahorre frente a la compra individual de complementos