Jump to content

Archived

This topic is now archived and is closed to further replies.

anapaocg007

No funciona mi fórmula SIERROR anidada con función SI y SUMA

Recommended Posts

Buen día compañeros,

En las celdas "L12, L15, L18 y L21 " el valor máximo debe ser de 100% despúes del cálculo para el desempeño alcanzado que se realiza basandome en la celda naranja, intenté hacer eso con esta fórmula

=SIERROR(SIERROR((SI($M$6="1Q",(G13/G12),SI($M$6="2Q",(SUMA(G13:H13)/SUMA(G12:H12)),SI($M$6="3Q",(SUMA(G13:I13)/SUMA(G12:I12)),(SUMA(G13:J13)/SUMA(G12:J12)))))),0),SI(SI($M$6="1Q",(G13/G12),SI($M$6="2Q",(SUMA(G13:H13)/SUMA(G12:H12)),SI($M$6="3Q",(SUMA(G13:I13)/SUMA(G12:I12)),(SUMA(G13:J13)/SUMA(G12:J12)))))>=100,100))

la parte en negritas es, según mi criterio, donde intenté anidar la prueba lógica para lograr lo que les comenté en el primer párrafo.

Adjunto ejemplo con fórmulas

ARCHIVO EJEMPLO.xlsx

Share this post


Link to post
Share on other sites

Hola! Para carlcular el % yo hubiera usado una fórmula del estilo

=SUMA(DESREF(G13;;;1;COINCIDIR(M6;G10:J10)))/SUMA(DESREF(G12;;;1;COINCIDIR(M6;G10:J10)))

(creo que soy fanático de la función DESREF jeje).

Que con el agregado de la función SI quedaría de la siguiente manera:

=SI(SUMA(DESREF(G13;;;1;COINCIDIR(M6;G10:J10)))/SUMA(DESREF(G12;;;1;COINCIDIR(M6;G10:J10)))>=100%;100%;SUMA(DESREF(G13;;;1;COINCIDIR(M6;G10:J10)))/SUMA(DESREF(G12;;;1;COINCIDIR(M6;G10:J10))))

Si quisieras adaptar esas fórmulas a las siguientes actividades deberías revisar cuales celdas deben hacerse con referencias absolutas!

Debes cambiar los ";" por "," ya que veo que ese es tu separador de agumentos ;)

Saludos!

Share this post


Link to post
Share on other sites

Muchas gracias por tu respuesta Cristian, sin embargo la fórmula que propones, en caso que la fila contenga ceros, me arroja un valor #¡DIV/0! y esto me causa problemas, veo que tampoco toma en cuenta el rango dinámico que ya había puesto para que identifique el cuarto 1Q, 2Q .. de la celda M6 .. Estoy leyendo sobre la función DESREF ya que es nueva para mí y los argumentos se ven algo complejos.

Share this post


Link to post
Share on other sites

Ya lo pude resolver, gracias!

 

=SI((SIERROR((SI($M$6="1Q",(G13/G12),SI($M$6="2Q",(SUMA(G13:H13)/SUMA(G12:H12)),SI($M$6="3Q",(SUMA(G13:I13)/SUMA(G12:I12)),SI($M$6="4Q",(SUMA(G13:J13)/SUMA(G12:J12))))))),0))>=100%,100%,(SIERROR((SI($M$6="1Q",(G13/G12),SI($M$6="2Q",(SUMA(G13:H13)/SUMA(G12:H12)),SI($M$6="3Q",(SUMA(G13:I13)/SUMA(G12:I12)),SI($M$6="4Q",(SUMA(G13:J13)/SUMA(G12:J12))))))),0)))

Share this post


Link to post
Share on other sites
Hace 13 minutos , anapaocg007 dijo:

Me parece que la función DESREF no aplica para este archivo

Creo que tienes razón, para adaptarla precisaría algo así como

=SI(SUMA(DESREF(G12;;;1;COINCIDIR(M6;G10:J10)))=0;0;SI(SUMA(DESREF(G13;;;1;COINCIDIR(M6;G10:J10)))/SUMA(DESREF(G12;;;1;COINCIDIR(M6;G10:J10)))>=100%;100%;SUMA(DESREF(G13;;;1;COINCIDIR(M6;G10:J10)))/SUMA(DESREF(G12;;;1;COINCIDIR(M6;G10:J10)))))

Lo que haría demasiado larga la fórmula...

Los rangos dinámicos si se tienen en cuenta en mi fórmula, lo hago con función COINCIDIR que determina hasta qué columna deben realizarse las sumas (faltaría comprobar si los resultados son correctos).

Edito: Que bueno! veo que llegaste a la solución que buscabas igualmente!  :D

Share this post


Link to post
Share on other sites

¡Hola, a todos!

Dejo 3 opciones para la resolución.

1era opción (sin funciones volátiles):

=SI.ERROR(MIN(1;SUMA($G13:INDICE($G13:$J13;COINCIDIR(M$6;G$10:J$10;)))/SUMA($G12:INDICE($G12:$J12;COINCIDIR(M$6;G$10:J$10;))));)

2da opción (con funciones volátiles):

=SI.ERROR(MIN(1;PRODUCTO(SUMAR.SI(DESREF($G12;{0;1};;;COINCIDIR(M$6;G$10:J$10;));">0")^{-1;1}));)

3ra opción (mi preferida - sin funciones volátiles):

=SI.ERROR(MIN(1;PRODUCTO(MMULT((M$6>=G$10:J$10)*G12:J13;{1;1;1;1})^{-1;1}));)

Nota: Mi separador de argumentos es ";".  Si no es el tuyo, cámbialo por "," o por el que maneje tu sistema (Excepto en la constante matricial {1;1;1;1} y {-1;1} --> Déjala con el ";" que representa una constante matricial de filas).

Nota2:  Si estás usando la función SIERROR (Sin el punto), es porque estás usando una versión Excel 2010 desactualizada.  Puedes aplicarle el SP1 (Service Pack 1 para Office 2010) como mínimo para que no uses las funciones con su notación antigua.  En caso que quieras seguir usando las funciones antiguas, o no puedas actualizar al SP1 por lo menos, quítale el punto a la función SI.ERROR.  ¡Bendiciones!

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

Responsable: Sergio Andrés Celemín

Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.

Legitimación: Consentimiento del interesado.

Destinatarios: Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso,
rectificación, supresión, oposición y demás derechos legalmente establecidos a
través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.




×
×
  • Create New...

Important Information

Privacy Policy