Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Función Choose en VBA

| 10 comentarios

La función CHOOSE devuelve un valor desde una lista de opciones dependiendo del valor de "indice" .

Sintaxis de Choose 

Choose(índice, opción-1[, opción-2, ... [, opción-n]])

Donde "indice" es una expresión numerica y "opción-" puede ser un numero, una referencia de celda, formula o texto.

Para que sirve la función Choose en Excel

La importancia de la función Choose radica en la posibilidad de poder elegir un elemento de un conjunto de elementos posibles, demos tener cuidado en el caso por ejemplo en el uso de Elegir, que los elementos deben ser indicados uno a uno, no se puede indicar un rango de celdas, por ejemplo

=ELEGIR(3,C21,D21,E21:F21)

Nos mostraría un error   #¡VALOR!, el mismo error se producirá si hacemos referencia a un número de elemento no existente como en el siguiente ejemplo.

=ELEGIR(10,C21,D21,E21:F21)

Ejemplo de Función Elegir en Excel 

Primero veamos como se podría emplear la  función elegir en Excel, sin tener que empelar macros, en el siguiente ejemplo se desea sumar la cantidad de animales que se esta criando en una granja para ello se genera una formula sumar las columnas que contenga la cantidad de animales:

WS3 300x222 Función Choose en VBA

(Para mayor visualización de la imagen, hacer click en la misma)

Ejemplo de función "choose" en VBA

Se desea que la variable "Lvalor" contenga el valor "Ave" para ello se define a "Lvalor" como una variable de tipo string despues "Lvalor" se le asigna la función "choose"donde elegimo como indice=1 siendo la primera opción el valor "Ave".

Función Choose en VBA

 

Elaborado por: Adrián Bustos

10 comentarios

  1. Buen aporte, he probado choose en algunas macros y funciona muy bien para obtener información de una base de datos.

  2. Excelente función, te permite ahorrar mucho tiempo para la realización de múltiples operaciones con muchas variables.

  3. Es la primera vez que trabajo con esta fórmula, me parece útil para trabajos con una base de datos amplia

  4. Esta función me parece bastante útil, ya que a menudo se presentan las situaciones en que debemos escoger algún valor dentro de una serie de ellos, dependiendo de algún parámetro.

    En algunas ocasiones nos evitaría escribir condicionales largas facilitando y descargando un poco los bloques de códigos a veces muy densos. Además se puede utilizar dentro de otras funciones (anidada) como artificio para cambiar algún parámetro de cálculo.

    Creo que el verdadero potencial de esta función se da cuando tenemos cargada información mediante un arreglo y tenemos que escoger dentro de un gran numero de datos.

  5. Tengo una duda respecto al parámetro "índice" en el ejemplo, este indica la posición que tiene en la lista tipo? y en que casos (para el mismo ejemplo) se utilizaría como índice=3 o índice=4. Gracias por su respuesta.

  6. Jessy, xq no usar el contar si conjunto?

  7. Sería muy útil usar esta función en un almacén, donde podrían existir muchos productos y familias de productos. Esta función ayudaría mucho a mantener contabilizado el stock del almacén.

  8. ¿Esta función llega a convertir a la celda en un filtro? Es decir, en una base de datos, utilizar la función choose para encontrar algún tipo de dato especifico.

  9. que version de excel deberia de probar
    porque a mi no me toma ningun valor la variable lvalor

    Sub ejemplo()
    Dim lvalor As String
    lvalor = Choose(1, ave, mamifero)
    Stop
    End Sub

    • Faltan las comillas dobles, sin ellas ave y mamífero serían variables vacías.

Deja una respuesta

Los campos requeridos estan marcados con *.