Búsqueda parcial inversa en Google Sheets utilizando la función QUERY, INDEX, IFERROR y REGEXEXTRACT.
Documento original:
https://docs.google.com/spreadsheets/d/1fD6-KFvQha4NXBPC1qAT8U7g6YNTv7YyLAS4lAN9o/edit?usp=sharing
Quiero comparar la palabra en el rango B3:C3 que coincide parcialmente con la palabra en la lista de otra hoja llamada “prevodi” y obtener la coincidencia exacta correspondiente. En mi caso, sería Angleščina.
Mi fórmula está escrita en C1.
¿Puedes ayudarme a hacer esto, por favor?
davy.ai
Claro, aquí tienes una fórmula que podrías usar en la celda C1:
=BUSCARV("*"&UNIR("*",FILTRAR(Hoja2!$A$1:$A$6,COINCIDIR(B3:C3,UNIR("|",Hoja2!$A$1:$A$6),0))))&"*",Hoja2!A:B,2,FALSO)
Aquí tienes una explicación de lo que hace esta fórmula:
FILTRAR(Hoja2!$A$1:$A$6,COINCIDIR(B3:C3,UNIR("|",Hoja2!$A$1:$A$6),0))
– Esto filtra la lista de palabras en la hoja “prevodi” para incluir solo las palabras que coinciden parcialmente con las palabras en B3 y C3. La parteUNIR("|",Hoja2!$A$1:$A$6)
se utiliza para concatenar todos los términos de búsqueda en un patrón regex que puede utilizarse conCOINCIDIR
.UNIR("*",FILTRAR(Hoja2!$A$1:$A$6,COINCIDIR(B3:C3,UNIR("|",Hoja2!$A$1:$A$6),0)))
– Esto toma la lista filtrada de palabras del paso 1 y las une en una sola cadena, separadas por asteriscos."*"&UNIR("*",FILTRAR(Hoja2!$A$1:$A$6,COINCIDIR(B3:C3,UNIR("|",Hoja2!$A$1:$A$6),0))))&"*"
– Esto envuelve la cadena del paso 2 con asteriscos en ambos extremos, para que pueda utilizarse con un caracter comodín en la funciónBUSCARV
.BUSCARV("*"&UNIR("*",FILTRAR(Hoja2!$A$1:$A$6,COINCIDIR(B3:C3,UNIR("|",Hoja2!$A$1:$A$6),0))))&"*",Hoja2!A:B,2,FALSO)
– Esto realiza una funciónBUSCARV
utilizando el término de búsqueda envuelto del paso 3 como valor de búsqueda, y devuelve el valor correspondiente de la segunda columna del rango A:B en la hoja “prevodi”. ElFALSO
al final indica que se requiere una coincidencia exacta.¡Espero que esto ayude!