none
Função Menor com dois critérios RRS feed

  • Pergunta

  • Pessoal,

    por favor, preciso de ajuda para saber como utilizo a função Menor com mais de um critério. Por exemplo, dada a sequencia (1, 3, 7, 9, 13, 15) preciso achar o primeiro menor valor >3 e <15. Depois preciso achar o segundo maior valor que atenda as duas condições colocadas. E assim por diante.

    Alguém pode me ajudar?

    Desde já agradeço.

    Daniel


    • Editado Daniel HP terça-feira, 11 de setembro de 2012 00:57
    terça-feira, 11 de setembro de 2012 00:02

Respostas

  • Bom dia amigo....

    Em VBA ficaria assim...

    Public Sub MaiorMenor()
    ' variaveis utilizadas nos codigo
    Dim Arr As Variant
    Dim Cont As Integer
    Dim Menor As Integer
    Dim Maior As Integer

    ' Recorta o conteudo do TextBox1 os valores aqui sao separados pelo Pipe (|)
    Arr = Split(TextBox1.Text, "|")

    ' se o total de registros entrados separados por Pipe (|) for maior que dois
    If UBound(Arr) >= 2 Then
        
        ' valores iniciais
        Maior = Arr(0)
        Menor = Arr(0)
        
        ' para cada registro em Arr
        For Cont = 0 To UBound(Arr)
            
            ' se o valor em Arr for maior que Maior
            If Arr(Cont) > Maior Then
                Maior = Arr(Cont)
            ' senao
            Else
                If Arr(Cont) < Menor Then
                    Menor = Arr(Cont)
                End If
            End If
            
        Next
        
        ' Mostra em MessageBox a informacao do maior e menor valor
        MsgBox ("Maior: " & CStr(Maior) & vbNewLine & "Menor: " & CStr(Menor))

    ' se o minimo de registros requeridos(2)nao for aceito
    Else
        
        MsgBox "Parametros Insuficientes" & vbNewLine & " - Informe ao menos dois numeros para comparacao.", vbInformation, "Atencao!"

    End If

    End Sub

    Qualquer duvida perguntaí...

    Se for Util... Votaí... 8)

    terça-feira, 11 de setembro de 2012 13:39
  • Suponha que os valores estejam no intervalo A1:A6. Por que não usar uma fórmula como:

    =MENOR($A$1:$A$6;3)

    e

    =MENOR($A$1:$A$6;4)

    ?


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    terça-feira, 11 de setembro de 2012 21:30
    Moderador

Todas as Respostas

  • Bom dia amigo....

    Em VBA ficaria assim...

    Public Sub MaiorMenor()
    ' variaveis utilizadas nos codigo
    Dim Arr As Variant
    Dim Cont As Integer
    Dim Menor As Integer
    Dim Maior As Integer

    ' Recorta o conteudo do TextBox1 os valores aqui sao separados pelo Pipe (|)
    Arr = Split(TextBox1.Text, "|")

    ' se o total de registros entrados separados por Pipe (|) for maior que dois
    If UBound(Arr) >= 2 Then
        
        ' valores iniciais
        Maior = Arr(0)
        Menor = Arr(0)
        
        ' para cada registro em Arr
        For Cont = 0 To UBound(Arr)
            
            ' se o valor em Arr for maior que Maior
            If Arr(Cont) > Maior Then
                Maior = Arr(Cont)
            ' senao
            Else
                If Arr(Cont) < Menor Then
                    Menor = Arr(Cont)
                End If
            End If
            
        Next
        
        ' Mostra em MessageBox a informacao do maior e menor valor
        MsgBox ("Maior: " & CStr(Maior) & vbNewLine & "Menor: " & CStr(Menor))

    ' se o minimo de registros requeridos(2)nao for aceito
    Else
        
        MsgBox "Parametros Insuficientes" & vbNewLine & " - Informe ao menos dois numeros para comparacao.", vbInformation, "Atencao!"

    End If

    End Sub

    Qualquer duvida perguntaí...

    Se for Util... Votaí... 8)

    terça-feira, 11 de setembro de 2012 13:39
  • Suponha que os valores estejam no intervalo A1:A6. Por que não usar uma fórmula como:

    =MENOR($A$1:$A$6;3)

    e

    =MENOR($A$1:$A$6;4)

    ?


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    terça-feira, 11 de setembro de 2012 21:30
    Moderador
  • ok, muito obrigado! abs.
    quarta-feira, 12 de setembro de 2012 18:08
  • Benzadeus, na verdade, utilizando o seu exemplo, eu preciso achar o menor valor dentro de A3:A6, porém a serie que deve ser considerad é A1:A6. 

    De qualquer forma, obrigado pela retorno. abs.,

    quarta-feira, 12 de setembro de 2012 18:11