Descrição

- Ex1 - Utilização básica: utilizar a função CHOOSE isoladamente para escolher um valor a partir do argumento lista
- Ex2 – Devolver diferentes resultados com base em múltiplas condições
- Ex3 – Devolver diferentes resultados calculados com base em condições
- Ex4 – Escolher aleatoriamente de uma lista
- Ex5 – Combinar as funções CHOOSE e VLOOKUP para Valor de retorno em Coluna Mais à Esquerda
- Ex6 – Devolver o dia da semana ou mês com base numa data fornecida
- Ex7 – Devolver a próxima data de dia útil ou fim de semana com base na data de hoje
Função do Excel
A função CHOOSE devolve um valor da lista de argumentos com base no número de índice indicado. Por exemplo, CHOOSE(3,”Apple”,”Peach”,”Orange”) devolve «Laranja», pois o número de índice é 3 e «Laranja» é o terceiro valor na lista após o índice.
Sintaxe e Argumentos
Sintaxe da fórmula
| CHOOSE(index_num, value1, [value2], …) |
Argumentos
|
Value1, value2… podem ser números, texto, fórmulas, referências de células ou nomes definidos.
Valor de retorno
A função CHOOSE devolve um valor de uma lista com base na posição indicada.
Utilização e Exemplos
Nesta secção, apresento alguns exemplos simples, mas representativos, para explicar a utilização da função CHOOSE.
Ex1 - Utilização básica: utilizar a função CHOOSE isoladamente para escolher um valor a partir do argumento lista
Fórmula1:
=CHOOSE(3,"a","b","c","d")
Resultado: c, que é o terceiro argumento após o index_num igual a 3 na função CHOOSE.
Nota: utilize aspas duplas em torno do valor caso este seja texto.
Fórmula2:
=CHOOSE(2,A1,A2,A3,A4)
Resultado: Kate, o valor de A2. Como index_num é 2 e A2 corresponde ao segundo valor na função,CHOOSE.
Fórmula3:
=CHOOSE(4,8,9,7,6)
Resultado: 6, o quarto argumento da lista na função.
Ex2 – Devolver diferentes resultados com base em múltiplas condições
Suponha que tenha uma lista de desvios para cada produto que precisa de ser rotulada com base em determinadas condições, tal como ilustrado na imagem abaixo.
Normalmente, pode utilizar a função SE para resolver isto, mas aqui explico como usar a função CHOOSE para solucionar este problema de forma simples e eficaz.
Fórmula:
=CHOOSE((B7>,0)+(B7>,1)+(B7>,5),"Top","Middle","Bottom")
Explicação:
(B7>0)+(B7>1)+(B7>5):o index_num; B7 é 2, que é maior do que 0 e 1 mas menor do que 5, logo obtemos o resultado intermédio:
=CHOOSE(True+Ture+False,"Top","Middle","Bottom")
Como sabemos, VERDADEIRO = 1, FALSO = 0, logo a fórmula pode ser vista como:
=CHOOSE(1+1+0,"Top","Middle","Bottom")
depois
=CHOOSE(2,"Top","Middle","Bottom")
Resultado: Médio 
Ex3 – Devolver diferentes resultados calculados com base em condições
Suponha que precisa de calcular os descontos para cada produto com base na quantidade e no preço, conforme mostrado na imagem abaixo:
Fórmula:
=CHOOSE((B8>,0)+(B8>,100)+(B8>,200)+(B8>,300),B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)
Explicação:
(B8>0)+(B8>100)+(B8>200)+(B8>300):número do índice; B8 é 102, que é maior do que 100 mas menor do que 201, logo nesta parte devolve o resultado apresentado como:
=CHOOSE(true+true+false+false,B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)
=CHOOSE(1+1+0+0,B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)
depois
=CHOOSE(2,B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)
B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5:os valores a partir dos quais escolher; desconto igual a preço * quantidade * percentagem de desconto; como aqui index_num é 2, escolhe B8*C8*0,2
Devolve: 102*2*0,2=40,8 
Ex4 – Escolher aleatoriamente de uma lista
No Excel, por vezes, poderá precisar de escolher aleatoriamente um valor de uma lista fornecida — e é aqui que a função CHOOSE entra em ação para resolver esta tarefa.
Escolher aleatoriamente um valor de uma lista:
Fórmula:
=CHOOSE(RANDBETWEEN(1,5),$D$2,$D$3,$D$4,$D$5,$D$6)
Explicação:
RANDBETWEEN(1,5):index_num, obtém aleatoriamente um número entre 1 e 5
$D$2,$D$3,$D$4,$D$5,$D$6:a lista de valores a partir da qual escolher 
Ex5 – Combinar as funções CHOOSE e VLOOKUP para Valor de retorno em Coluna Mais à Esquerda
Geralmente, utiliza-se a função VLOOKUP =VLOOKUP (value, table, col_index, [range_lookup])para devolver um valor com base num valor fornecido a partir de um intervalo de tabela, mas utilizando a funçãoVLOOKUP, será devolvido um valor de erro quando o Coluna de retorno estiver à esquerda da coluna de procura, conforme mostrado na imagem abaixo:
Neste caso, pode combinar a função CHOOSE com a função VLOOKUP para resolver este desafio.
Fórmula:
=VLOOKUP(E1,CHOOSE({1,2},B1:B7,A1:A7),2,FALSE)
Explicação:
CHOOSE({1,2},B1:B7,A1:A7):como argumento intervalo_tabela na função VLOOKUP. {1,2} significa apresentar 1 ou 2 como argumento index_num com base no argumento núm_col da função VLOOKUP. Aqui, o núm_col na função VLOOKUP é 2, logo a função CHOOSE apresenta-se como CHOOSE(2, B1:B7,A1:A7), o que significa escolher o valor de A1:A7. 
Ex6 – Devolver o dia da semana ou mês com base numa data fornecida
Com a função CHOOSE, pode também obter o dia da semana e o mês correspondentes com base numa data fornecida.
Fórmula 1:devolver o dia da semana a partir de uma data
=CHOOSE(WEEKDAY(),"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
Explicação:
WEEKDAY():o argumento index_num obtém o número do dia da semana correspondente à data fornecida; por exemplo, WEEKDAY(A5) devolve 6, logo o argumento index_num é 6.
"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday":argumentos lista de valores, começando por «Domingo», já que o número do dia da semana «1» corresponde a «Domingo».
Fórmula 2:devolver o mês a partir de uma data
=CHOOSE(MONTH(),"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
Explicação:
MONTH():o argumento index_num, que obtém o número do mês a partir da data fornecida; por exemplo, MONTH(A5) devolve 3. 
Ex7 – Devolver a próxima data de dia útil ou fim de semana com base na data de hoje
No seu dia a dia, poderá precisar de calcular o próximo dia útil ou fim de semana com base na data de hoje. Aqui, a função CHOOSE também lhe pode dar uma ajuda preciosa.
Por exemplo, hoje é 12/20/2018, quinta-feira; agora precisa de obter o próximo dia útil e fim de semana.
Fórmula 1:obter a data de hoje
=TODAY()
Resultado: 12/20/2018
Fórmula 2:obter o número do dia da semana de hoje
=WEEKDAY(TODAY())
Resultado: 5 (enquanto hoje é 12/20/2018)
A lista de números dos dias da semana é apresentada na imagem abaixo:
Fórmula 3:obter o próximo dia útil
=TODAY()+CHOOSE(WEEKDAY(TODAY()),1,1,1,1,1,3,2)
Explicação:
Today():devolver a data atual
WEEKDAY(TODAY()):argumento index_num na função CHOOSE, obtém o número do dia da semana de hoje; por exemplo, domingo é 1, segunda-feira é 2…
1,1,1,1,1,3,2: argumento com a lista de valores na função CHOOSE. Por exemplo, se WEEKDAY(TODAY()) devolver 1 (domingo), escolhe o primeiro valor da lista; assim, toda a fórmula passa a ser =TODAY()+1, o que significa adicionar 1 dia para obter a próxima segunda-feira. Se WEEKDAY(TODAY()) devolver 6 (sexta-feira), escolhe o sexto valor da lista — ou seja, 3 —, pois sexta-feira está a 3 dias da próxima segunda-feira.
Resultado (enquanto hoje é 12/20/2018):
=12/20/2018+CHOOSE(5,1,1,1,1,1,3,2)
=12/20/2018+1
=12/21/2018
Fórmula 4:obter o próximo fim de semana
=TODAY()+CHOOSE(WEEKDAY(TODAY()),6,5,4,3,2,1,1)
Explicação:
6,5,4,3,2,1,1: argumento com a lista de valores na função CHOOSE. Por exemplo, se WEEKDAY(HOJE()) devolver 1 (domingo), é escolhido o valor 6 da lista; assim, toda a fórmula passa a ser =HOJE()+6, o que significa adicionar 6 dias e obter o próximo sábado.
Resultado:
=12/20/2018+CHOOSE(5,6,5,4,3,2,1,1)
=12/20/2018+2
=12/22/2018 
As Melhores Ferramentas de Produtividade para o Office
Kutools for Excel – Ajuda-o a destacar-se da multidão
Kutools for Excel Oferece mais de 300 funcionalidades,garantindo que tudo o que precisa está a apenas um clique…
Office Tab – Ative a leitura e edição com separadores no Microsoft Office (incluindo o Excel)
- Um segundo para alternar entre dezenas de documentos abertos!
- Reduza centenas de cliques diários e diga adeus à tendinite do rato.
- Aumente a sua produtividade em 50 % ao visualizar e editar vários documentos simultaneamente.
- Traz uma navegação eficiente com separadores ao Office (incluindo o Excel), tal como no Chrome, Edge e Firefox.
