Usar Fórmula Coincidir y indice

Llevo horas peleándome con las funciones coincidir y indice y no hay forma! A ver si me podéis ayudar por favor. Tengo 2 columnas una con comunidades y otra con valores y tengo, en otra celda poner el nombre de la comudidad con el valor mayor y otra con el valor menor usando las funciones coincidir y indice. No logro entenderlas y no me sale nada.
Vendría a ser una cosa así
     A B
Andalucia 842.444
Aragón 189.956
Asturias 102.526
Baleares 45.063
Canarias 182.345
Valor máximo 842.444
Valor mínimo 45.063
A ver si alguien me puede ayudar.
1

1 respuesta

Respuesta
1
Si tuvieras primero el número y después la comunidad, podrías usar la función "buscarv", pero si quieres mantener los datos como están, puedes definirte una función como la siguiente:
Option Explicit
Function encontrarComunidad(ByVal valorBuscado, ByVal rangoComunidad As Range) As String
    Dim i As Integer
    If rangoComunidad.Columns.Count <> 2 Then
        MsgBox "Debe ser un rango con 2 columnas: Comunidad y DATOS A BUSCAR"
        encontrarComunidad = "ERROR RANGO"
        Exit Function
    End If
    For i = 1 To rangoComunidad.Rows.Count
        If rangoComunidad.Cells(i, 2) = valorBuscado Then
            encontrarComunidad = rangoComunidad.Cells(i, 1)
            Exit Function
        End If
    Next i
    encontrarComunidad = "Valor no Encontrado"
End Function
Con esa función definida en un módulo de Visual Basic, puedes hacer lo que buscas.
Buenas tardes!
                          Con tu explicación puedo hacerlo pero me piden que use las dichosas formulitas. Si no consigo sacarlo lo haré como tu me dices y ya esta!
Muchas gracias!
Supongamos que tienes los datos en A2:B6 y el máximo en B8.
En C8 pondrías la siguiente fórmula:
=INDICE($A$2:$A$6;COINCIDIR(B8;$B$2:$B$6;0))
La función coincidir, con el 0 como último parámetro, te indica en qué fila del rango seleccionado aparece el valor buscado.
La función índice te devuelve el valor que se encuentra en la posición indicada.
Con coincidir buscamos en qué fila está el dato y luego índice nos devuelve el valor de la misma fila sobre el mismo rango definido en la columna A.
Una cosa muy importante: el rango sobre la columna A (A2:A6 según el ejemplo, tiene que tener los mismos números de fila que el usado en la función coincidir (B2:B6). No funcionaría si pones A2:A6 en la primera y B4:B8 en la segunda.
Espero haber sido claro. Al menos la fórmula funciona.
Muchas gracias!
                            Ahora lo entiendo! Me has salvado la vida!
Muchas gracias,
                          Es la primera vez que uso el foro y literalmente me has salvado y lo más importante lo he entendido!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas