Buscar fecha

Hola, mi nombre es rober y espero que puedas ayudar a un simple noveto como yo.
Mira tengo una lista de fechas, como la siguiente:
Inicio fin interés
6-01-2002 al 7-02-2002 3.10
8-02-2002 al 7-03-2002 3.07
8-03-2002 al 9-04-2002 2.88
10-04-2002 al 6-05-2002 3.07
.
.
.
10-10-2002 al 11-11-2002 3.51
Esta lista la tengo en una hoja de Excel.
La idea es que en un formulario ingrese la fecha de la deuda de un cliente, por ejemplo 20-03-2002 y el sistema o la búsqueda identifique el tramo de fecha correspondiente, para aplicar en te caso el interés del 2.88.
Como lo hago. Ojala puedas ayudarme.
Chau.
2

2 respuestas

1
Respuesta de
Hola, Rober
Estás bastante cerca de la solución. Sólo necesitarás modificar (simplificar) tu tabla de datos.
Dado que no tiene "baches" basta con indicarle la fecha inferior de cada tramo. Es decir el día al partir del cual la tasa cambia. Algo así como esto:
06/01/02 3.10
08/02/02 3.07
08/03/02 2.88
10/04/02 3.07
...
...
...
10/10/02 3.51
Supondré que esta tabla está en el rango E1:F8 y que la celda donde ingresas la fecha del cliente es A4.
Luego, donde quieres obtener la tasa según la fecha coloca una fórmula como esta:
=BUSCARV(A4;$E$1:$F$8;2)
[Considera si sueles usar comas o punto y coma para separar argumentos de las funciones. Yo usé ";"]
Los signos $ son para fijar el rango de forma tal que si copias esta fórmula a otra celda continúe buscando dentro de la misma tabla.
Este modo de utilizar BUSCARV (sin el cuarto argumento) hace que si no encuentra la fecha exacta, busque la más cercana. Obviamente, la tabla deberá estar ordenada ascendentemente por fecha.
*====================================*
Hola, te escribo para agradecerte tu atención a mi pregunta y decir que nunca se me hubiese ocurrido.
Bueno abusando otro poco y siguiendo con la misma idea de la fecha. Una vez que encuentro el rango de fecha correspondiente a la fecha ingresada, necesito ir sumando los intereses a partir de la fecha encontrada. Como lo hago.
Gracias de nuevo. Chau
Hola, Rober
Al final vamos a terminar en una única fórmula con varias funciones anidadas.
Pero para hacerlo más fácil, como dijo Hannibal Lecter, vamos por partes:
Con la misma idea (y el mismo ejemplo) anterior de usar BUSCARV para que aproxime la fecha del inicio del período aunque no fuese exacta, necesitaremos una fórmula como esta:
=BUSCARV(A4;$E$1:$F$8;1)
Nota que ahora busca sobre la primer columna que es la de las fechas de inicio de período.
Este dato, será utilizado dentro de una suma condicional, es decir un SUMAR. SI()
Probablemente sepas -si no te enterás ahora- que SUMAR.SI requiere tres argumentos:
- Rango de Criterio,
- Criterio de suma (como texto)
- Rango de Suma.
El primero será la primera columna de la base de intereses ("E")
El segundo habrá que armarlo como un texto, concatenando operadores con el resultado de la búsqueda de la fecha inicial. Esto es:
">="&TEXTO(BUSCARV(A4;$E$1:$F$8;1),"dd/mm/aa")
Esto devolvería algo así como esto:
">=20/03/2002"
Por ejemplo.
Finalmente, el tercer argumento es el rango donde están los valores a sumar (Columna "F").
Es decir que la fórmula que suma los intereses de cada período dada una fecha es:
=SUMAR.SI($E$1:$E$8;">="&TEXTO(BUSCARV(A4;$E$1:$F$8;1),"dd/mm/aa");$F$1:$F$8)
Recuerda el asunto del separador de argumentos (, o ; ) [y no es un smiley]
Obviamente, toma período completo incluida la tasa para el mes de la fecha de referencia.
Pruébalas y dime si sumó.
Un abrazo!
Fernando
Hola de nuevo, mi ra hice la fórmula que me diste, pero la modifique porque tengo rangos distintos, mira estos son mis datos:
Desde e1 a f4
08-01-98 2,28
04-02-98 3,12
05-03-98 3,14
06-04-98 2,55
La fecha la ingreso en C2
Y laformula que ocupe es:
=SUMAR.SI($E$1:$E$4;">="&TEXTO(BUSCARV(C2;$E$1:$F$4;1);"dd/mm/aa");$F$1:$F$4)
Pero me dio cero. ¿Por qué?
Hola, Rober!
Noto que tus fechas están separadas por un guión, mientras que mi ejemplo utiliza una barra inclinada.
Es decir que tu fórmula debería ser:
=SUMAR.SI($E$1:$E$4;">="&TEXTO(BUSCARV(C2;$E$1:$F$4;1);"dd-mm-yy");$F$1:$F$4)
Si aún así no funcionara, prueba con esta:
=SUMAR.SI($E$1:$E$4;">="&TEXTO(BUSCARV(C2;$E$1:$F$4;1);"dd-mm-yy");$F$1:$F$4)
Simplemente cambié "dd/mm/aa" por "dd-mm-yy". Algunas versiones de MS Excel requieren el código de fechas en Ingles y otras en castellano.
Prueba con esto y dime.
Un abrazo!
Fernando
Gracias fernando, te pasaste.
Me ayudaste harto y una vez más te agradezco tu buena voluntad y paciencia.
¿Tienes messenger?, cual es tu email.Chau
PD:No te preocupes que finalizare tu respuesta
Me alegro que te haya servido.
Mi mail es Fejoal(eenn)hotmail.com
Para enviarlo, reemplaza "(eenn)" con @ en la dirección que te dí. Para evitar a los programas que recolectan direcciones de e-mail (ya no saben qué inventar...)
Chau!
Fernando
Soy robert nuevamente.
Me había olvidado darte mi nueva dirección
mensajesrobert(eenn)hotmail.com.
Me copiaste la despedida ehh, je je.
Chau.
No veo por qué!
Es una despedida común por aquí ;)
Saludos
Fernando
Misma pregunta. Misma respuesta:
No veo por qué!
Es una despedida común por aquí ;)
Saludos
Fernando
Hola, Rober
Creo que mi respuesta te ayudó en su momento. Sin embargo, noté que aún no la finalizaste (y valoraste).
Que tengas un EXCELente 2003.
Fernando
Añade un comentario a esta respuesta
1
Respuesta de
Todos somos novatos alguna vez, pero si estas implementando formularios, ya no eres un simple novato, no se que tan novato seas, asumiré que no tanto...
Lo que quieres lo puedes lograr de muchas maneras, la que te comento es una de ellas, es sencilla...
En una celda libre, digamos la E3 escribes la fórmula
=BUSCARV(E2,A2:C6,3)
En donde E2 la relacionaremos con un cuadro de texto y A2:C6 es el rango de tus fechas e intereses
Agrega dos cuadro de texto a tu formulario y un botón de comando, al primer cuadro de texto, busca su propiedad ControlSource y le asignas
Hoja1!E2
El nombre de la hoja es importante, observa como asigne la celda E2 que fue la que use en la fórmula anterior
Ahora, solo escribe esta linea en el botón de comando
Private Sub CommandButton1_Click()
txtInteres.Text = Range("E3").Value
End Sub
es importante que en la linea
TextBox2.Text = Range("E3").Value
Escribas la celda donde hayas escrito la fórmula BUSCARV, también observa como lo que cambiamos el cuadro de texto 2
Ahora pruébalo, cambia la fecha, presiona el botón de comando y te mostrara el interés correcto, por supuesto la fecha debe ser valida y debe estar entre alguno de los rangos que tienes, lo he probado así y funciona bien, saludos...
Hola de nuevo te agradezco un montón por haber atendido mi consulta, ya que me sirvió lo que me dijiste. Pero, con esto he logrado localizar que interés corresponde a la fecha ingresada.
Abusando un poco de tu sabiduaria, ahora necesito saber en que celda se encuentra se encuentra dicho interés, ya que lo que necesito es sumar desde ese interés hacia abajo.Es decir ir acumulando, todos los intereses a partir de la fecha ingresada, para luego calcular la deuda * la suma de los intereses.
Espero me respondas para poder finalizar la pregunta. Chau.
Hola, haz los siguientes cambios, donde pusiste la fórmula BUSCARV, ahora usa la fórmula
=COINCIDIR(E2,A1:A6,1)
el boton de comando queda asi
Private Sub CommandButton1_Click()
On Error Resume Next
txtInteres.Text = Cells(Range("E3").Value, 3).Value
If Err.Number = 2042 Then
txtInteres.Text = ""
Err.Clear
End If
End Sub
La celda donde tendrás el interés buscado, es en la fila que esta en la celda E3 y la columna 3, por eso ponemos...
Cells(Range("E3").Value, 3)
Cells(Fila, Columna)
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la pregunta que estabas buscando?
Puedes explorar otras preguntas del tema Microsoft Excel o hacer tu propia pregunta: