DEJE QUE EXCEL HAGA EL TRABAJO SUCIO

Encontrar el último dato ingresado para un caso en particular

En el siguiente vídeo se explica cómo encontrar el último valor que se haya registrado para un dato en particular en un conjunto de datos. Para hacerlo, hemos hecho uso de una fórmula que ha sido ampliamente difundida por Internet pero cuyo funcionamiento puede resultar un poco oscuro. El vídeo, más que simplemente exponer la fórmula, busca explicar su funcionamiento.

La fórmula hace uso de la función BUSCAR, si desea entender un poco más sobre esta función y comprender cómo nos ayuda en este caso, revise este tema: Encontrar el último valor en un conjunto de datos: Búsqueda binaria.

También puede que le ayude a comprender un poco mejor algunos de los mecanismos utilizados en la fórmula el siguiente tema: Coaccionar valores en una fórmula II: Valores lógicos a valores numéricos.



Si usted conoce otro forma de llevar a cabo este procedimiento, no dude en compartirla en la sección de comentarios.

2 comentarios:

  1. Mil gracias por compartir sus conocimientos.
    Aqui les dejo un codigo que grabe con una macro y que tambien aprendi por internet.
    Sub Bajar()

    Dim Nmr As Double
    Application.ScreenUpdating = False
    Nmr = Application.WorksheetFunction.CountA(Sheets("Material").Range("A2:A65536"))
    If Range("a2") = "" Then
    Exit Sub
    Else
    ActiveWindow.ScrollRow = (Nmr)
    End If
    Application.ScreenUpdating = True
    End sub

    Sub Subir()

    Dim Nmr As Double
    Application.ScreenUpdating = False

    Nmr = Application.WorksheetFunction.CountA(Sheets("Material").Range("A2:A1048576"))
    ActiveWindow.ScrollRow = (Nmr) - (Nmr) + 1
    Application.ScreenUpdating = True
    End sub
    Saludos

    ResponderSuprimir
  2. Claro la variable podrian cambiarla como integer
    Dim Nmr As Integer
    Application.ScreenUpdating = False
    Nmr = Application.WorksheetFunction.CountA(Sheets("Hoja1").Range("A2:A65536"))
    If Range("a2") = "" Then
    Exit Sub
    Else
    ActiveWindow.ScrollRow = (Nmr)
    End If
    Application.ScreenUpdating = True
    End sub

    Sub Subir()

    Dim Nmr As Integer
    Application.ScreenUpdating = False

    Nmr = Application.WorksheetFunction.CountA(Sheets("Hoja1").Range("A2:A65536"))
    ActiveWindow.ScrollRow = (Nmr) - (Nmr) + 1
    Application.ScreenUpdating = True
    End sub
    Saludos

    ResponderSuprimir