La función FIND devuelve la posición (contando desde la izquierda) de la primera aparición de un carácter o de una cadena de texto dentro de otra cadena de texto, pudiendo especificarse a partir de qué carácter comienza la búsqueda. Esta función es sensible a acentos y a mayúsculas y minúsculas.
FIND(
find_text,
within_text
[,[start_num]
[, not_found_value]]
)
- find_text: Carácter o cadena de caracteres a buscar o nombre de la columna de la que se extraerá la cadena de texto a buscar. Es posible utilizar los comodines ? (representando un único carácter) y * (representando un número indefinido de caracteres, incluyendo la cadena de texto vacía). Si se desea buscar una interrogación o un asterisco, habrá que precederlo del carácter ~ (carácter que, en un teclado español, puede obtenerse presionando la tecla AltGr y, sin soltarla, la tecla "4" del teclado principal -no del teclado numérico-, soltando ambas teclas y presionando, a continuación, la barra espaciadora).
- within_text: Cadena de texto en la que se va a realizar la búsqueda de find_text o nombre de la columna en la que se realizará la búsqueda.
- start_num: Argumento opcional. Posición inicial en within_text (a contar desde la izquierda) a partir de la que se realizará la búsqueda, ignorando los caracteres anteriores. Si se omite se considerará conteniendo el valor 1 (es decir, la búsqueda se realizará desde el primer carácter).
- not_found_value: Argumento opcional. Valor numérico a devolver cuando no se encuentre la cadena de texto, valor que normalmente será -1 o 0 (valores que no pueden confundirse nunca con los devueltos por la función cuando se encuentra la cadena buscada) o BLANK().
La función FIND devuelve un número entero que representa la posición del texto buscado a contar desde la izquierda (el primer carácter ocupa la posición 1) tras ignorar el contenido de los caracteres indicados por el argumento opcional start_num.
La función FIND distingue entre mayúsculas y minúsculas y letras con y sin acentos. De esta forma, las siguientes fórmulas:
=SEARCH("n", column_name)
=SEARCH("N", column_name)
Y:
=SEARCH("a", column_name)
=SEARCH("á", column_name)
=SEARCH("à", column_name)
...devolverán resultados distintos, como puede verse en la siguiente imagen:
(Power BI está mostrando la "A" de la columna A buscar de la segunda fila y la "N" de la misma columna de la undécima fila en minúsculas por algún error desconocido, pero ambos textos están en mayúsculas)
Si se desea realizar una búsqueda insensible a mayúsculas y minúsculas (aunque sensible a letras acentuadas), deberá usarse la función SEARCH.
En el siguiente ejemplo se desea averiguar la categoría del producto extrayendo la posición del código "UC" que la representa, y se usa la función FIND para buscar exactamente dicho texto, y no los textos "uc" o "Uc", por ejemplo. En caso de no encontrarse el código se devuelve un Blank:
En este otro ejemplo se desea extraer la posición de la letra "A" del nombre, ignorando las "a" que existan en minúsculas: