Porque la funcion BuscarV se queda demasiado tiempo calculando?

C reo que la función =BuscarV() debe ser la que más intensamente utilizan los usuarios de Excel. Es buena cuando uno necesita “ montarle ” ...

Creo que la función =BuscarV() debe ser la que más intensamente utilizan los usuarios de Excel. Es buena cuando uno necesita “montarle” el nombre, la dirección y el teléfono a un informe como por ejemplo, la información exógena o más comúnmente conocida como los “medios magnéticos” para la Dian (Departamento de impuestos y aduanas nacionales). Para los lectores de otros países, se refiere a la información en medio magnético que pide el Fisco con la cual, una vez obtenida la info de todo mundo, comienza a cruzar si lo que dice vender fulanito, cruza, estos es, “cuadra” con lo que a su vez compraron todos los que a su vez están reportando y detectar presuntos evasores de impuestos.

Volviendo al tema: cuando uno arma una función =BuscarV() para bases realmente grandes, y no solo una sino bastantes =BuscarV(), por ejemplo, un =BuscarV() que me traiga el nombre, otro =BuscarV() que me traiga la dirección, otro =BuscarV() que me traiga el teléfono, la ciudad, etc, etc, de una base de Nits o de terceros que supere los 100 mil registros, (por no decir el millón, también lo he probado), la función =BuscarV() literalmente le consume tanto recurso a la máquina computadora, (o al procesador) que es posible que se le quede “pegada”, “muertita”, o “bloqueada” completamente, tanto que no puede ni siquiera revisar el correo o hacer otra cosa. Una solución es administrar los núcleos de su procesador, y decirle que use solo dos núcleos para office, y que los otros dos los deje libres para otras actividades de la computadora… pero más que eso, la solución es PRESCINDIR de la función =BuscarV(), y encontrar otra solución.

BuscarV no es lo “Ultimo en Guarachas

=BuscarV() es una muy buena función, pero no es la única función de búsqueda que existe o que tiene Excel. Eso debe tenerlo Usted claro. El problema con =BuscarV() es que, cuando usted lo pone a buscar un número de NIT, o el código del tercero, ya sea un proveedor, un cliente, o un empleado, Esta función =BuscarV() lo RASTREA, o REVISA a todo lo largo de la base de datos:
Quiere decir, que por cada nit que lo ponga a buscar, =BuscarV() lo buscará tantas veces como grande sea en cantidad de filas su base de terceros, o su base de códigos. Por ejemplo, hará 500.000 mil =BuscarV() para cada nit, y en cada uno de ellos, cuando lo ubique, traerá la columna que usted le pidió que traiga, si su base tiene 500 mil registros.

En otras palabras, una analogía para que entienda el esfuerzo que estamos poniendo a hacer a Excel, es algo así como si le dijéramos a un policía que busque el número de identificación o cédula de ciudadanía de “x” tipo, sujeto o individuo en la torre más alta de la ciudad. Por ejemplo la torre de mi ciudad natal, La Torre de Cali, que solo tiene 45 pisos, y cada piso muchas oficinas. Entonces, el agente policial, comenzará desde el piso uno, (la fila) registrando todas las oficinas, (columnas) si en ellas está el individuo o sujeto que tenga el mismo número de identificación que el que le dimos. Como se dará cuenta, es una tarea muy larga que consume mucho tiempo, y si le damos al policía una relación de cédulas a buscar? Se demorará todavía más!

Como podrá intuir o presumir, esto parece innecesario, lógicamente “desgastante” hasta para el súper Excel 2007 o 2010, porque una vez que Excel ha encontrado la FILA correcta, podrá usarla para traer la columna especificada de la fila.

Hay una función llamada =Coincidir(). Trabaja similar a =BuscarV(), pero en lugar de traer un dato de la tabla de búsqueda, TRAE EL NUMERO DE LA FILA, esto es LA POSICION dentro del rango que Coincide con el valor buscado.

La primera vez que vi la función =Coincidir() la desprecié. Me pareció una bobada, ¿para qué iba a querer yo, traer el numero de la fila en la cual está el dato que busco, si lo que necesito es que me traiga el dato como tal, no el numero de la fila….? Se me antojaba una bobada…y por mucho tiempo, no le presté atención, hasta que, me encontré con el problemita que me comenzaba a presentar la función =BuscarV()…. El equipo se quedaba “calculando celdas” demasiado tiempo….Lo primero que dije fue “Ah!! Este computador me quedó pequeño, necesito un procesador más rápido!” (Obviamente, mi ego pidiendo alimento). Cuando por fin tuve una supermáquina, la última del mercado que en ese momento era el Intel Core Quad Duo (4 procesadores y 8 gigas de memoria), me seguía sucediendo lo mismo, me di cuenta que no era posible que no hubiera otra solución, que debía existir otra manera de hacer esta operación más rápido y sin esforzar tanto el PC.

La clave era esta función =Coincidir()…. Como le mencionaba, la función =BuscarV() hace demasiadas búsquedas, si tan solo se le indicara en que fila buscar, seguramente se le simplificaría la tarea. Pero Coincidir funciona MUCHISIMO MEJOR que =BuscarV() cuando la combina con la función =INDICE(). Como su nombre lo Indica, la función Indice toma la tabla de búsqueda, y te pide el numero de la fila y el numero de la columna en donde se halla el valor que quieres traer.

