Hace un par de días respondí a una cuestión que me pareció de gran utilidad para este blog, por lo curioso y práctico. La pregunta que se hacía era en qué forma se podía realiza un BUSCARV textual, donde el vlaor buscado incluía un asterísco como caracter, empleado normalmente como comodín:
Efectivamente, este usuario de Excel ha 'sufrido en sus carnes' la desventaja de los comodines estándar de Excel (asterisco y cierre interrogación), ya que además la función BUSCARV es una de las funciones de Excel que admite estos comodines en sus argumentos. Tal cual formulaba su búsqueda:
=BUSCARV("ad*";Prueba;1;FALSO)
La función devolvía el primer valor por defecto de orden que encontraba más parecido, a pesar de indicarle o exigirle una búsqueda exacta con el argumento FALSO.
Sin embargo Excel nos da la solución para salvar este inconveniente, podemos forzarle a que encuentre el texto exacto buscado, tomando el asterisco como un caracter de texto y no como comodín. Esto lo conseguiremos añadiendo antes del comodín una virgulilla o tilde ~, para lo cual deberemos presionar AltGr+4 o bien Alt+Ctrl+4 (recuerda a continuación pulsar otra tecla), hasta conseguir que nuestra función quede:
=BUSCARV("ad~*";Prueba;1;FALSO)
consiguiendo entonces que busque exactamente el texto literal 'ad*'.
...MI duda es como refinar o anidar funciones que me permitan evitar error de búsqueda al usar Buscarv con valor Falso sobre valores que contienen el símbolo " * ", es decir, cuando manejo datos que contienen * especialmente que terminen con dicho símbolo, al realizar la búsqueda me encuentra un valor diferente lo cual es muy problemático especialmente cuando manejo matrices que contienen una gran cantidad de regístros. ejemplo: mi deseo es encontrar el registro ad* y manejo la matriz "Prueba" que contiene los valores: ad* ad*o adpo Al momento de usar la función Buscarv("ad*",Prueba,1,FALSO) me devuelve el valor ad* lo que parecería que la funcion funciona correctamente [...] Yo entiendo que cuando se coloca el símbolo * se traduce como multiplicación si solo existen numeros y que cuando existen letras (ad*) el sistema los traduce como "lo que sea", es decir, que puede ser ado,adp,adi,adu,ad8,ad9,... bueno, ya se hizo obvia la idea en general Ahora bien lo que deseo saber es como puedo hacer, para que el sistema me interprete el * como texto, es decir, que si yo busco al palabra "ad*" busque la palabra "ad*" y no se detenga cuando encuentre "adp" por ejemplo, en especial cuando uso el valor FALSO en la función. ... |
Efectivamente, este usuario de Excel ha 'sufrido en sus carnes' la desventaja de los comodines estándar de Excel (asterisco y cierre interrogación), ya que además la función BUSCARV es una de las funciones de Excel que admite estos comodines en sus argumentos. Tal cual formulaba su búsqueda:
=BUSCARV("ad*";Prueba;1;FALSO)
La función devolvía el primer valor por defecto de orden que encontraba más parecido, a pesar de indicarle o exigirle una búsqueda exacta con el argumento FALSO.
Sin embargo Excel nos da la solución para salvar este inconveniente, podemos forzarle a que encuentre el texto exacto buscado, tomando el asterisco como un caracter de texto y no como comodín. Esto lo conseguiremos añadiendo antes del comodín una virgulilla o tilde ~, para lo cual deberemos presionar AltGr+4 o bien Alt+Ctrl+4 (recuerda a continuación pulsar otra tecla), hasta conseguir que nuestra función quede:
=BUSCARV("ad~*";Prueba;1;FALSO)
consiguiendo entonces que busque exactamente el texto literal 'ad*'.