Anexando rótulos de grupo a valores discretos no Excel

1

Existe uma maneira no Excel de, após fornecer uma lista de grupos e uma coluna de valores discretos, mapear um rótulo de grupo para cada valor discreto? Como posso dizer ao Excel para essencialmente verificar em qual grupo o valor se encaixa e anexar o rótulo correto? Por exemplo, se eu tiver uma lista de idades:

23
24
24
25
32
33
36
37
41
44
45
63
67

Eu gostaria de dizer que existem grupos 20-29,30-39,40-49,50+para que tenhamos:

23  20-29
24  20-29
24  20-29
25  20-29
32  30-39
33  30-39
36  30-39
37  30-39
41  40-49
44  40-49
45  40-49
63  50+
67  50+

Eu acho que pode facilitar as coisas se, em vez de tentar acrescentar esses rótulos, eu chamar apenas 20-29 1, 30-39 2 e assim por diante. Então, eu só preciso de uma instrução IF que diga apender 2 se o valor estiver entre 20 e 29 e assim por diante.

Poder maximo
fonte
A resposta é provavelmente, mas, você pode mostrar um antes e depois (capturas de tela ou digitar) enquanto eu lutava para segui-lo completamente :( Esperançosamente, um antes e um depois tornarão super claro para que possamos ajudar :)
Dave
@Dave Faz sentido, um exemplo foi colocado acima.
Max Power

Respostas:

1

Configure uma área em algum lugar da sua pasta de trabalho semelhante à seguinte:

         X      Y
1       20    20-29
2       30    30-39
3       40    40-49
4       50    50+

Em seguida, se seus valores de idade estiverem na coluna Acomeçando na linha 2, insira

=VLOOKUP(A2, X$1:Y$4, 2)

na célula B2(ou onde você quiser que o ID do grupo seja exibido) e arraste-o para baixo. As VLOOKUPpesquisas a pouco X- Ytabela de pesquisa para a última linha onde o Xvalor é ≤ o Avalor. O 2parâmetro diz para retornar o valor da segunda coluna dessa tabela de pesquisa.

G-Man
fonte
O problema é que, embora eu possa copiar todos os mais de 60 valores e anexar a categoria para criar uma tabela de pesquisa neste exemplo, às vezes pode haver mais de 1000 valores diferentes, cada um dos quais se enquadra em uma categoria diferente. Nesse caso, uma tabela vlookup não é viável. Como alguém pode lidar com esses casos?
Max Power
Eu não entendo O que são "categorias"? Sua pergunta não os menciona. Eles são iguais aos grupos? É difícil para as pessoas entenderem você se você mudar a terminologia e / ou adicionar condições / restrições que não foram mencionadas na pergunta original. Você disse que tem "uma lista de grupos". Você está dizendo agora que tem mais de 1000 grupos? E que você não tem uma lista deles? E você está dizendo que, ao contrário do seu exemplo, os grupos não são definidos por intervalos consecutivos de valores numéricos? Como o Excel deve ser capaz de fazer o mapeamento? Por favor elabore.
G-Man
Desculpe, categorias são grupos. Como mencionado, tenho uma lista de grupos, mas tenho muitos valores e gostaria de acrescentar um rótulo de grupo a cada um deles. O problema está no seu exemplo, seus valores X são 20,30,40 e assim por diante. No meu exemplo, tenho 23,24 ..., 67 como valores possíveis que gostaria de mapear para um intervalo (por exemplo, 20-29). O problema é que eu poderia ter significativamente mais do que apenas 23,24 .. 67 valores possíveis. Eu poderia ter 5,6,7 ...., 7000 como valores possíveis. Aqui seu método vlookup seria complicado e, portanto, estou me perguntando se existe uma solução alternativa.
Max Power
Você parece estar perdendo o objetivo. Não incluí 23, 24 etc. na minha mesa porque não precisava. Se A8contiver 36, a célula B8avaliará como 30-39porque VLOOKUPdescobre que X2( 30) é ≤ A8( 36), mas X3( 40) é> A8( 36) e, portanto, retorna Y2( 30-39). Mas se seus grupos não forem definidos por intervalos consecutivos de valores numéricos, você terá uma pergunta diferente.
G-Man
Você está certo, eu estava perdendo o ponto. Portanto, as tabelas VLOOKUP não exigem que valores exatos estejam na tabela, ele automaticamente o agrupará no último grupo de tabelas em que o valor a ser mapeado é menor que o valor da primeira coluna do VLOOKUP?
Max Power
0

Tente usar FLOOR()e CEILING.

Digamos que sua primeira idade para verificação seja na célula A1 e você deseja agrupar todas as idades em faixas de 10. FLOOR()arredonda para o número mais próximo especificado, enquanto CEILING()arredonda para cima.

Em seguida, basta colocar um IF()na frente para lidar com o seu limite superior.

=IF(A1>=50,"50+",FLOOR(A1,10)&"-"&CEILING(A1,10)-1)
Andi Mohr
fonte