Excel: Comparar texto de forma imprecisa – utilizar patrones de búsqueda, comodines y expresiones regulares

A menudo no se desea comprobar el contenido exacto de las celdas, sino trabajar con patrones de búsqueda, por ejemplo, si un término aparece en cualquier lugar de una celda. Esto es bastante fácil de hacer en Excel.

Para comprobar si un campo contiene un determinado término

    1. Supongamos que se quiere dar salida a un mensaje de texto en el campo B1 si la celda A1 contiene el término «redondo», sin importar en qué parte del texto.
    2. Escribe la siguiente fórmula en B1
      =WENN(COUNT(A1; "*round*"); "encontrado!";"")
    3. Ahora escribe en A1, por ejemplo, «solar» y B1 debe traer el informe del hallazgo.
    4. La palabra «redondo» por sí sola también trae el mensaje de éxito, porque el asterisco se puede utilizar para cualquier cadena de caracteres incluidos los textos vacíos significa.
    5. NUMBER IF() no distingue entre mayúsculas y minúsculas. La función funciona así aunque A1 contenga el texto «ROUND.

A continuación, puede utilizar la condición con COUNT IF() en cualquier lugar de Excel donde se permita la introducción de fórmulas – por ejemplo, para el formato condicional. Con esto, podría tener celdas resaltadas visualmente si coinciden con un determinado patrón de búsqueda.

Publicidad

Más consejos sobre patrones de búsqueda y comodines en las comparaciones

  • El ejemplo anterior utiliza el asterisco como comodín para todos los caracteres anteriores y posteriores al término de búsqueda. También puede utilizar el asterisco en medio del término de búsqueda y no al principio y al final como en el caso anterior. Por ejemplo, si introduce «BA*UM» como término de búsqueda, este término se aplicaría tanto a «Bauzentrum» como a «Baum», porque un asterisco también contiene la cadena de caracteres vacía.

    Puede buscar en Excel con comodines utilizando la función NÚMERO IF().

  • Además del asterisco, también existe el signo de interrogación como ayuda a la búsqueda. Representa un carácter único y arbitrario. Por ejemplo, si desea comprobar si el contenido de un campo está formado por los dos caracteres «DE» seguidos de tres caracteres cualesquiera, puede utilizar «DE» como segundo parámetro de NUMBER IF()???». La comparación daría un resultado positivo con el contenido del campo «DE123» o «Deutz».
  • El parámetro de búsqueda de NUMBER IF() también puede ser una cadena compuesta. Si quieres comprobar si el contenido de la celda A1 aparece en algún lugar de la celda B1, utiliza la siguiente fórmula:
    =COUNTWHEN(B1; "*" & A1 & "*")
  • Si desea buscar el asterisco o el signo de interrogación como contenido de una celda, preceda el carácter con una tilde (~). Así es como Excel reconoce que no quiere que el carácter respectivo se considere un símbolo comodín, sino el propio carácter.

Por ello, NUMBER IF() también es adecuado para las búsquedas de similitud

En los ejemplos, utilizamos la función NÚMERO IF() de una manera diferente a la prevista. Porque originalmente sirve al propósito de contar, cuántas celdas de un rango corresponden a una condición. Esto es útil, por ejemplo, para saber cuántos meses de un resumen de facturación tienen un excedente de ingresos. Además de los fragmentos de texto y los caracteres comodín, también puede darle condiciones como segundo parámetro, como «>0», que comprueba los valores numéricos de las celdas para ver si tienen un valor positivo.

Cuando se aplica a una sola celda, COUNT IF() devuelve 0 si la comparación falla y 1 si es verdadera. Sin embargo, los dos valores 0 y 1 en Excel (y en muchos otros sistemas) se corresponden exactamente con las condiciones lógicas FALSE y TRUE, por lo que el resultado deseado sale.

Por cierto, con NUMBER IF() también puede averiguar fácilmente cuántas celdas de un rango están llenas de contenido.

Publicidad

Mejor que los simples patrones de búsqueda – Cómo utilizar las expresiones regulares

Una expresión regular, a menudo abreviada como «regex», ofrece opciones de búsqueda que van mucho más allá de lo que es posible con la función NÚMERO IF(). Por ejemplo, puede utilizarlo para comprobar la corrección sintáctica de una dirección de correo electrónico introducida o para comprobar especificaciones de formato especiales, como si hay dígitos en una determinada posición del campo.

Por muy extendido que esté el concepto de expresiones regulares, no está integrado en Excel (Word, por cierto, sí conoce Regex). Para poder utilizar las potentes funciones de búsqueda, hay que desviarse a través de VBA. Allí puede activar una biblioteca regex y luego utilizar las expresiones regulares deseadas en funciones VBA escritas por usted mismo. Estas funciones también pueden utilizarse en las funciones de las celdas de Excel.

Puede encontrar más información sobre la habilitación de la biblioteca VBA para expresiones regulares, así como algunas aplicaciones de ejemplo, en este post del foro en inglés en Stackoverflow.