Articles

Excel: Comodines en VLOOKUP y SUMIFS

En un reciente seminario de Power Excel para un capítulo de IMA®, una asistente preguntó si había una manera de utilizar VLOOKUP para hacer coincidir un número que está incrustado dentro de una celda más larga. Estaba tratando de hacer coincidir los cheques de un registro de cheques con una lista de transacciones compensadas de su banco. La dificultad: El número de cheque estaba incrustado dentro de un campo de Código de Transacción.

El campo que necesitaba buscar contenía un número variable de caracteres como prefijo, seguido por el número de cheque, y terminando con aún más caracteres. La mayoría de la gente no sabe que VLOOKUP admite comodines. De hecho, el equipo de Excel en Microsoft piensa que los comodines terminan más frecuentemente en los VLOOKUPs por accidente que por la gente que los usa intencionalmente. Dado que la mayoría de la gente no sabe que VLOOKUP admite comodines, parece más probable que la gente realice un VLOOKUP en el que su valor de búsqueda contenga un carácter que no estaba destinado a representar un comodín.

Usando comodines

Los comodines estándar son un asterisco (*) para significar cualquier número de caracteres, y un signo de interrogación (?) para significar cualquier carácter. ¿Qué pasa si realmente tiene que buscar un asterisco o un signo de interrogación? Utilice ~* para buscar un asterisco o ~? para buscar un signo de interrogación. Utilice ~~ para buscar una tilde.

El uso de estos tres caracteres es particularmente difícil si tiene cientos de VLOOKUPs y los valores ya contienen caracteres comodín. Tratar de convertir los valores sobre la marcha utilizando funciones SUBSTITUTE anidadas se vuelve difícil de manejar. Imagine =VLOOKUP(SUBSTITUTE(SUBSTITUTE(A2, «~»,»~~»), «*»,»~*»),»?»,»~?»). En realidad, sería mejor si Microsoft ofreciera una opción que desactivara el comportamiento de los comodines para una hoja de cálculo o un libro de trabajo en particular.

Volviendo al problema original. Tendrías que buscar *manzana* para encontrar la palabra «manzana» dentro de cualquier texto en la primera columna de la tabla de búsqueda. Pero como la celda A2 de la Figura 1 ya contiene «manzana», la fórmula comienza con =VLOOKUP(«*»&A2&»*». En este caso, estás utilizando el carácter de concatenación (&) para envolver el valor de A2 con un asterisco a cada lado. Alternativamente, podrías usar =VLOOKUP(CONCATENATE( «*»,A2, «*») para envolver la palabra «manzana» con asteriscos.

La fórmula =VLOOKUP(«*»&A2&»*»,$D$2:$E$6,2,FALSE) encuentra correctamente los $956 de la celda E5.

Tenga mucho cuidado al revisar los resultados de la búsqueda con comodines. ¿Qué pasaría si buscara tanto «manzana» como «manzana de cangrejo»? La búsqueda de crabapple sería correcta, pero como VLOOKUP devuelve la primera coincidencia en la tabla de búsqueda, el VLOOKUP para *apple* devolvería el valor de crabapple si se encuentra antes que apple en la tabla de búsqueda.

Buscar y sumar todas las coincidencias

Mientras trabajaba en el ejemplo en el seminario de Excel, otra persona preguntó sobre la situación en la que podría haber múltiples coincidencias y le gustaría encontrar y sumar todos los resultados coincidentes.

Como el comodín *manzana* funcionaba tan bien con VLOOKUP, creé un conjunto de datos en el que podíamos probar si SUMIFS permitiría también los comodines. En la función SUMIFS que se muestra a continuación, la fórmula dice que hay que sumar los valores de la columna E si el valor correspondiente de la columna D contiene *manzana*. Esta fórmula también funciona.

PROTEGER EL MANEJO DE COMODINES

¿Te sorprende saber que VLOOKUP puede manejar comodines? ¿Ha hecho alguna vez un VLOOKUP en el que el valor de búsqueda puede contener un asterisco o un signo de interrogación como parte del texto normal y no está previsto que se utilice como comodín?

Si la respuesta a cualquiera de estas preguntas es afirmativa, entonces probablemente tendría sentido que Microsoft ofreciera una nueva versión mejorada de VLOOKUP que ignorara los comodines por defecto. Podría haber un argumento opcional adicional al final de esta nueva función que le permitiera decirle a Excel que utilice los comodines. Si dejas ese argumento fuera, entonces Excel no utilizaría ningún comodín. Podrías buscar fácilmente «142*154» o «¿Por qué?» o «e*Trade» sin tener que preocuparte de que un valor como «Electrical Trade» aparezca como una falsa coincidencia.

Los VLOOKUPs más rápidos están llegando

Microsoft ha estado probando una nueva versión más rápida de VLOOKUP en el canal Insider Monthly de las builds de Office 365 durante los últimos meses. La función es a menudo 10 veces más rápida que el antiguo VLOOKUP, particularmente cuando hay miles de búsquedas contra la misma tabla.

La nueva lógica debería estar desplegando a todos los suscriptores de Office 365 a finales de 2019. Si tus VLOOKUPs actualmente tardan menos de un segundo, puede que no notes el cambio. Pero si tiene una hoja de trabajo masiva que tarda 40 segundos en calcularse, espere ver que el tiempo de recálculo caiga a unos cuatro segundos o menos.