Excel: Classificando dados com base em um sistema de bin

0

Estou trabalhando com o Excel 2010 no Windows, sou um usuário novato do Excel, mas posso programar, portanto, você é bem-vindo para jogar o VBA em mim. Eu tenho uma série de células em que um usuário pode inserir um número e outra célula precisa exibir uma classificação com base no intervalo em que esse número está.

por exemplo:

0%:     -> nothing
01-20%: -> not a lot
21-50%  -> below average

etc...

Isso é necessário para vários formatos diferentes (inteiros, flutuantes). Qual é a maneira mais elegante de abordar isso?

    
por Keno 20.02.2014 / 11:58

3 respostas

0

Outra opção é ter uma tabela de consulta com os dados da caixa em algum lugar da sua pasta de trabalho. Você pode então usar uma função VLOOKUP para classificar sua entrada comparando-a com a tabela.

Nessa amostra de dados, com a tabela de pesquisa localizada em E3:F8 e a entrada do usuário localizada em B1 , você usaria a seguinte fórmula:

=VLOOKUP(B1,$E$3:$F$8,2,TRUE)
    
por 20.02.2014 / 15:40
0

Você não declarou que o HAD estava em VBA. Eu acredito que é mais fácil de realizar com uma fórmula do que tentar acionar o VBA da entrada do usuário.

Então, aqui está uma maneira de usar aninhado IF com a instrução AND para realizar o que você descreveu. Nesse caso, o valor é inserido em A1 e a classificação é exibida em B1 .

Coloque esta fórmula em B1 .

=IF(AND(A1>0.7,A1<=1),"above average",IF(AND(A1>0.5,A1<=0.7),"average",IF(AND(A1>0.2,A1<=0.5),"below average",IF(AND(A1>0.01,A1<=0.2),"not a lot", ""))))

Você pode precisar ajustar as coisas para atender às suas necessidades.

    
por 20.02.2014 / 14:45
0

Se você preferir usar o VBA e, em seguida, personalizar e complicar demais como quiser haha:

Function MyFunction(inputvalue As Double)

  Select Case inputvalue

    Case Is = 0:
    MyFunction = "nothing"
    Case Is <= 0.2:
    MyFunction = "not a lot"
    Case Is <= 0.5:
    MyFunction = "below average":
    Case Is > 0.5:
    MyFunction = "above average"

  End Select

End Function
    
por 20.02.2014 / 16:21