Evitar IF anidados largos en la función de Excel

Evitar IF anidados largos en la función de Excel

Tengo una fórmula que se basa en dos entradas diferentes: la primera es un valor entero entre 0 y 5 y la segunda es la suma redondeada de valores en una matriz. Me gustaría que los usuarios ingresen valores para ambos y luego que una fórmula determine el resultado deseado. El problema es que ahora tengo 6 combinaciones para la primera variable y cada una da como resultado un cambio en cómo se usa la segunda variable. Como tal, necesitaría una gran cantidad de declaraciones IF para que esto funcione.

Tengo tablas configuradas en otros lugares, una para cada uno de 0 a 5, que determinan los valores correctos. Mi pregunta es, ¿hay alguna manera de hacer que Excel haga lo siguiente?

  1. Compruebe si se ha colocado del 0 al 5, por ejemplo, en la celda A2.

  2. Vaya a la hoja que contiene ese número.

  3. INDEX(...,MATCH())de la tabla en esa hoja en función tanto del número de valores colocados en la matriz como de cuáles son los valores.

Me pregunto si tendría más sentido evitar las tablas por completo y, en su lugar, intentar calcular directamente, pero no veo una manera de hacerlo que no dé como resultado un conjunto masivo de mensajes de correo electrónico anidados IF. Avíseme si algo aquí no está claro e intentaré explicarlo lo mejor que pueda.

Respuesta1

Si lo entiendo correctamente, debe crear una fórmula que realice una operación de índice/coincidencia con tablas que se encuentran en diferentes hojas de trabajo, donde el usuario selecciona en qué hoja de trabajo se debe buscar.

Parece que es posible que desee utilizar ELEGIR e INDIRECTO para crear dinámicamente la ruta a la hoja de trabajo adecuada en función del valor colocado en A2.

Por ejemplo, lo siguiente ejecutaría Match usando el valor encontrado en B2 contra las celdas en A1:A3 en la hoja de trabajo apropiada, donde la hoja de trabajo se basa en el valor (1,2,3) que el usuario puso en A2.

=MATCH(A2,(INDIRECT(CHOOSE(B2,"Sheet1","Sheet2","Sheet3") & "!" & "A1:A3")),0)

ELEGIR se utiliza aquí para observar una celda (A2) y, según el valor ingresado allí, genera el objeto con el índice correspondiente, que en este caso es el nombre de un libro de trabajo.

INDIRECTO le permite crear una ruta de celda sobre la marcha y, por lo tanto, incorpora el nombre correcto de la hoja de trabajo en la ruta que utilizará la función SUMA.

Por supuesto, si sus tablas tienen rangos con nombre o tienen diferentes tamaños, siempre puede cambiar el "A1:A3" estático en el ejemplo anterior por otra ELEGIR que generaría la parte correcta de la ruta según la entrada del usuario en otra celda.

Perdóneme si esto está completamente fuera de lugar con lo que está tratando de hacer. No estoy seguro de entender el paso 3 de su lista...

información relacionada