Optimizar o modificar fórmula condicional para un funcionamiento correcto

Tengo la siguiente formula, que me sirve para mostrar algunas frases de acuerdo a la nota, el uso es para boletines automatizados de estudiantes que le muestran su rendimiento cualitativo de acuerdo al cuantitativo, pero no logro hacerla funcionar me salen errores como " #¿Nombre?, #Valor, quisiera que me ayuden a optimizarla o encontrar tal vez otra forma para llegar al mismo resultado, con macros también podría ser.

(En la fórmula se puede observar que he intentado con la asignación de "nombres" a rangos, nombre de celda directo)

Desde ya, muchas gracias a todos

=SI(B10<49;"";
SI(B10=50;una('Indicadores Soc'!B1:B4);
SI(B10=51;'Indicadores Soc'!L7;
SI(B10=52;una(cincuenta2);
SI(B10=53;una(cincuenta3)
SI(B10=54;una(cincuenta4);
SI(B10=55;una(cincuenta5);
SI(B10=56;una(cincuenta6);
SI(B10=57;una(cincuenta7);
SI(B10=58;una(cincuenta8);
SI(B10=59;una(cincuenta9);
SI(B10=60;una(sesenta);
SI(B10=61;una(sesenta1);
SI(B10=62;una(sesenta2);
SI(B10=63;una(sesenta3);
SI(B10=64;una(sesenta4);
SI(B10=65;una(sesenta5);
SI(B10=66;una(sesenta6);
SI(B10=67;una(sesenta7);
SI(B10=68;una(sesenta8);
SI(Y(B10>=70;B10<=73);una(setenta);
SI(B10=74;'Indicadores Soc'!B70;
SI(Y(B10=75;B10<=78);'Indicadores Soc'!B71;
SI(Y(B10=79;B10<=80);'Indicadores Soc'!B72;
SI(B10=81;'Indicadores Soc'!B73;
SI(Y(B10>=82;B10<=83);'Indicadores Soc'!B74;
SI(Y(B10>=84;B10<=88);'Indicadores Soc'!B76;
SI(Y(B10>=89;B10<=90);'Indicadores Soc'!B77;
SI(B10=91;'Indicadores Soc'!B78;
SI(B10=92;'Indicadores Soc'!B79;
SI(B10=93;'Indicadores Soc'!B80;
SI(B10=94;'Indicadores Soc'!B81;
SI(Y(B10>=95;B10<=98);'Indicadores Soc'!B82;
SI(B10=99;'Indicadores Soc'!B84;
SI(B10=100;'Indicadores Soc'!B85;"muy satisfactorio")))))))))))))))))))))))))))))))))))

1 respuesta

Respuesta
2

Antes de pasar a una macro intentaría resolverlo con fórmulas.

Debieras armar una lista ( o quizás ya la tengas en hoja Indicadores) con los valores y sus textos. En mi ejemplo utilicé las col E:F (solo un par de valores para graficar la idea).

Y en la celda donde quieras el texto coloca la función BUSCARV o CONSULTAV según la que aparezca en tu Excel.

Si no deseas utilizar una tablita auxiliar deja una imagen de la hoja Indicadores Soc porque no queda muy clara la idea... en algunos casos indicas 1 celda como B85 y en otras un rango.

* Si el tema queda resuelto recuerda valorar la respuesta (Buena o Excelente) . Sino comenta o solicita aclaraciones.

Buena día Elsa, muchas gracias por tomarse el tiempo de responderme, para explicarle mejor mi idea subí un ejemplo a este host: http://www12.zippyshare.com/v/MmkTHvLz/file.html

1er Cuadro (en verde) (edicion manual )

=SI(C6<50;"";
SI(Y(C6>=50;C6<=55);"No se preocupa por encontrar solución a los conocimientos impartidos en clases. Entrega sus tareas con irregularidades";
SI(Y(C6>=55;C6<=60);"Aplica los conocimientos aprendidos en la escuela y en su entorno familiar. es muy distraído en clases.";
SI(Y(C6>=61;C6<=65);"Se esfuerza por adquirir más conocimiento impartido en la escuela. Es solidaria con sus compañeros";
SI(Y(C6>=66;C6<=69);"Comprende los contenidos desarrollados y tiene interés en 

2do cuadro en (azul claro) (Tomando los valores de otra hoja y facil para modificar)

=SI(C11<50;"";
SI(Y(C11>=50;C11<=55);'Indicadores Soc'!B1;
SI(Y(C11>=55;C11<=60);'Indicadores Soc'!B2;
SI(Y(C11>=61;C11<=65);'Indicadores Soc'!B4;
SI(Y(C11>=66;C11<=69);'Indicadores Soc'!B5;
SI(Y(C11>=70;C11<=73);"Aplica los conocimientos aprendidos en la escuela y su familia. Pone atención con sus compañeros cuando hablan del desarrollo de contenido";

3er cuadro en rojo (formula para encontrar un valor en un rango, así no se hace repetitivo si varios estudiantes tienen la misma nota y por lo tanto la misma valoracion cualitativa)

=SI(C16<50;"";
SI(Y(C16>=50;C16<=55);INDICE('Indicadores Soc'!B1:B4;ENTERO(ALEATORIO()*CONTAR('Indicadores Soc'!B1:B4));1);
SI(Y(C16>=55;C16<=60);'Indicadores Soc'!B7;
SI(Y(C16>=61;C16<=65);'Indicadores Soc'!B9;
SI(Y(C16>=66;C16<=69);'Indicadores Soc'!B10;
SI(Y(C16>=70;C16<=73);"Aplica los conocimientos aprendidos en la escuela y su familia. Pone atención con sus compañeros cuando hablan del desarrollo de contenido";

y esta es la hoja indicadores soc

Gracias por su ayuda Elsa

Los rangos los conformarían todos los números 50, 51 etc.

Gracias otra vez.

Saludos

No sé si comprendí bien.. la duda se presenta en que si tomas solo los enteros nunca te aparecerán los textos por ej del 51,1 o del 52,2.

Si la idea es tomar de manera aleatoria los enteros de los rangos, esta sería la fórmula (falta completarla al resto).

=SI(C24<=50;"";

SI(Y(C24>50;C24<=55);CONSULTAV(ENTERO(ALEATORIO.ENTRE(51;55));'Indicadores Soc'!A:B;2;FALSO);
SI(Y(C24>55;C24<=60);CONSULTAV(ENTERO(ALEATORIO.ENTRE(56;60));'Indicadores Soc'!A:B;2;FALSO))))

Te falta ajustar el tema de los signos... no se encuentra el valor 50 en la tabla por eso la 2da línea arranca desde 51, y en fila 11 se contempla el = 55 en 2 argumentos.

Sdos!

Mil disculpas si no me dejo entender, con esta imagen quedara más claro

La columna "A" es solo una referencia para ver las valoraciones cualitativas que puedo usar, las valoraciones están escritas en la columna "B", la idea es que si sale "52" en digamos en "A1" en "B2" me salga cualquiera de las valoraciones cualitativas que tienen se puede usar como referencia en el rango de "52", así si varios estudiantes tienen 52 en sus calificaciones no les saldrá la misma valoración evitando que sea repetitivo.

En las otras fórmulas funcionaba pero a "medias" en las que mencione primeramente y es por eso que acudo a su conocimiento para obtener una fórmula más adecuada.

Muchas gracias por darse tiempo de responder a estas dudas.

Saludos Elsa

Un último intento ;)

Las notas serán los valores enteros y los mensajes en el rango con decimales, ¿vamos bien?

Es decir que si alguien saca un 52 puede aparecerle (de modo aleatorio) algunos de los mensajes entre filas 10 y 14.

Y si saca 53 le aparecerán mensajes de las filas 15 a la 19...

Si esto es correcto la fórmula sería (para la fila 16... falta completar el resto)

=SI(C16<50;"";
SI(C16=50;CONSULTAV(REDONDEAR(ALEATORIO()*('Indicadores Soc'!A5-'Indicadores Soc'!A2)+'Indicadores Soc'!A2;1);'Indicadores Soc'!A1:B5;2;FALSO);
SI(C16=51;CONSULTAV(REDONDEAR(ALEATORIO()*('Indicadores Soc'!A10-'Indicadores Soc'!A6)+'Indicadores Soc'!A6;1);'Indicadores Soc'!A6:B10;2;FALSO);
SI(C16=52;CONSULTAV(REDONDEAR(ALEATORIO()*('Indicadores Soc'!A15-'Indicadores Soc'!A11)+'Indicadores Soc'!A6;1);'Indicadores Soc'!A11:B15;2;FALSO)))))

PD) Creo que te falta el valor 50 en la tabla de Indicadores... para darle lugar a los textos entre 51,1 y 52.

Te puedo enviar una hoja con otro ejemplo utilizando ALEATORIO. ENTRE ... podes solicitarmela a alguno de los correos que aparecen en mi sitio que dejo al pie.

¡Gracias! Es justamente lo que necesitaba. Gracias por su ayuda Elsa!, me tuvo varios días ansioso de resolverlo ja ja,

Muchas gracias otra vez.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas