Fórmula para halar el último dato según la fecha actual

Tengo una tabla de dos columnas por 37 filas, incluido el encabezado A1:Periodo B1:Resultado, A2: ene-2015, A3: feb-2015…. B2: 5%, B3:7%... Esto aumenta por periodos mensuales hasta el mes de dic-2017; o sea 3 años calendario.

Luego tengo otra tabla en la misma hoja D1:Ene; D2:(resultado de la fórmula); E1:Feb; E2:(resultado de la fórmula)…

Necesito que la fórmula en D2 buque en la tabla inicial, evaluando la columna A y traiga el dato de la columna B de acuerdo al mes que se busca en D1 y lo deposite en D2, hasta hay un BuscarV, pero el tip está en que busque en mes más reciente tomando la fecha actual, o sea que si hoy es junio de 2016, en la segunda tabla tenga de enero a junio de 2016 pero de julio a diciembre de 2015.

Agradezco lo que puedan ayudarme.

Adjunto imagen de tablas:

1 respuesta

Respuesta
1

Puede completar los ejemplos de último enero y último febrero, si hoy estamos en Enero-2015, ¿qué valor va en último enero = 41.00 ó 77.00?

También pon el ejemplo de febrero y dime cómo es que manualmente lo encuentras.

Hola Dante, envío imagen con varios ejemplos de como debería aparecer dependiendo el mes actual. Claro esta que solo necesito una sola línea....

Hola Dante, quería saber si has tenido oportunidad de construir esa formulita...

Disculpa, no me había llegado el aviso con los ejemplos, ahora me queda la duda, a qué te refieres con "Claro esta que solo necesito una sola línea"

Para no perder el contacto de esta pregunta, envíame tu archivo con los ejemplos y reviso si se puede con una fórmula o con macro.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario "ravelezp" y el título de esta pregunta.

Hola Dante, correo enviado. De antemano gracias.

Te anexo la macro que va en los eventos de la hoja

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Target.Address(False, False) = "D2" Then
        If Target.Count > 1 Then Exit Sub
        '
        Range("E2:P2").Font.Bold = False
        '
        For i = 1 To 12
            If Month([D2]) = i Then
                año = Year([D2])
                mes = Month([D2])
                Cells(2, i + 4).Font.Bold = True
            Else
                mes = i
                If Month([D2]) < i Then
                    año = Year([D2]) - 1
                Else
                    año = Year([D2])
                End If
            End If
            fecha = DateSerial(año, mes, 1)
            Set b = Columns("A").Find(fecha, lookat:=xlWhole)
            If Not b Is Nothing Then
                Cells(2, i + 4) = Cells(b.Row, "B")
            Else
                Cells(2, i + 4) = 0
            End If
        Next
    End If
End Sub

La macro se ejecuta en automático cuando modificas la fecha en la celda D2.


Saludos. Dante Amor

Hola Dante, esta perfecta.... una última duda: en los módulos 1 y 2 hay una macros, las debo usar?

No, esas macros las utilizo para hacer pruebas, las puedes borrar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas