![]() |
Buscar un valor en una columna Hola a todos, de momento no he encontrado cómo solucionar una búsqueda en una columna de una hoja excel. La hoja tiene 30 filas con 2 columnas con valores. Los valores son cantidades (osea, valores numéricos). Lo que quiero hallar para cada fila es: desde el valor de su primera celda; buscar en la segunda columna en qué fila encuentra una cantidad mayor o igual. Y si la encuentra: poner en una tercer celda (de su tercera columna) en qué fila lo ha encontrado. La búsqueda no puede ser en toda la columna, sino a partir de la fila en que se encuentra y hacia abajo. Eso lo quiero hacer en cada fila. Por ejemplo, en la fila 7, desde la cantidad que tiene su primera celda ver si la segunda celda ya es mayor o igual que ella, y si no lo es, seguir la búsqueda con las de abajo de esa columna. Si por ejemplo llegará a encontrarlo en la fila 11; pues poner "fila 11" en el valor de la tercer celda de la fila 7. Y eso lo tendría que ir haciendo en las 30 terceras celdas de cada fila. De momento no encuentro la función que me puede ayudar, si os suena algo y he logrado explicarme, os agradezco vuestra ayuda. Muchas gracias y saludos. Alberto.. |
Puedes er un poquito mas conciso y ejemplificar mejor tu problema, asi podriamos ayudarte mas rapido Abraham |
Si, intentaré ser más conciso con un ejemplo: supongamos que veo en el periódico los valores de las acciones de junio de una empresa. Así conozco el valor con el que comenzó el dia, y el valor máximo que llegó a alcanzar ese dia. Entonces calculo un valor objetivo desde el valor inicial. Ese valor objetivo es por ejemplo un 5% del valor inicial. Así que por cada fila tengo tres valores: Valor inicial, valor máximo y valor objetivo. Por ejemplo: 1200-1240-1260 1180-1190-1240 1190-1230-1250 1230-1280-1291 1280-1300-1344 1300-1320-1365 En cada fila tengo que calcular un cuarto valor y ponerlo en la cuarta celda. En el ejemplo hay 6 filas con 3 columnas. Cogiendo por ejemplo la segunda fila: el dia comenzó con 1180 de valor inicial, en ese dia llegó a un máximo de 1190 y el valor objetivo se puso a 1240. Entonces quiero encontrar, ese valor objetivo de 1240 cuando lo encontrará como valor máximo. Entonces se empieza a buscar ese 1240 en la segunda (la de valores máximos) desde esa fila hacia abajo. Hasta que encuntre un valor mayor o igual a 1240. Lo encuentra en la cuarta fila (1280). Así que lo que hay que hacer es poner en la cuarta celda de la segunda fila: el número de la celda donde lo encontró (4). Eso es. Poner una función en excel en la cuarta celda para cada fila, y con el valor objetivo de esa fila, buscar hacia adelante los valores máximo, y cuando lo encuentre ver en qué fila lo encontró. Y capturar ese número de fila para ponerlo en la fila donde se hace el cálculo. Espero haberme explicado un poco mejor y poder encontrar una solución. Gracias por la atención, saludos. Alberto. |
Mira a ver si es esto lo que buscas (hoy estaba generoso). Si abres el fichero online, puede que no te funcione correctamente, por eso es mejor descárgalo en tu pc, para ejecutarlo posteriormente desde allí. Salu2 PD: Como verás, el código está debidamente comentado. Ya sabes: Alt+F11 para ver el código VBA. EDITADO: Puedes borrar lo que hay en la fila 49 y ss., pues era una copia de los datos. |
Muchas gracias. lo guardé en local y lo ejecuté. Me apareció un mensaje diciendo que tenía macros y que debía bajar el nivel de seguridad si quería ejecutar la macro (pero que no era recomendable). Me imagino que es un mensaje habitual por si el código puede dañar el equipo. Así que quitaré las líneas que comentabas desde la 49 y veré su utilidad. Muchas gracias por la atención. Saludos. |
Cita:
No obstante, puedes confiar. Ese fichero está limpio, es inofensivo, y está libre de virus (puedes pasarle tu antivirus si lo deseas). SalU2 |
| La zona horaria es GMT -6. Ahora son las 10:04. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.