About Me

A minha foto
JRod - PORTUGAL
Microsoft [MVP] - Excel (10º ano consecutivo)
Ver o meu perfil completo
Com tecnologia do Blogger.

Seguidores

Estatisticas

Free Blog Counter

eXTReMe Tracker
2009-03-14

A pergunta original, continha algo diferente, ou seja, dependia o resultado com base na junção de 2 critérios: freguesia e sexo:

“Gostaria de saber qual a fórmula  para calcular o valor do peso do sexo masculino da freguesia de Bustos que mais se repete”.

Neste caso e para o resultado desejado, então o Código, poderia ser assim, tomando como células de controlo as células G2 (sexo) e H2 (Freguesia), como no exemplo do post anterior:

'----------------------------------------------------------
' Procedure : Validar_Click
' DateTime  : 14-03-2009 18:51
' Author    : Jorge Rodrigues
' Purpose   : Atribuir valores no Range L1:L20 retirados
'           : do Range D8:D17, a que correspondam,
'           : no Range C8:C17, o nome da Freguesia em H2
'           : e Sexo (M/F) em G2
'----------------------------------------------------------
'
Private Sub Validar_Click()
    Dim spRange As Range
    Dim cell As Range
    Dim nome As Variant
    Dim nome1 As Variant
    Dim nome2 As Variant
    Dim number As Integer

    number = 0
    nome = Range("H2").Value
    nome1 = Range("G2").Value
    nome2 = nome & nome1
    Range("L1:L20").ClearContents

    Set spRange = Range("C8:C17")
    For Each cell In spRange
        number = number + 1
        If cell & cell.Offset(0, -1) = nome2 Then
            Range("L" & number).Value = cell.Offset(0, 1)
        End If
    Next cell

End Sub

 

Já agora e para não aparecer, porventura, aquela sigla indesejável (#N/D), em I2, caso não exista qualquer repetição de valor, de acordo com os dois critérios, então a fórmula naquela célula, poderia ser assim:

=SE(É.ERRO(MODA(L1:L20));"";MODA(L1:L20))

Tópicos relacionados: