Funciones BUSCAR y ENCONTRAR de Excel con ejemplos de fórmulas

  • Compartir Este
Michael Brown

El tutorial explica la sintaxis de las funciones BUSCAR y ENCONTRAR de Excel y proporciona ejemplos de fórmulas de usos avanzados no triviales.

En el último artículo, cubrimos los aspectos básicos del cuadro de diálogo Buscar y reemplazar de Excel. En muchas situaciones, sin embargo, es posible que desee que Excel encuentre y extraiga datos de otras celdas automáticamente en función de sus criterios. Por lo tanto, echemos un vistazo más de cerca a lo que las funciones de búsqueda de Excel tienen para ofrecer.

    Función FIND de Excel

    La función BUSCAR en Excel se utiliza para devolver la posición de un carácter específico o subcadena dentro de una cadena de texto.

    La sintaxis de la función Buscar de Excel es la siguiente:

    FIND(encontrar_texto, dentro_texto, [inicio_num])

    Los dos primeros argumentos son obligatorios, el último es opcional.

    • Buscar_texto - el carácter o subcadena que desea encontrar.
    • Dentro_del_texto - la cadena de texto en la que se va a buscar. Normalmente se suministra como una referencia de celda, pero también puede escribir la cadena directamente en la fórmula.
    • Inicio_num - un argumento opcional que especifica a partir de qué carácter debe comenzar la búsqueda. Si se omite, la búsqueda comienza a partir del 1er carácter de la cadena within_text.

    ¡Si la función FIND no encuentra los caracteres find_text, se devuelve un error #VALUE!

    Por ejemplo, la fórmula =FIND("d", "encontrar") devuelve 4 porque "d" es la 4ª letra de la palabra " encontrar ". La fórmula =FIND("a", "encontrar") devuelve un error porque no hay "a" en " encontrar ".

    Función BUSCAR de Excel: ¡recuerda algunas cosas!

    Para utilizar correctamente una fórmula FIND en Excel, tenga en cuenta estos sencillos datos:

    1. La función FIND es distingue entre mayúsculas y minúsculas Si busca una coincidencia que no distinga entre mayúsculas y minúsculas, utilice la función BUSCAR.
    2. La función BUSCAR de Excel no permite utilizar caracteres comodín .
    3. Si el argumento find_text contiene varios caracteres, la función FIND devuelve la posición del carácter primer carácter Por ejemplo, la fórmula FIND("ap", "feliz") devuelve 2 porque "a" es la segunda letra de la palabra "feliz".
    4. Si within_text contiene varios sucesos de find_text, se devuelve la primera ocurrencia. Por ejemplo, FIND("l", "hola") devuelve 3, que es la posición del primer carácter "l" en la palabra "hola".
    5. Si find_text es un cadena vacía "", la fórmula BUSCAR de Excel devuelve el primer carácter de la cadena de búsqueda.
    6. La función FIND de Excel devuelve el #Error si se produce alguna de las siguientes situaciones:
      • Buscar_texto no existe en dentro_texto.
      • Start_num contiene más caracteres que within_text.
      • Start_num es 0 (cero) o un número negativo.

    Función BUSCAR de Excel

    La función BUSCAR en Excel es muy similar a BUSCAR en el sentido de que también devuelve la ubicación de una subcadena en una cadena de texto. Su sintaxis y argumentos son similares a los de BUSCAR:

    BUSCAR(encontrar_texto, dentro_texto, [inicio_num])

    A diferencia de BUSCAR, la función BUSCAR es distingue entre mayúsculas y minúsculas y permite utilizar los caracteres comodín, como se demuestra en el siguiente ejemplo.

    Y aquí tienes un par de fórmulas básicas de BÚSQUEDA en Excel:

    =BUSCAR("mercado", "supermercado") devuelve 6 porque la subcadena "mercado" empieza en el 6º carácter de la palabra "supermercado".

    =BUSCAR("e", "Excel") devuelve 1 porque "e" es el primer carácter de la palabra "Excel", ignorando las mayúsculas y minúsculas.

    Al igual que BUSCAR, la función BUSCAR de Excel devuelve el error #¡VALOR! si:

    • No se encuentra el valor del argumento find_text.
    • El argumento start_num es mayor que la longitud de within_text.
    • Start_num es igual o menor que cero.

    Más adelante en este tutorial, encontrará algunos ejemplos de fórmulas más significativas que demuestran cómo utilizar la función BUSCAR en las hojas de cálculo de Excel.

    Como ya se ha mencionado, las funciones BUSCAR y BUSCAR en Excel son muy parecidas en cuanto a sintaxis y usos. Sin embargo, tienen un par de diferencias.

    1. BÚSQUEDA sensible a mayúsculas/minúsculas vs. BÚSQUEDA insensible a mayúsculas/minúsculas

    La diferencia esencial entre las funciones BUSCAR y ENCONTRAR de Excel es que BUSCAR no distingue entre mayúsculas y minúsculas, mientras que ENCONTRAR distingue entre mayúsculas y minúsculas.

    Por ejemplo, SEARCH("e", "Excel") devuelve 1 porque ignora el caso de "E", mientras que FIND("e", "Excel") devuelve 4 porque tiene en cuenta el caso.

    2. Búsqueda con caracteres comodín

    A diferencia de FIND, la función BUSCAR de Excel acepta caracteres comodín en el argumento find_text:

    • Un signo de interrogación (?) coincide con un carácter, y
    • Un asterisco (*) coincide con cualquier serie de caracteres.

    Para ver cómo funciona con datos reales, considere el siguiente ejemplo:

    Como puede ver en la captura de pantalla anterior, la fórmula BUSCAR("función*2013", A2) devuelve la posición del primer carácter ("f") de la subcadena si la cadena de texto a la que se hace referencia en el argumento within_text contiene tanto "función" como "2013", sin importar cuántos caracteres más haya entre medias.

    Consejo: para encontrar un signo de interrogación (?) o un asterisco (*), escriba una tilde (~) antes del carácter correspondiente.

    Ejemplos de fórmulas BUSCAR y ENCONTRAR en Excel

    En la práctica, las funciones BUSCAR y ENCONTRAR de Excel rara vez se utilizan solas. Normalmente, se utilizan en combinación con otras funciones como MEDIA, IZQUIERDA o DERECHA, y los siguientes ejemplos de fórmulas muestran algunos usos reales.

    Ejemplo 1. Buscar una cadena que preceda o siga a un carácter dado

    Este ejemplo muestra cómo se pueden encontrar y extraer todos los caracteres de una cadena de texto situados a la izquierda o a la derecha de un carácter específico. Para facilitar la comprensión, considere el siguiente ejemplo.

    Supongamos que tiene una columna de nombres (columna A) y desea extraer el Nombre y el Apellido en columnas separadas.

    Para obtener el nombre de pila, puede utilizar FIND (o SEARCH) junto con la función IZQUIERDA:

    =LEFT(A2, FIND(" ", A2)-1)

    o

    =LEFT(A2, SEARCH(" ", A2)-1)

    Como probablemente sepas, la función IZQUIERDA de Excel devuelve el número especificado de caracteres situados más a la izquierda en una cadena. Y utilizas la función BUSCAR para determinar la posición de un espacio (" ") para que la función IZQUIERDA sepa cuántos caracteres debe extraer. En ese momento, restas 1 de la posición del espacio porque no quieres que el valor devuelto incluya el espacio.

    Para extraer el apellido, utilice la combinación de las funciones DERECHA, BUSCAR / BUSCAR y LEN. La función LEN es necesaria para obtener el número total de caracteres de la cadena, al que se resta la posición del espacio:

    =RIGHT(A2,LEN(A2)-FIND(" ",A2))

    o

    =DERECHA(A2,LEN(A2)-BUSCAR(" ",A2))

    La siguiente captura de pantalla muestra el resultado:

    Para situaciones más complejas, como la extracción de un segundo nombre o la división de nombres con sufijos, consulte Cómo dividir celdas en Excel mediante fórmulas.

    Ejemplo 2. Buscar la enésima aparición de un carácter dado en una cadena de texto

    Supongamos que tiene algunas cadenas de texto en la columna A, por ejemplo una lista de SKU, y desea encontrar la posición de la columna La siguiente fórmula funciona de maravilla:

    =FIND("-", A2, FIND("-",A2)+1)

    Los dos primeros argumentos son fáciles de interpretar: localizar un guión ("-") en la celda A2. En el tercer argumento (start_num), se incrusta otra función FIND que le dice a Excel que empiece a buscar a partir del carácter que viene justo después de la primera aparición del guión (FIND("-",A2)+1).

    Para devolver la posición del 3ª incidencia se incrusta la fórmula anterior en el argumento start_num de otra función FIND y se añade 2 al valor devuelto:

    =FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2)

    Otra forma, probablemente más sencilla, de encontrar la enésima aparición de un carácter dado es utilizar la función BUSCAR de Excel en combinación con CAR y SUSTITUIR:

    =FIND(CHAR(1),SUBSTITUTE(A2,"-",CHAR(1),3))

    Donde "-" es el carácter en cuestión y "3" es la enésima aparición que desea encontrar.

    En la fórmula anterior, la función SUBSTITUTE sustituye la 3ª aparición del guión ("-") por CHAR(1), que es el carácter no imprimible "Inicio de encabezamiento" en el sistema ASCII. En lugar de CHAR(1) puede utilizar cualquier otro carácter no imprimible del 1 al 31. Y a continuación, la función FIND devuelve la posición de ese carácter en la cadena de texto. Así pues, la fórmula general es la siguiente:

    FIND(CHAR(1),SUBSTITUTE( célula , carácter CHAR(1), Enésima aparición ))

    A primera vista, puede parecer que las fórmulas anteriores tienen poco valor práctico, pero el siguiente ejemplo demostrará lo útiles que son para resolver tareas reales.

    Nota: Recuerde que la función BUSCAR de Excel distingue entre mayúsculas y minúsculas. En nuestro ejemplo, esto no supone ninguna diferencia, pero si está trabajando con letras y desea una función distingue entre mayúsculas y minúsculas coincidencia, utilice la función BUSCAR en lugar de BUSCAR.

    Ejemplo 3. Extraer N caracteres a continuación de un carácter determinado

    Para localizar una subcadena de una longitud determinada dentro de cualquier cadena de texto, utilice Excel FIND o Excel SEARCH en combinación con la función MID. El siguiente ejemplo demuestra cómo puede utilizar dichas fórmulas en la práctica.

    En nuestra lista de SKU, supongamos que desea encontrar los 3 primeros caracteres que siguen al primer guión y extraerlos en otra columna.

    Si el grupo de caracteres que precede al primer guión contiene siempre el mismo número de elementos (por ejemplo, 2 caracteres), esto sería una tarea trivial. Podría utilizar la función MID para devolver 3 caracteres de una cadena, empezando en la posición 4 (saltándose los 2 primeros caracteres y un guión):

    =MID(A2, 4, 3)

    Traducido al inglés, la fórmula dice: "Look in cell A2, begin extracting from character 4, and return 3 characters".

    Sin embargo, en las hojas de cálculo de la vida real, la subcadena que necesita extraer podría empezar en cualquier lugar dentro de la cadena de texto. En nuestro ejemplo, es posible que no sepa cuántos caracteres preceden al primer guión. Para hacer frente a este desafío, utilice la función BUSCAR para determinar el punto inicial de la subcadena que desea recuperar.

    La fórmula FIND para devolver la posición del 1er guión es la siguiente:

    =BUSCAR("-",A2)

    Puesto que desea comenzar con el carácter que sigue al guión, añada 1 al valor devuelto e incruste la función anterior en el segundo argumento (start_num) de la función MID:

    =MID(A2, FIND("-",A2)+1, 3)

    En este caso, la función BUSCAR de Excel funciona igual de bien:

    =MID(A2, SEARCH("-",A2)+1, 3)

    Está muy bien, pero ¿y si el grupo de caracteres que sigue al primer guión contiene un número diferente de caracteres? Hmm... esto podría ser un problema:

    Como puede ver en la captura de pantalla anterior, la fórmula funciona perfectamente para las filas 1 y 2. En las filas 4 y 5, el segundo grupo contiene 4 caracteres, pero sólo se devuelven los 3 primeros. En las filas 6 y 7, sólo hay 2 caracteres en el segundo grupo, por lo que nuestra fórmula de Excel Search devuelve un guión a continuación.

    Si quisieras volver todos los caracteres entre la 1ª y la 2ª aparición de un determinado carácter (guión en este ejemplo), ¿cómo procedería? He aquí la respuesta:

    =MID(A2, FIND("-",A2)+1, FIND("-", A2, FIND("-",A2)+1) - FIND("-",A2)-1)

    Para comprender mejor esta fórmula MID, examinemos sus argumentos uno por uno:

    • 1er argumento (texto). Es la cadena de texto que contiene los caracteres que desea extraer, la celda A2 en este ejemplo.
    • 2º argumento (start_position). Especifica la posición del primer carácter que se quiere extraer. Se utiliza la función FIND para localizar el primer guión de la cadena y sumar 1 a ese valor porque se quiere empezar por el carácter que sigue al guión: FIND("-",A2)+1.
    • 3er argumento (num_chars). Especifica el número de caracteres que quieres devolver. En nuestra fórmula, esta es la parte más complicada. Utilizas dos funciones FIND (o SEARCH), una determina la posición del primer guión: FIND("-",A2). Y la otra devuelve la posición del segundo guión: FIND("-", A2, FIND("-",A2)+1). Luego restas la primera de la segunda, y luego restas 1 porque no quieres quepara incluir cualquiera de los guiones. Como resultado, obtendrá el número de caracteres entre el primer y el segundo guión, que es exactamente lo que estamos buscando. Por lo tanto, introduzca ese valor en el argumento num_chars de la función MID.

    De forma similar, puede devolver 3 caracteres después del 2º guión:

    =MID(A2, FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2), 3)

    O bien, extraiga todos los caracteres entre los guiones segundo y tercero:

    =MID(A2, FIND("-", A2, FIND("-",A2)+1)+1, FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2) - FIND("-", A2, FIND("-",A2)+1)-1)

    Ejemplo 4. Buscar texto entre paréntesis

    Supongamos que tiene una cadena de texto larga en la columna A y desea encontrar y extraer sólo el texto encerrado entre (paréntesis).

    Para ello, necesitaría la función MID para devolver el número deseado de caracteres de una cadena, y la función FIND o SEARCH de Excel para determinar dónde empezar y cuántos caracteres extraer.

    =MID(A2,SEARCH("(",A2)+1, SEARCH(")",A2)-SEARCH("(",A2)-1)

    La lógica de esta fórmula es similar a las que discutimos en el ejemplo anterior. Y de nuevo, la parte más compleja es el último argumento que le dice a la fórmula cuántos caracteres debe devolver. Esa expresión bastante larga en el argumento num_chars hace lo siguiente:

    • En primer lugar, busca la posición del paréntesis de cierre: BUSCAR(")",A2)
    • Después localiza la posición del paréntesis de apertura: BUSCAR("(",A2)
    • Y luego, calculas la diferencia entre las posiciones de los paréntesis de cierre y apertura y le restas 1 a ese número, porque no quieres ninguno de los dos paréntesis en el resultado: BÚSQUEDA(")",A2)-BÚSQUEDA("(",A2))-1

    Naturalmente, nada le impide utilizar la función BUSCAR de Excel en lugar de BUSCAR, ya que distinguir entre mayúsculas y minúsculas o entre mayúsculas y minúsculas no supone ninguna diferencia en este ejemplo.

    Esperamos que este tutorial haya arrojado algo de luz sobre cómo utilizar las funciones BUSCAR y ENCONTRAR en Excel. En el próximo tutorial, vamos a examinar de cerca la función SUSTITUIR, así que permanezca atento. ¡Gracias por leer!

    Descargar el cuaderno de prácticas

    Ejemplos de fórmulas FIND y SEARCH

    Michael Brown es un entusiasta de la tecnología dedicado y apasionado por simplificar procesos complejos utilizando herramientas de software. Con más de una década de experiencia en la industria de la tecnología, ha perfeccionado sus habilidades en Microsoft Excel y Outlook, así como en Google Sheets y Docs. El blog de Michael está dedicado a compartir su conocimiento y experiencia con otros, brindando consejos y tutoriales fáciles de seguir para mejorar la productividad y la eficiencia. Ya sea un profesional experimentado o un principiante, el blog de Michael ofrece información valiosa y consejos prácticos para aprovechar al máximo estas herramientas de software esenciales.