Cambiar Funcion Si Anidada por Función BuscarV

A los integrante de este foro, en esta ocasión recurro a uds para que brinden su asesoramiento en como cambiar una función del SI ANIDADA por la función BUSCARV, para lo cual detallo formula que se usa:

si.error(redondear(si(o(j8="coj3",j8="coj2",j8="coj1",j8="maj3",j8="maj2",j8="maj1",j8="toj3",j8="toj2",j8="toj1"),cias.,si(o(j8="daj3",j8="daj2",j8="daj1"),daap,si(o(j8="gaj3",j8="gaj2",j8="gaj1",j8="seg3",j8="seg2",j8="seg1"),gaviero,si(o(j8="ssg3",j8="ssg2",j8="ssg1"),super,si(o(j8="lbj3",j8="lbj2",j8="lbj1"),lbj,si(o(j8="wej3",j8="wej2",j8="wej1",j8="mej3",j8="mej2",j8="mej1",j8="bej3",j8="bej2",j8="bej1",j8="coj3",j8="coj2",j8="coj1",j8="tej3",j8="tej2",j8="tej1",j8="atj3",j8="atj2",j8="atj1",j8="dtj3",j8="dtj2",j8="dtj1",j8="exj3",j8="exj2",j8="exj1",j8="caj3",j8="caj2",j8="caj1",j8="bmj3",j8="bmj2",j8="bmj1",j8="bbj3",j8="bbj2",j8="bbj1",j8="maj3",j8="maj2",j8="maj1",j8="mmj3",j8="mmj2",j8="mmj1",j8="baj3",j8="baj2",j8="baj1",j8="apj3",j8="apj2",j8="apj1",j8="opj3",j8="opj2",j8="opj1",j8="boj3",j8="boj2",j8="boj1",j8="cmj3",j8="cmj2",j8="cmj1",j8="cuj3",j8="cuj2",j8="cuj1",j8="ltj3",j8="ltj2",j8="ltj1"),maniobraa,0)))))),5),"")

la cual esta estructurada en 6 opciones:

si(o(j8="coj3",j8="coj2",j8="coj1",j8="maj3",j8="maj2",j8="maj1",j8="toj3",j8="toj2",j8="toj1"),cias.

si(o(j8="daj3",j8="daj2",j8="daj1"),daap

si(o(j8="gaj3",j8="gaj2",j8="gaj1",j8="seg3",j8="seg2",j8="seg1"),gaviero

si(o(j8="ssg3",j8="ssg2",j8="ssg1"),super

si(o(j8="lbj3",j8="lbj2",j8="lbj1"),lbj

si(o(j8="wej3",j8="wej2",j8="wej1",j8="mej3",j8="mej2",j8="mej1",j8="bej3",j8="bej2",j8="bej1",j8="coj3",j8="coj2",j8="coj1",j8="tej3",j8="tej2",j8="tej1",j8="atj3",j8="atj2",j8="atj1",j8="dtj3",j8="dtj2",j8="dtj1",j8="exj3",j8="exj2",j8="exj1",j8="caj3",j8="caj2",j8="caj1",j8="bmj3",j8="bmj2",j8="bmj1",j8="bbj3",j8="bbj2",j8="bbj1",j8="maj3",j8="maj2",j8="maj1",j8="mmj3",j8="mmj2",j8="mmj1",j8="baj3",j8="baj2",j8="baj1",j8="apj3",j8="apj2",j8="apj1",j8="opj3",j8="opj2",j8="opj1",j8="boj3",j8="boj2",j8="boj1",j8="cmj3",j8="cmj2",j8="cmj1",j8="cuj3",j8="cuj2",j8="cuj1",j8="ltj3",j8="ltj2",j8="ltj1"),maniobraa

Para lo cual quisiera que esta formula del SI ANIDADA sea cambiada por un BUSCARV y como verán son 6 opciones y cada uno tiene un nombre de rango distinto CIAS. - DAAP - GAVIERO - SUPER - LBJ - MANIOBRAA (contiene su propio valor que proviene de otro hoja).

Link

https://drive.google.com/file/d/1FhpTVkamEKgZ9N8c3-NBLfvb3bZhPQKr/view?usp=sharing 

1 Respuesta

Respuesta
1

Creo que la forma más sencilla (no lo digo tanto por la fórmula, sino por el mantenimiento en caso que luego tengas que hacer alguna modificación) es usar una tabla, pero no de la manera que tu piensas, sino algo con todas las opciones:

Uno de los problemas de tener este tipo de códigos: en tus SI anidados, las claves COJ... están tanto para el valor 'cias' como para el valor 'maniobraa' (en esta última opción no entrará nunca, ya que siempre encontrará la primer clave)

Suponiendo que no existen valor terminados en 4,5, etc o, en caso que sí existan, que tengan la misma clave que los actuales de 1 a 3, entonces te dejo 2 posibles formas de implementar lo que quieres

Salu2

Buenos dias Gustavo Omar Fellay para indicar que la formula brinda esta OK, pero mi interrogante era que al usar la funcion BUSCARV permita la realizar la búsqueda dentro 6 o mas tablas, y al encontrar el valor buscando dentro de las tablas MANIOBRAA, CIAS., DAAP, GAVIERO, SUPER y LBJ se refleje el valor que corresponde a cada valor buscado considerando como NOMBRE DE RANGO.

Ya que como aprecia en la formulacion de SI ANIDADO verifica si el valor solicitado esta en la cadena, se le asigna el valor de dicha cadena.

Desde ya agradezco nuevamente tu apoyo.

Ahora entendí y lo que estás pidiendo no creo que pueda hacerse con fórmulas. Sí puede hacerse con macros, pero si el archivo es grande sería muy lenta, ya que tiene que hacer la búsqueda por cada una de los nombres que estén definidos en la hoja y cada celda que pertenezca a ese rango (eso es asumiendo que en la imagen que me pasaste los valores de la fila 1 definen el rango y no es un 'simple título')

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas