As tabelas de pesquisa foram projetadas para esse propósito exato. Eu usaria uma lista suspensa em A2 e um VLOOKUP em uma tabela em B2, já que só faz sentido ter uma lista suspensa. Se você quer que os valores de B sejam amarrados aos valores de A, faz sentido que você só esteja selecionando o valor de A, não ambos A e B. Eu faria isso:
- Em algum intervalo de células, seja em uma folha protegida separada ou em outro lugar na planilha atual, crie uma tabela de pesquisa como essa. Neste exemplo, a tabela está arbitrariamente localizada nas células H7: I9.
Realceacolunadatabeladeconsultaquecontémascategorias(agric,school,etc.)ecrieumintervalonomeadoparaessascategorias,clicandoemFormulas,NameManager,Novo.Ointervalonomeadodevepreencherautomaticamenteocampo"Refere-se a" a essas células.
-
Na célula A2, crie a lista suspensa clicando em Dados , Validação de dados . Em Permitir , especifique Lista e, no campo Origem , insira
=
e o nome do seu intervalo nomeado. Na captura de tela, usei "categorias".
- Na célula B2, use
VLOOKUP
para procurar o valor de A2, que é restrito às categorias na tabela de consulta, nas colunas da tabela. Esta fórmula funciona:=VLOOKUP(A2, $H$7:$I$9, 2, FALSE)
. O2
indica que você deseja o valor na segunda coluna da tabela, da linha cujo primeiro elemento corresponde ao valor de pesquisa (A2). O argumento booleanoFALSE
diz ao Excel para executar uma correspondência exata . Se você inserir dados na coluna A que não existem na tabela, o Excel retornará#N/A
. Se você não inserirFALSE
, o Excel simplesmente retornará o último item da tabela.
Agora, os valores em A2 são restritos às categorias na tabela de pesquisa e o valor em B2 deve ser atualizado automaticamente de acordo com a respectiva porcentagem dessa categoria. Se você quiser adicionar novas categorias, basta adicioná-las à tabela de pesquisa da mesma forma e atualizar o intervalo nomeado.