Valores de rangos, funciones de búsquedas y valores en Microsoft Excel

Tengo un problema en el que tengo que buscar el valor mínimo de un rango de valores que contiene números positivos, negativos y celdas en blanco. Uso la función buscar teniendo los datos de la primera columna ordenados en forma ascendente. Los datos numéricos están en la tercera columna. El valor que quiero que me devuelva es el valor de la primera columna que corresponda al mínimo. El resultado que obtengo es un mensaje de error, sin embargo, si realizo la misma operación pero buscando el máximo obtengo el resultado deseado.
Gracias

1 respuesta

Respuesta
1
Hay una función llamada min que te pone el mínimo. si pones =min ya te sale
Gracias. El problema es que el resultado que quiero que me devuelva no es el mínimo sino el dato de otra columna en la misma fila.
En mi tabla el dato que quiero que me devuelva está en la primera columna, ésta a su vez está ordenada de forma ascendente y la columna que contiene los datos numéricos en la que hay que buscar el mínimo es la tercera.
No sé cómo podría enviar el archivo para que se me comprenda mejor.
Gracias otra vez.
Da igual aquí tienes la función
Function min_offset(Rango_Minimo_Datos As Range, Columna_Buscar_Datos As Double) As String
    Dim minimo As Double
    Dim fila_minimo As Double
    minimo = WorksheetFunction.Min(Rango_Minimo_Datos.Value)
    fila_minimo = Rango_Minimo_Datos.Row
    For Each Item In Rango_Minimo_Datos
        If (Item = minimo) Then
            min_offset = ActiveSheet.Cells(fila_minimo, Columna_Buscar_Datos)
            Exit For
        Else
            fila_minimo = fila_minimo + 1
        End If
    Next Item
End Function
En Rango_Minimo_Datos has de poner la lista de los datos numéricos, lo de la 3a columna.
En Columna_Buscar_Datos está la columna que quieres buscar, puedes señalar 1 celda de la columna o toda la columna si quieres, el programa ya te la coge
Si quieres buscar el máximo cambias
minimo = WorksheetFunction.Min(Rango_Minimo_Datos.Value) por
minimo = WorksheetFunction.Max(Rango_Minimo_Datos.Value)
Si hay 2 mínimos te cogerá sólo el primero

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas