locked
FORMULA PARA RETORNAR UM ITEM ESPECÍFICO DENTRO DE UM INTERVALO RRS feed

  • Pergunta

  • Olá pessoal,

     

    Procuro por uma fórmula que retorne um valor específico dentro de um intervalo. Por exemplo:

     

    0

     

    0

     

    0

     

    USD

     

    0

     

    0

     

    0

    Resultado

    USD

     

    A fórmula deve retornar o valor que seja diferente de 0.

     

     

    Tks

    Jerson

     

    segunda-feira, 4 de agosto de 2008 12:09

Respostas

  • Olá...Função para achar a 1º ocorrência de um valor em um intervalo(coluna) diferente de zero..

     

    Code Snippet

    Function DIFzero(Intervalo As Range)
        For n = 1 To Intervalo.Count
            If Intervalo.Cells(n, 1) <> 0 Then
                DIFzero = Intervalo.Cells(n, 1)
                Exit Function
            End If
        Next
        DIFzero = 0
    End Function

     

     

    Exemplo..

    =DIFzero("a1:A20")

     

    Nesta você informa qual o valor específico..

    Code Snippet
    Function ValDif(Intervalo As Range, Val As String)
        For n = 1 To Intervalo.Count
            If Intervalo.Cells(n, 1) <> Val Then
                ValDif = Intervalo.Cells(n, 1)
                Exit Function
            End If
        Next
        ValDif = 0
    End Function

     

     

    Exemplo..

    =ValDif("a1:A20",0)

    =ValDif("a1:A20",1)    1º ocorrência que seja diferente de 1

    Até..
    segunda-feira, 4 de agosto de 2008 13:37

Todas as Respostas

  • Olá...Função para achar a 1º ocorrência de um valor em um intervalo(coluna) diferente de zero..

     

    Code Snippet

    Function DIFzero(Intervalo As Range)
        For n = 1 To Intervalo.Count
            If Intervalo.Cells(n, 1) <> 0 Then
                DIFzero = Intervalo.Cells(n, 1)
                Exit Function
            End If
        Next
        DIFzero = 0
    End Function

     

     

    Exemplo..

    =DIFzero("a1:A20")

     

    Nesta você informa qual o valor específico..

    Code Snippet
    Function ValDif(Intervalo As Range, Val As String)
        For n = 1 To Intervalo.Count
            If Intervalo.Cells(n, 1) <> Val Then
                ValDif = Intervalo.Cells(n, 1)
                Exit Function
            End If
        Next
        ValDif = 0
    End Function

     

     

    Exemplo..

    =ValDif("a1:A20",0)

    =ValDif("a1:A20",1)    1º ocorrência que seja diferente de 1

    Até..
    segunda-feira, 4 de agosto de 2008 13:37
  • Supondo que seus dados estão no intervalo A1:A7, a fórmula abaixo retorna a primeira ocorrência diferente de zero:

     
    =SE(ÉERROS(SOMARPRODUTO(MENOR(($A$1:$A$7<>0)*LIN($A$1:$A$7);SOMARPRODUTO(--($A$1:$A$7=0))+LIN(A1))));"";ÍNDICE($A$1:$A$7;SOMARPRODUTO(MENOR(($A$1:$A$7<>0)*LIN($A$1:$A$7);SOMARPRODUTO(--($A$1:$A$7=0))+LIN(A1)))))

     

     

    Copiando-a para baixo, retornará a segunda, terceira...até a n-ésima ocorrência.

    Se não houver mais ocorrências retorna uma cadeia de caracteres vaiza.

    [ ]s

     

    segunda-feira, 4 de agosto de 2008 14:14
  • Muito obrigado Evangelista.

     

    Sds

    Jerson

    segunda-feira, 4 de agosto de 2008 14:16
  • Obrigado Adilson, sua fórmula também atende minha necessidade.

     

    Sds

    Jerson

     

    segunda-feira, 4 de agosto de 2008 14:55