[RESUELTO] Busqueda no secuencial
[RESUELTO] Busqueda no secuencial
Hola a todos, haber si me podéis ayudar, necesito hacer una función que me devuelva la fila donde encuentre un dato en concreto, recibiría la linea de comienzo y el dato a buscar. Hice una función secuencial y funcionaba bien el problema es que las búsquedas se hacen tediosas ya que es una hoja con resultados de partidos de fútbol, contiene mas de 48000 lineas y aumenta a una velocidad de 2 o 3 mil lineas semanales.
Se que debe haber alguna instrucción rápida que lo haga ya que el botón buscar y remplazar funciona de manera casi instantánea y mis búsquedas tardaban muchos minutos ya que necesito encontrar los últimos 10 partidos que jugo como visitantes o los últimos 10 como local, y se suele dar el caso que entre el primero de ellos y el ultimo puede haber 30000 partidos de separación.
Espero haber explicado bien lo que necesito, haber si me podéis orientar ya que soy un programador aficionado y sin demasiada experiencia.
Se que debe haber alguna instrucción rápida que lo haga ya que el botón buscar y remplazar funciona de manera casi instantánea y mis búsquedas tardaban muchos minutos ya que necesito encontrar los últimos 10 partidos que jugo como visitantes o los últimos 10 como local, y se suele dar el caso que entre el primero de ellos y el ultimo puede haber 30000 partidos de separación.
Espero haber explicado bien lo que necesito, haber si me podéis orientar ya que soy un programador aficionado y sin demasiada experiencia.
Última edición por Millocai el Dom Abr 08, 2018 10:46 am, editado 1 vez en total.
OpenOffice 4.1.2 en Windows 10
Re: Busqueda no secuencial
Con un archivo de ejemplo, en vez de una imagen, con los que tienes, lo que esperas obtener y como lo has intentado resolver, ayudará a quien quiera ayudarte...
Saludos
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: Busqueda no secuencial
Yo he intentado 2 cosas, primero recorrer la lista de partidos desde el ultimo al primero para buscar los 10 últimos partidos de cada equipo mediante un bucle, pero es tedioso ya que ese proceso para analizar una jornada que pueda tener 300 partidos es una locura, otra cosa que hice después fue crear un indice con los nombres de los equipos y el numero de fila de sus 10 últimos partidos pero para poder acceder rápidamente debía ordenarlos y claro ordenar mas de 8000 se hace aun mas tedioso.
Lo que necesito es acceder directamente a una celda escogiéndola por su contenido, o sea si busco los partidos del Real Madrid, quiero saltar de uno a otro inmediatamente como hace el botón buscar y reemplazar de la barra de herramientas, estoy casi seguro que debe haber una manera relativamente sencilla de hacerlo, pero lo desconozco.
Lo que necesito es acceder directamente a una celda escogiéndola por su contenido, o sea si busco los partidos del Real Madrid, quiero saltar de uno a otro inmediatamente como hace el botón buscar y reemplazar de la barra de herramientas, estoy casi seguro que debe haber una manera relativamente sencilla de hacerlo, pero lo desconozco.
OpenOffice 4.1.2 en Windows 10
Re: Busqueda no secuencial
Reitero, con un archivo de ejemplo, no obligas a quien quiera ayudarte a partir de cero, es una sencilla sugerencia que toma en cuenta el tiempo de quien quiera ayudarte.
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: Busqueda no secuencial
Os envío una copia super reducida de la base de datos para que podáis ver lo que tengo hecho, aunque he comprobado que el archivo subido no carga el archivo con los partidos y no se porque, porque el original si lo hace.
Estoy desesperado porque la base de datos tiene mas de 52000 partidos ya y es horrorosamente lento la búsqueda de los equipos como yo lo hago y no se hacerlo de otra manera.
El funcionamiento es el siguiente al pulsar el botón Analizar jornada de la pestaña análisis, abre el archivo que le indiquemos (en este caso el 22_3.ods) y va cogiendo todos los partidos 1 a 1 y busca a los equipos en la pestaña BD y va pasando los datos oportunos al recuadro de la pestaña 90 minutos, una vez rellena el recuadro, envía los resultados a la pestaña análisis donde queda el resumen.
El problema es recorrer la base de datos secuencialmente para buscar unos equipos tras otros tarda unos 2 minutos por partido, los fines de semana a veces son mas de 1000 partidos a analizar. Lo que quiero es una función que me localice los equipos de manera inmediata (como hace la opción buscar y remplazar, que se posiciona de uno a otro rapidisimo) para coger los datos de esa linea y ya luego repetir esa función para obtener los datos de sus últimos 10 partidos.
No se si me he explicado bien, es que no se ni como empezar para mejorar las búsquedas.
Estoy desesperado porque la base de datos tiene mas de 52000 partidos ya y es horrorosamente lento la búsqueda de los equipos como yo lo hago y no se hacerlo de otra manera.
El funcionamiento es el siguiente al pulsar el botón Analizar jornada de la pestaña análisis, abre el archivo que le indiquemos (en este caso el 22_3.ods) y va cogiendo todos los partidos 1 a 1 y busca a los equipos en la pestaña BD y va pasando los datos oportunos al recuadro de la pestaña 90 minutos, una vez rellena el recuadro, envía los resultados a la pestaña análisis donde queda el resumen.
El problema es recorrer la base de datos secuencialmente para buscar unos equipos tras otros tarda unos 2 minutos por partido, los fines de semana a veces son mas de 1000 partidos a analizar. Lo que quiero es una función que me localice los equipos de manera inmediata (como hace la opción buscar y remplazar, que se posiciona de uno a otro rapidisimo) para coger los datos de esa linea y ya luego repetir esa función para obtener los datos de sus últimos 10 partidos.
No se si me he explicado bien, es que no se ni como empezar para mejorar las búsquedas.
- Adjuntos
-
- 22_3.ods
- (21.99 KiB) Descargado 179 veces
-
- Pronosticador - copia.ods
- (121.56 KiB) Descargado 185 veces
OpenOffice 4.1.2 en Windows 10
Re: Busqueda no secuencial
Nadie sabe como encontrar una celda por su contenido de manera directa? en una locura buscarlo secuencialmente en archivos grandes, por favor al menos decirme por donde tirar y yo investigo mas, estoy atascado necesito ayuda de esos programadores crack de esta comunidad, la web no me deja mandar el archivo completo por su tamaño para que podáis comprobar lo que tarda en hacer una búsqueda.
OpenOffice 4.1.2 en Windows 10
Re: Busqueda no secuencial
En mi caso, en cuando haya algo de tiempo intentaré ver tu consulta, por el momento:
Saludos.
A manera de ejemplo: en este archivo puedes buscar por fecha, por liga, por Local, por Visitante, o por como gustes. Pulsa el cuadriculo azul para correr la macro.Dice:
Búsqueda no secuencial
Saludos.
- Adjuntos
-
- Busqueda no secuencial.ods
- Búsqueda no secuencial
- (97.39 KiB) Descargado 174 veces
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: Busqueda no secuencial
Gracias por responderme fornelasa, últimamente he estado liado, miraré el archivo que has puesto y veré si me sirve, en cuanto lo haga te comento y mil gracias de nuevo por tu tiempo.
OpenOffice 4.1.2 en Windows 10
Re: Busqueda no secuencial
Querido fornelasa, estuve mirando tu solución a mi problema, y podría servirme con algunas adaptaciones, lo he pasado al archivo grande original y me da error al cambiar los rangos, creo que el error reside en el numero de pagina, ya que tu solución venía en un archivo con una sola hoja y el mío tiene 4, al ser la tercera hoja los sheets les doy el valor 2 y cambio los rangos de filas y columnas por los originales y para mi sorpresa me dá error de ejecución. He intentado cambiar los datos pero no hay manera.
https://mega.nz/#!780H1DBa!0vqekxUsWDmM ... ISDlEsjmz8
Este es el archivo, si pudieses echarle un vistazo haber que le pasa porque mi nivel de programación no me da para arreglarlo. El lio esta en la pestaña "BD", mil gracias por todo.
https://mega.nz/#!780H1DBa!0vqekxUsWDmM ... ISDlEsjmz8
Este es el archivo, si pudieses echarle un vistazo haber que le pasa porque mi nivel de programación no me da para arreglarlo. El lio esta en la pestaña "BD", mil gracias por todo.
OpenOffice 4.1.2 en Windows 10
Re: Busqueda no secuencial
parece que teníamos unos ligeros errores de asignación de rangos.
Saludos, Federico.
https://mega.nz/#!2VUzxSYK!t0mXDNZjXoSE ... T_Wg9Y5IP0
Saludos, Federico.
https://mega.nz/#!2VUzxSYK!t0mXDNZjXoSE ... T_Wg9Y5IP0
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: Busqueda no secuencial
Fornelasa todo perfecto, no tengo palabras suficientes de agradecimiento, me has echado un cablazo ya que yo no era capaz de hacerlo. A tus pies.
OpenOffice 4.1.2 en Windows 10