BUSCAR Fx - Buscar subcadena en una cadena - Hojas de Excel, VBA y G

Descargar libro de trabajo de ejemplo

Descarga el libro de trabajo de ejemplo

Este tutorial demuestra cómo utilizar el Función de BÚSQUEDA de Excel en Excel para ubicar la posición del texto dentro de una celda.

Descripción general de la función BÚSQUEDA

La función de BÚSQUEDA busca un carácter o una cadena de texto y devuelve su posición en la celda. No entre mayúsculas y minúsculas.

Para usar la función BUSCAR Hoja de cálculo de Excel, seleccione una celda y escriba:

(Observe cómo aparecen las entradas de la fórmula)

Función de búsqueda Sintaxis y entradas:

= BÚSQUEDA (buscar_texto, dentro_texto, núm_inicio)

buscar texto - La cadena de texto que desea encontrar.

inside_text - La cadena de texto original.

start_num - OPCIONAL. El número de carácter desde el que comenzar la búsqueda. Nota: Esto solo cambia el rango de búsqueda, no afectará el número devuelto cuando se encuentra una coincidencia. Ejemplo: la búsqueda de "s" en la cadena "soles" devolverá 1 por defecto, pero si start_num se establece en 2, devolverá 4.

¿Qué es la función BÚSQUEDA?

La función de BÚSQUEDA de Excel "busca" una cadena de texto dentro de otra cadena. Si se encuentra el texto, BUSCAR devuelve la posición numérica de la cadena.

La búsqueda no distingue entre mayúsculas y minúsculas. Esto significa que "texto" coincidirá con "TEXTO". Para buscar texto con distinción entre mayúsculas y minúsculas, utilice la función FIND <> en su lugar.

Cómo utilizar la función de BÚSQUEDA

La función BÚSQUEDA de Excel funciona de la siguiente manera:

= BUSCAR ("e", "elefante")

Aquí, Excel devolverá 1, ya que "e" es el primer carácter de "elefante".

A continuación se muestran algunos ejemplos más.

Número de inicio (start_num)

Opcionalmente, puede definir un número de inicio (start_num). start_num le dice a la función de BÚSQUEDA dónde comenzar la búsqueda. Si lo deja en blanco, la búsqueda comenzará en el primer carácter.

= BÚSQUEDA (B3, C3)

Ahora, establezcamos start_num en 2, lo que significa que SEARCH comenzará a buscar desde el segundo carácter.

= BÚSQUEDA (B3, C3, D3)

En este caso, SEARCH devuelve 3: la posición de la segunda “e”.

Importante: núm_inicial no tiene ningún impacto en el valor de retorno, la BÚSQUEDA siempre comenzará a contar con el primer carácter.

Errores de número de inicio (start_num)

Si usa un número inicial, asegúrese de que sea un número entero positivo que sea más pequeño que la longitud de la cadena que desea buscar; de lo contrario, obtendrá un error. También obtendrá un error si pasa una celda en blanco como su número de inicio:

= BÚSQUEDA (B3, C3, D3)

¡Las búsquedas fallidas devuelven un #VALOR! Error

Si SEARCH no puede encontrar el valor de búsqueda, Excel devolverá un #VALUE! error.

Búsqueda que no distingue entre mayúsculas y minúsculas

El siguiente ejemplo demuestra que la función BUSCAR no distingue entre mayúsculas y minúsculas. Buscamos "abc", pero SEARCH devolvió 1 porque coincidía con "ABC".

Búsqueda con comodines

Puede utilizar comodines con SEARCH, que le permiten buscar caracteres no especificados.

Un signo de interrogación en su texto de búsqueda significa "cualquier carácter". Entonces, "? 000" en el siguiente ejemplo significa "Buscar cualquier carácter seguido de tres ceros".

Un asterisco significa "cualquier número de caracteres desconocidos". Aquí estamos buscando "1 * C", y SEARCH devuelve 2 porque coincide con "1-ABC".

En el siguiente ejemplo, buscamos "000?" - es decir, "000" seguido de cualquier carácter. Tenemos "000", pero está al final de la cadena y, por lo tanto, no va seguido de ningún carácter, por lo que aparece un error.

Sin embargo, si usamos un asterisco en lugar de un signo de interrogación, entonces "000 *" en lugar de "000?", Obtenemos una coincidencia. Esto se debe a que el asterisco significa "cualquier número de caracteres", incluido ningún carácter.

Cómo dividir nombres y apellidos de una celda con SEARCH

Si tiene nombres y apellidos en la misma celda y desea asignarles una celda a cada uno, puede usar SEARCH para eso, pero también necesitará usar algunas otras funciones.

Obtener el nombre

La función IZQUIERDA de Excel devuelve una cierta cantidad de caracteres de una cadena, comenzando por la izquierda.

Si usamos BUSCAR para devolver la posición del espacio entre el nombre y el apellido, restamos 1 de eso, sabemos cuánto mide el nombre. Entonces podemos pasar eso a la IZQUIERDA.

La fórmula del nombre es:

= IZQUIERDA (B3, BÚSQUEDA ("", B3) -1)

Obtener el apellido

La función DERECHA de Excel devuelve un cierto número de caracteres desde la derecha de una cadena.

Para obtener una cantidad de caracteres igual a la longitud del apellido, usamos SEARCH para decirnos la posición del espacio, luego restamos ese número de la longitud total de la cadena, que podemos obtener con LEN.

La fórmula del apellido es:

= DERECHA (B3, LEN (B3) -SEARCH (““, B3))

Tenga en cuenta que si los datos de su nombre contienen segundos nombres, el segundo nombre se dividirá en la celda "Apellido".

Uso de SEARCH para devolver el enésimo carácter de una cadena

Como se indicó anteriormente, SEARCH devuelve la posición de la primera coincidencia que encuentra. Pero al combinarlo con CHAR y SUBSTITUTE, podemos usarlo para localizar apariciones posteriores de un carácter, como la segunda o tercera instancia.

Esta es la fórmula:

= BÚSQUEDA (CHAR (134), SUSTITUTO (D3, C3, CHAR (134), B3))

Puede parecer un poco complicado al principio, así que analicémoslo:

  • Estamos usando SEARCH y la cadena que estamos buscando es "CHAR (134)". CHAR devuelve un carácter basado en su código ASCII. CHAR (134) es un símbolo de daga; puedes usar cualquier cosa aquí siempre que no aparezca en tu cadena real.
  • SUBSTITUTE pasa por una cadena y reemplaza un carácter o subcadena por otro. Aquí, estamos sustituyendo la cadena que queremos encontrar (que está en C3) con CHAR (134). La razón por la que esto funciona es que el cuarto parámetro de SUBSTITUTE es el número de instancia, que hemos almacenado en B3.
  • Entonces, SUBSTITUTE intercambia el enésimo carácter de la cadena por el símbolo de la daga, y luego SEARCH devuelve la posición del mismo.

Así es como se ve:

Encontrar la sección central de una cuerda

Imagine que tiene muchos números de serie con el siguiente formato:

AB1XCDC-1BB / BB99

Se le ha pedido que saque la sección central de cada uno. En lugar de hacer esto a mano, puede combinar SEARCH con MID para automatizar esta tarea.

La función MID Excel devuelve una parte de una cadena. Sus entradas son una cadena de texto, un punto de inicio y varios caracteres.

Dado que el punto de inicio que queremos es el carácter después del guión, podemos usar BUSCAR para obtener la posición del guión y agregarle 1. Si el número de serie estuviera en B3, usaríamos:

= BÚSQUEDA ("-", B3) +1

Para obtener la cantidad de caracteres que queremos extraer de aquí, podemos usar la búsqueda para obtener la posición de la barra diagonal, restar la posición del guión y luego restar 1, así que asegúrese de no devolver la barra diagonal en sí:

= BÚSQUEDA ("/", B3) -BÚSQUEDA ("-", B3) -1

Luego simplemente conectamos estas dos fórmulas en MID:

BUSCAR Vs ENCONTRAR

BUSCAR y ENCONTRAR son funciones similares. Ambos devuelven la posición de un carácter o subcadena determinados dentro de otra cadena. Sin embargo, existen dos diferencias clave:

  • FIND distingue entre mayúsculas y minúsculas, pero SEARCH no
  • FIND no permite comodines, pero SEARCH sí

Puede ver algunos ejemplos de estas diferencias a continuación:

BÚSQUEDA en Hojas de cálculo de Google

La función de BÚSQUEDA funciona exactamente igual en Google Sheets que en Excel:

Notas adicionales

La función BÚSQUEDA es una versión que no distingue entre mayúsculas y minúsculas de la función ENCONTRAR. SEARCH también admite comodines. Find no lo hace.

Ejemplos de BÚSQUEDA en VBA

También puede utilizar la función BUSCAR en VBA. Escribe:
application.worksheetfunction.search (find_text, within_text, start_num)
Para los argumentos de la función (find_text, etc.), puede ingresarlos directamente en la función o definir variables para usar en su lugar.

Regrese a la lista de todas las funciones en Excel

wave wave wave wave wave