jueves, 19 de enero de 2012

El criterio O (Or) en SUMA de Excel.

Estamos muy acostumbrados a trabajar con varias condiciones que deben verificarse al mismo tiempo, es decir, a aplicar criterios tipo Y (And); hoy veremos una forma de trabajar con sumas en caso de querer obtener unresultado condicionado al criterio O (Or).
Como solicitaba un lector:


...se usa un anidamiento de funciones SI() para producir el mismo efecto que si encadenáramos condiciones con Y() que posiblemente no funcionen en un esquema matricial. ¿Cuál sería la sintaxix de SUMA.SI() matricial para producir el efecto de O() en la condición, o sea, que la condición se considere verdadera cuando cualquiera de dos o tres términos sea verdadero?
Gracias....

Partiremos de una tabla de datos con campos Edad, Peso y Kcal necesarias, y queremos obtener el total de Kcal necesarias para personas con una Edad inferior a 27 o un Peso mayor de 65 kilos:

El criterio O (Or) en SUMA de Excel.

La fórmula matricial que buscamos es:
{=SUMA(SI(A2:A7>27;C2:C7))+SUMA(SI(B2:B7<65;C2:C7))}
o también
{=SUMA(SI(A2:A7>27;C2:C7);SI(B2:B7<65;C2:C7))}
que en la práctica es como si se calcularan las sumas por separado, como se desglosa en la imagen:

El criterio O (Or) en SUMA de Excel.

Vemos como, trabajando por columnas auxiliares, para obtener sólo las Kcal necsarias que corresponden a Edades superiores a 25, aplicamos un condicional sencillo:
=SI(A2<27;C2;0)
para cada registro.
De igual forma, en la columna F, para conseguir los registros válidos para pesos mayores a 65 aplicamos:
=SI(B2>65;C2;0)
Si sumaramos los valores obtenidos, obviamente, alcanzaríamos el mismo resultado que con nuestra matricial:
{=SUMA(SI(A2:A7>27;C2:C7))+SUMA(SI(B2:B7<65;C2:C7))}

8 comentarios:

  1. no te saldría el mismo resultado trabajando con sumar.si? o para las versiones 2007 o 2010, sumar.si.conjunto?

    ResponderEliminar
  2. Hola Carlos,
    si empleas SUMAR.SI.CONJUNTO estás forzando una condición AND, es decir, que se verifiquen al tiempo ambas condiciones, no una u otra.
    Slds

    ResponderEliminar
  3. Tengo un cuadro en excel de boletines de notas con 1,2,3 lapsos y la Definitiva del año.tengo gue calcular el promedio de Notas al tener los tres lapsos.El problema es que al colocar "*" cuando no tiene nota por retiro o reposo de algun profesor.al colocar las formulas en definitiva del año no da el resultado correcto.ejemp. No puede tener espacios en "".
    NC:No cursa la Materia,I:Inacistente

    1º /2º/3º/ Def.del año
    15/* /* / *
    . /. /. / .
    ./. /. / .
    en el 2do lapso

    1º /2º/3º/ Def.del año
    15/15/* / *
    . /./. / .
    ././. / .

    en el 3er lapso al tener todas las notas

    1º /2º /3º / Def.del año
    15/15 /15 / 15
    NC/NC/NC/ NC
    12/14 / * / *
    I / I / I / I
    16/*/ 15/ *
    */* / 16/ 16
    14/*/ */ *
    */*/ 14/ 14

    El problema es que cuando no tiene nota en el Laoso se coloca un "*" y no da el Promedio correcto en Defin.del Año.Hay alguna fórmula que pueda dar el promedio correcto?.

    ResponderEliminar
    Respuestas
    1. Hola Luis,
      no sé como estás calculando el promedio ahora mismo para que no te devuelva el correcto, pero tienes una opción sencilla con la función PROMEDIO(rango).
      Por ejemplo, para el primer alumno el rango de los 3 lapsos es A2:C2, en la columna Def. del año, incluirías =PROMEDIO(A2:C2)
      de esta forma daría igual que en algún lapso tuvieras * o vacío, calcularía el promedio de las notas existentes (1, 2 o 3).
      Espero haberte entendido correctamente...
      si no es así, envíame el fichero a
      excelforo@gmail.com
      Slds

      Eliminar
  4. gracias por responder.La cuestion es que son 3 lapsos y en cada lapso tengo que dar boletines con notas.Es desir en el 1er lapso se colocan las notas y el 2do lapso que todabia no tiene notas se coloca un "*" e igual mente el 3er lapso y la Definitiva del Año en "*",no se cálcula el promedio hasta que no tenga los tres lapsos.Ademas si los 3ºlapsos son NC o I deben aparecer en Def.del Año.cuando algun docente se retira o esta de reposo y no da notas en ningun lapso,se tiene que colocar un "*" en lugar de la nota y debe apareser en Def.del Año "*",El problema se complica cuando el docente no da notas en 1uno o 2dos lapsos,deberia cálcular en Dfi.del Año 1uno o 2dos lapsos dando el promedio de notas que tengan los lapsos,pero cuando se encuentra con un "*" en cualquiera de los lapsos no cálcula el promedio,coloca en Dfi.del Año"*".ESTOY UTILIZANDO ESTAS FUNCIONES =SI(Y(C23;D23;E23="NC");"NC";SI(Y(C23;D23;E23="*");"*";SI(Y(C23;D23;E23="I");"I";PROMEDIO.SI.CONJUNTO(C12:E23;C23:E23;"<70")))).Hay alguna formula que de el resultado correcto.

    ResponderEliminar
  5. Hola Luis,
    envíame un fichero con el ejemplo a
    excelforo@gmail.com
    y lo miro con más detenimiento...
    pero creo que estás empleando erroneamente la función PROMEDIO.SI.CONJUNTO.
    Slds

    ResponderEliminar
  6. "Partiremos de una tabla de datos con campos Edad, Peso y Kcal necesarias, y queremos obtener el total de Kcal necesarias para personas con una Edad inferior a 27 o un Peso mayor de 65 kilos:"

    Me parece ALUCINANTE que no te hayas dado cuenta de que las calorías de personas que cumplen a la vez los dos criterios están incluyéndose dos veces en la suma y produciendo un resultado erróneo.

    ResponderEliminar
    Respuestas
    1. Hola que tal,
      un placer saludarte igualmente.

      Siento haberte ofendido tan profundamente y de manera tan alucinante.

      Quizá se te escapa, o no he sabido explicar, lo que significa e implica el criterio OR/O...
      Lo que implica es que se sumará si se cumple una condición o la otra o las dos a la vez.. por tanto, salvo que me vuelva a equivocar (estoy abierto a explicaciones y correcciones al respecto), diría lo que se expone es correcto.

      Un cordial saludo

      Eliminar

Nota: solo los miembros de este blog pueden publicar comentarios.