Táboa de contidos
O titorial explica a sintaxe e os usos básicos da función CHOOSE e ofrece algúns exemplos non triviais que mostran como usar unha fórmula CHOOSE en Excel.
CHOOSE é un deses As funcións de Excel que poden non parecer útiles por si soas, pero combinadas con outras funcións ofrecen unha serie de beneficios incribles. No nivel máis básico, usa a función ESCOLLER para obter un valor dunha lista especificando a posición dese valor. Máis adiante neste titorial, atoparás varios usos avanzados que sen dúbida merecen a pena explorar.
Función EXCEL CHOOSE: sintaxe e usos básicos
A función ESCOLLE en Excel é deseñado para devolver un valor da lista en función dunha posición especificada.
A función está dispoñible en Excel 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010 e Excel 2007.
A sintaxe da función ESCOLLE é a seguinte:
ESCOLLE (número_índice, valor1, [valor2], …)Onde:
Número_índice (obrigatorio) - a posición do valor a devolver. Pode ser calquera número entre 1 e 254, unha referencia de cela ou outra fórmula.
Valor1, value2, … : unha lista de ata 254 valores entre os que escoller. O valor 1 é obrigatorio, os demais valores son opcionais. Poden ser números, valores de texto, referencias de celas, fórmulas ou nomes definidos.
Aquí tes un exemplo dunha fórmula CHOOSE na forma máis sinxela:
=CHOOSE(3, "Mike", "Sally", "Amy", "Neal")
A fórmula devolve "Amy" porque número_índice é 3 e "Amy" é o terceiro valor da lista:
Función EXCEL CHOOSE: 3 cousas para recordar!
CHOOSE é unha función moi sinxela e dificilmente terás dificultades para implementala nas túas follas de traballo. Se o resultado devolto pola túa fórmula CHOOSE é inesperado ou non é o que estabas buscando, pode deberse aos seguintes motivos:
- O número de valores para escoller está limitado a 254.
- Se número_índice é menor que 1 ou maior que o número de valores da lista, o #VALOR! devólvese o erro.
- Se o argumento número_índice é unha fracción, truncase ao número enteiro máis baixo.
Como usar a función ESCOLLER en Excel - fórmula exemplos
Os seguintes exemplos amosan como CHOOSE pode ampliar as capacidades doutras funcións de Excel e proporcionar solucións alternativas a algunhas tarefas comúns, mesmo para aquelas que moitos consideran inviables.
Excel CHOOSE en lugar de IF aniñados
Unha das tarefas máis frecuentes en Excel é devolver diferentes valores en función dunha condición especificada. Na maioría dos casos, isto pódese facer usando unha instrución IF aniñada clásica. Pero a función ESCOLLE pode ser unha alternativa rápida e fácil de entender.
Exemplo 1. Devolver valores diferentes en función da condición
Supoño que tes unha columna de puntuacións dos estudantes e queres etiquetar as puntuacións baseadas noseguintes condicións:
Resultado | Puntuación |
Mala | 0 - 50 |
Satisfactorio | 51 - 100 |
Bo | 101 - 150 |
Excelente | máis de 151 |
Unha forma de facelo é aniñar algunhas fórmulas IF unhas dentro das outras:
=IF(B2>=151, "Excellent", IF(B2>=101, "Good", IF(B2>=51, "Satisfactory", "Poor")))
Outro xeito é escoller unha etiqueta correspondente á condición:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Poor", "Satisfactory", "Good", "Excellent")
Como funciona esta fórmula:
No argumento número_índice , avalía cada condición e devolve VERDADEIRO se a condición se cumpre, FALSO en caso contrario. Por exemplo, o valor da cela B2 cumpre as tres primeiras condicións, polo que obtemos este resultado intermedio:
=CHOOSE(TRUE + TRUE + TRUE + FALSE, "Poor", "Satisfactory", "Good", "Excellent")
Dado que na maioría das fórmulas de Excel VERDADERO equivale a 1 e FALSO a 0, o noso a fórmula sofre esta transformación:
=CHOOSE(1 + 1 + 1 + 0, "Poor", "Satisfactory", "Good", "Excellent")
Despois de realizar a operación de adición, temos:
=CHOOSE(3, "Poor", "Satisfactory", "Good", "Excellent")
Como resultado, o 3º valor da devólvese a lista, que é "Bo".
Consellos:
- Para facer a fórmula máis flexible, pode usar referencias de cela en lugar de etiquetas codificadas, por exemplo:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), $E$1, $E$2, $E$3, $E$4)
- Se ningunha das túas condicións é VERDADEIRA, o argumento número_índice establecerase en 0 forzando a túa fórmula a devolver o #VALOR! erro. Para evitar isto, basta con envolver CHOOSE na función IFERROR do seguinte xeito:
=IFERROR(CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Poor", "Satisfactory", "Good", "Excellent"), "")
Exemplo 2. Realice diferentes cálculos en función da condición
De forma similar, tipode usar a función ESCOLLE de Excel para realizar un cálculo nunha serie de posibles cálculos/fórmulas sen aniñar varias instrucións IF unhas dentro das outras.
A modo de exemplo, calculemos a comisión de cada vendedor dependendo das súas vendas:
Comisión | Ventas |
5 % | $0 a $50 |
7 % | $51 a $100 |
10% | máis de $101 |
Co importe das vendas en B2, a fórmula toma a seguinte forma:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*5%, B2*7%, B2*10%)
En lugar de codificar as porcentaxes na fórmula, podes referirte á cela correspondente da túa táboa de referencia, se a hai. Só recorda corrixir as referencias usando o signo $.
=CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*$E$2, B2*$E$3, B2*$E$4)
Excel COOKE formula para xerar datos aleatorios
Como probablemente sabes, Microsoft Excel ten unha función especial para xerar enteiros aleatorios entre os números inferior e superior que especifique - función RANDBETWEEN. Anídea no argumento número_índice de CHOOSE e a túa fórmula xerará case todos os datos aleatorios que desexes.
Por exemplo, esta fórmula pode producir unha lista de resultados aleatorios de exames:
=CHOOSE(RANDBETWEEN(1,4), "Poor", "Satisfactory", "Good", "Excellent")
A lóxica da fórmula é obvia: RANDBETWEEN xera números aleatorios do 1 ao 4 e CHOOSE devolve un valor correspondente da lista predefinida de catro valores.
Nota. RANDBETWEEN é unha función volátil e recalcula con cadacambio que realices na folla de traballo. Como resultado, a túa lista de valores aleatorios tamén cambiará. Para evitar que isto ocorra, pode substituír as fórmulas polos seus valores mediante a función Pegar especial .
ESCOLLE a fórmula para facer unha Busca V á esquerda
Se algunha vez realizaches unha busca vertical en Excel, sabes que a función BUSCAR V só pode buscar na columna máis á esquerda. Nas situacións nas que necesites devolver un valor á esquerda da columna de busca, podes usar a combinación INDEX/MATCH ou enganar a BUSCAR V ANIDANDO a función CHOOSE nela. Así é como:
Supoñendo que tes unha lista de puntuacións na columna A, os nomes dos estudantes na columna B e queres recuperar a puntuación dun alumno en particular. Dado que a columna de retorno está á esquerda da columna de busca, unha fórmula normal de Vlookup devolve o erro #N/D:
Para solucionar isto, obtén a función CHOOSE para intercambiar as posicións das columnas, dicíndolle a Excel que a columna 1 é B e a columna 2 A:
=CHOOSE({1,2}, B2:B5, A2:A5)
Porque proporcionamos unha matriz de {1,2} no núm_índice argumento, a función ESCOLLE acepta intervalos nos argumentos valor (normalmente non).
Agora, incrusta a fórmula anterior no argumento matriz_table de BUSCAR V:
=VLOOKUP(E1,CHOOSE({1,2}, B2:B5, A2:A5),2,FALSE)
E listo - realízase unha busca á esquerda sen problemas!
ESCOLLE a fórmula para devolver o seguinte traballo día
Se non está seguro de sedeberías ir mañá ao traballo ou podes quedarte na casa e gozar do teu merecido fin de semana, a función ESCOLLE de Excel pode saber cando é o seguinte día de traballo.
Asumindo que os teus días laborables son de luns a venres, a fórmula segue do seguinte xeito:
=TODAY()+CHOOSE(WEEKDAY(TODAY()),1,1,1,1,1,3,2)
Díficil a primeira vista, a lóxica da fórmula é fácil de seguir a primeira vista:
DÍA DA SEMANA (HOXE()) devolve un número de serie correspondente á data de hoxe, que vai do 1 (domingo) ao 7 (sábado). Este número vai ao argumento número_índice da nosa fórmula CHOOSE.
Valor1 - valor7 (1,1,1,1,1, 3,2) determine cantos días engadir á data actual. Se hoxe é domingo - xoves (index_num 1 - 5), engades 1 para volver ao día seguinte. Se hoxe é venres (núm_índice 6), engades 3 para volver o vindeiro luns. Se hoxe é sábado (index_num 7), engades 2 para volver o vindeiro luns. Si, é así de sinxelo :)
ESCOLLE a fórmula para devolver un nome de día/mes personalizado a partir da data
En situacións nas que queres obter un nome de día no formato estándar, como o nome completo ( Luns, martes, etc.) ou nome curto (Lun, Mar, etc.), pode utilizar a función TEXTO como se explica neste exemplo: Obter o día da semana a partir da data en Excel.
Se quere devolver un día da semana ou o nome dun mes nun formato personalizado, use a función ESCOLLER do seguinte xeito.
Para obter un día da semana:
=CHOOSE(WEEKDAY(A2),"Su","Mo","Tu","We","Th","Fr","Sa")
Para conseguir unmes:
=CHOOSE(MONTH(A2), "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
Onde A2 é a cela que contén a data orixinal.
Espero que este tutorial che dea algunhas ideas sobre como pode usar a función ESCOLLER en Excel para mellorar os seus modelos de datos. Grazas por ler e espero verte no noso blog a vindeira semana!
Descargar o libro de prácticas
Excel CHOSE function examples