jueves, 26 de enero de 2012

La función BUSCARV con virgulilla o tilde.

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:

...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*'.

3 comentarios:

  1. Gracias ante todo,te pongo esto aquí por qué nó tengo narices de encontrarlo.El caso es el siguiente:tengo un rango a1:a10 con fechas y en otro rango fechas festivas;Me gustaria que buscara en el primer rango si hay alguna fecha del segundo (festivas ) y caso de que hubiese más de una las sumará en una tercera celda... Es posible?.Muchísimas gracias.

    ResponderEliminar
    Respuestas
    1. Hola Eolo,
      no me queda claro que quieres sumar??. Por lo que voy a suponer que quieres conocer cuantas veces se repite en A1:A10 las fechas festivas que tienes, por ejemplo en B1:B2.
      Entonces en C1 introduciríamos la siguiente fórmula:
      =SI(CONTAR.SI($A$1:$A$10;$B1)>1;CONTAR.SI($A$1:$A$10;$B1);"")
      y luego arrastrarías a C2.
      De esta forma consigues saber cuántas veces se repite (si es más de una vez) las fechas festivas en el rango A1:A10.
      Espero haberte comprendido bien.
      Slds

      Eliminar