De igual forma, cuando conocí la función =INDICE(), también la desprecié, pues precisamente lo que yo necesitaba es que me ayudara a Buscar y traer el dato que necesito, pero si a esta función =Indice() le tengo que decir en que fila y en que columna está el dato…. Entonces ¿Qué es lo que busca si yo le tengo que decir en donde está el dato?... Nuevamente ¡Que bobada!... Ah, pero es que la cosa cambia cuando ANIDAS o combinas la función =INDICE() con =Coincidir(), usando =Coincidir() como segundo argumento de la función =INDICE(). ¡La función =Coincidir() le puede decir en que fila está el dato que estoy buscando!!

Es como si al agente policivo simplemente se comunica con la gente de seguridad de cada piso del edificio y les pregunta que si allí está el sujeto “x”; entonces, el agente de seguridad que lo tenga registrado le dirá “Señor Policía, el tipo que busca está en el piso 38”; con lo cual, el policía solo tendrá que ir hasta el piso 38 y buscar al sujeto solo en las oficinas ese piso, es decir en las columnas de esa fila. Haga de cuenta que los de seguridad son la función =Coincidir().

Una cosa que debe saber, tratándose de formulas anidadas, es que Excel comienza por hacer los cálculos de las funciones “de más adentro”, las mas internas, y los valores hallados los entrega a la siguiente función que anida a la otra, es decir, la que “cobija” o “encapsula” o “Contiene” a la otra. La de más adentro le entrega el cálculo a la que la anida, y así sucesivamente. Es por eso que en estos casos, Excel no pierde tiempo rastreando a todo lo largo, lo primero que hace al usar la función =Coincidir() es UBICAR la posición del dato buscado en la fila de la superbase de datos, le entrega la posición hallada a =Indice(), de tal manera que, =Indice() no pierde tiempo y va AL GRANO, ya puso el ojo, ahora, pone la bala, en lugar de “disparar” a todos los datos en todas las filas y columnas como si lo hace =BuscarV()

La ventaja? =BuscarV() es un procesador reintenso. Pero si le entregas de una vez la fila en la cual debe de trabajar la función =Indice(), la función hace un solo Buscar en lugar de buscar a todo lo largo y ancho de la tabla, el tiempo de cálculo DESCENDERÁ DRAMATICAMENTE, TANTO QUE SE SORPRENDERÁ COMO ME SORPRENDI YO LA PRIMERA VEZ.

Ejemplo como se monta la función BuscarV:

Mismo ejemplo con Indice y Coincidir:

COMMENTS

BLOGGER: 3
Loading...

About Us

Excel Audi es el nombre web comercial del profesor Alejandro Quiceno García: Autor de libros de Excel y Conferencista Internacional con énfasis en Contadores, Auditores, Administradores, Gerentes, Ingenieros Civiles y Agrónomos.

Visite el canal Alejoquiceno en YouTube:

El sitio aún está en construcción. Si desea comunicarse con el profesor, puede escribirle al email alejoquiceno@gmail.com o via celular en Colombia al 312-767 93 91

Recent Comments

Nombre

2276,1,auditoria al software contable,1,auditoria en la biblia,1,bitcoin,3,blockchain,1,Brexit,1,buscar parecidos,1,cash flow direct method,1,changes in financial position,1,Concejo técnico de la contaduria,1,conciliaciones,2,Conciliar parecidos,1,criptomoneda,2,cruces de informacion,1,curso macros,11,cursos,1,demonstrações financeiras,1,Diego Guevara,1,ebooks,1,eeff trans,3,escandalos de firmas,3,états financiers,1,exogena,3,Exógena,1,Financial Statements,1,formato 2276,1,formato 2276 Exogena,1,formato 2276 para la Dian,1,Funciones,6,Funciones anidadas,1,Funciones Matriciales,4,Fuzzy Lookup,1,Generalidades de Excel,4,german garmendia,1,hola soy german,1,humor,1,Humor Contable,21,Ifac,1,Ignacio Cueto Plaza,1,importante,52,increible,1,libro fiscal,1,libro fiscal en excel,1,Libros,19,Libros gratis de Excel para contadores,2,macros,19,nias,1,Niif,5,noticias,68,opinion,1,peliculas,3,Plantillas Excel,4,religion y economia,1,robotica y desempleo,1,sexo auditoria,1,solver,1,sumar si conjunto,1,sumar.si.conjunto,1,Tablas dinamicas,2,testimonios curso macros,4,videos,34,youtubers,1,
ltr
item
Macros para Contadores: Porque la funcion BuscarV se queda demasiado tiempo calculando?
Porque la funcion BuscarV se queda demasiado tiempo calculando?
http://1.bp.blogspot.com/-ydDlg8_9SQE/T7UVXHoRDRI/AAAAAAAAAss/j-9BxBKAhbI/s400/BuscarV.jpg
http://1.bp.blogspot.com/-ydDlg8_9SQE/T7UVXHoRDRI/AAAAAAAAAss/j-9BxBKAhbI/s72-c/BuscarV.jpg
Macros para Contadores
https://alejandroquiceno.blogspot.com/2012/05/porque-la-funcion-buscarv-se-queda.html
https://alejandroquiceno.blogspot.com/
https://alejandroquiceno.blogspot.com/
https://alejandroquiceno.blogspot.com/2012/05/porque-la-funcion-buscarv-se-queda.html
true
612917010981743097
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS CONTENT IS PREMIUM Please share to unlock Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy