Hoy estaba enfrascado en una terrible decisión. Cómo hacer para elegir una fórmula que calcule de diferentes formas según el tipo de dato que tengo en otra celda… Mucho más fácil con un pequeño ejemplo:
Celda A1 igual a una de estas opciones:
- Sumar
- Multiplicar
- Dividir
- Restar
- Potencia
- Logaritmo
- Porcentaje
Lo que queremos es operar entre otras dos celdas. Es decir, si A1=Sumar entonces, el resultado de mi fórmula será la suma de C1 y C2. Si es multiplicar el resultado de mi fórmula será la multiplicación de C1 y C2
Esto puede resolverse encadenando múltiples SI pero yo necesito algo más sencillo puesto que tengo unas 15 posibles fórmulas diferentes que poder aplicar…
La solución a mi problema la he encontrado en la función ELEGIR.
Explicación
Esta función permite elegir un valor de una lista dado el índice de la lista.
Sintaxsis
=ELEGIR(índice;opción1;opción2;opción3;opción4;opción5;…)
Índice: número de la opción que queremos elegir.
Opción…: función o valor que tenemos.
Ejemplo sencillo
=ELEGIR(3;"Quique";"Enrique";"Qq")
El resultado de esta función es Qq, la opción 3 de mi lista de opciones.
Ejemplo complejo
Resolvemos el ejemplo anterior del que comentábamos:
=ELEGIR(mi_índice; C1+C2; 'suma C1*C2; 'multiplicar C1/C2; 'dividir C1-C2; C1^C2; LOG(C1;C2); C1/C2%; )
La idea feliz de este ejercicio es: cómo indico que si en A1=”Suma” entonces mi_índice sea igual a 1 o si elijo A1=”Dividir” mi_indice sea igual a 3… pues bien, para eso nos creamos una lista con el mismo orden en algún lugar de la hoja y donde pone mi_indice ponemos la siguiente fórmula:
=COINCIDIR(A1;rango lista de posibilidades;0)
En el siguiente enlace podéis ver el una hoja de excel con el ejemplo del que hemos estado hablando