El tema de hoy: sumar y contar con más de una condición. Ya he escrito sobre este tema, pero mi intención hoy es dar una idea general del método.
Excel ofrece dos funciones para sumar o contar condicionadamente: SUMAR.SI (SUMIF en la versión inglesa) y CONTAR.SI (COUNTIF). Estas funciones aceptan sólo una condición y su uso es sencillo.
La cuestión es cómo sumar o contar cuándo deben cumplirse varias condiciones.
Veamos un ejemplo sencillo de contar con una condición. Tenemos una lista de nombres, sexo y edades, y queremos saber cuántas personas hay en la lista mayores de 30 años.
Como pueden ver, la formula en la celda C13 es bien sencilla: =CONTAR.SI(C2:C11,">30")
Pero digamos que ahora queremos saber cuántas personas mayores de 30 años y de sexo masculino hay en la lista. La función CONTAR.SI no acepta dos condiciones. La solución es utilizar fórmulas matriciales o SUMAPRODUCTO como ya he mostrado.
Cómo funciona esto? Cuando Excel evalúa una expresión de tipo A1= B1 puede dar uno de dos resultados: FALSO (FALSE en inglés) o VERDADERO (TRUE). Falso está asociado con la cifra 0 (cero) y VERDADERO con el 1 (uno).
Cuando establecemos la condición "mayor de 30" Y "masculino", la palabra Y está asociada a la operación de multiplicar.
Como ejemplo, he escrito en el rango de celdas D2:D11 la fórmula =Y(C2>30,B2="masculino")
Ahora he agregado en el rango E2:E11 la formula =(C2>30)*(B2="masculino")
Como se puede ver, si sumamos todo el rango E2:E11 obtendremos el resultado 2, que es el número de personas que cumplen con las dos condiciones.
En lugar de efectuar la operación en dos etapas, primero evaluar cada miembro y luego sumar los resultados, podemos hacerla de una vez usando la función SUMAPRODUCTO de esta manera:
=SUMAPRODUCTO(((C2:C11)>30),((B2:B11)="masculino"))
la multiplicación por 1 dentro del paréntesis se hace para convertir los valores FALSO y VERDADERO a valores numéricos (0 y 1).
Otra alternativa es usar la función SUMA en una fórmula matricial, esto es, ingresándola apretando al mismo tiempo Control+Shift+Enter.
La fórmula es: ={SUMA(((C2:C11)>30)*((B2:B11)="masculino")*1)}
De esta manera podemos combinar varias condiciones que deben cumplirse simultáneamente.
En el caso de condiciones incluyentes, digamos, personas mayores de 40 o menores de 30, usaremos el operador "+" (sumar) en ligar de "*" (multiplicar):
={SUMA((((C2:C11)<30)+((c2:c11)>40))*1)}
Categorías: Funciones&Formulas_, Formulas Matriciales_
Muchas gracias por los consejos sobre excel, esta vez me han salvado de un buen aprieto, un saludo y gracias de nuevo
ResponderBorrarBuena resolución, me queda una duda, como usarias estas funciones si necesitas una suma de cantidades, por ejemplo, sumar la edad si es masculino y si el nombre es maria (no tiene sentido lo que pido pero es para ver como funcionaria la formula).
ResponderBorrarComo explico en la entrada, creamos una cadena de expresiones logicas que dan como resultado VERDADERO (1) o FALSO (0). SUMAPRODUCTO efectúa la multiplicación de las condiciones por la edad,de manera:
ResponderBorrarcondición 1 * condición 2 * edad
Cuando ambas condiciones 1 y 2 son verdaderas, se suma la edad ya que la multiplicación sería, por ejemplo: 1*1*34; si alguna de las condiciones no lo es, el resultado de la multiplicación será 0 (cero) y por lo tanto la edad no entra en la suma.
Si tienes alguna otra duda, no dejes de preguntarme.
Muchas gracias, son soluciones muy útiles.
ResponderBorrarOtra duda, que llevo tiempo intentando averiguar, si se tiene una columna con fechas y otra con importes, se podría utilizar alguna de estas fórmulas para sumar el importe si la fecha se encuentra entre dos fechas predeterminadas.
Gracias.
Para Excel fechas son numeros, como he explicado en esta entrada.
ResponderBorrarPor lo tanto pueden ser usadas como argumentos en la funcion SUMAR.SI (o cualquier otra funcion).
Hola Jorge
ResponderBorrar¿como puedo aplicar "contar.si" de la misma forma que trabaja "sumar.si" es decir que cuente discriminando ..
Una Abrazo..
Manuel L.B.
Manuel, fijate en la nota sobre el tema, como esta indicado en esta entrada.
ResponderBorrarque pasa si yo quiero que se sume una de las variables en otra tabla en el caso de que se cumplan las condiciones mencionadas, es decir, yo tengo para una celda dada las referencias de nombre y sexo que hay en la lista que vos propones y necesito que aparezca la edad de todos los que cumplan esa condicion sumada.
ResponderBorrarSupongamos que hay dos Juan masculino (en este caso las condiciones son redundantes ya que todos los Juan son masculinos) entonces necesito que busque de acuerdo a los datos de entrada y devuelva la suma de las edades.
¿como se hace?
Hola, en la "vida real" no usaríamos nombres propios sino referencias unequívocas como número de identidad o nombre y apellido. Si el nombre propio y el apellido aparecen en distintas columnas, se puede agregar una columna auxiliar con la combinación de ambos valores para crear un valor único.
ResponderBorrarFantástico, que solución tan ingeniosa, gracias por ilustranos.
ResponderBorrarMi pena es que cuando intento aplicarla, los valores lógicos siempre me salen como FALSO, posiblemente debido a que los datos de origen no se si son números o texto, y a pesar que los intento convertir (bien a número o a texto), no logro arreglarlo. !Qué desesperación!
¿Se le ocurre alguna solución?
Gracias anticipadas,
Luis
Hola Luis, puedes mandarme el archivo para que vea donde esta el problema.
ResponderBorrarMuchas gracias por la ayuda.
ResponderBorrar¿A que dirección de correo lo puedo enviar?
Saludos,
Luis
dunk@maaganm.co.il
ResponderBorrarQuiero agradecer públicamente la ayuda que, de forma desinteresada, me ha prestado Don Jorge.
ResponderBorrarResulta maravilloso encontrar personas con esta dispoción a enseñar y ayudar.
Mil gracias!
Me ha ida de fábula!! Muchas gracias!!
ResponderBorrarmi duda es cómo hacer eel mismo proceso de contar con dos condiciones pero en el caso que haya celdas en blanco. En ese caso me da error. Muchas gracias, me sirvieron mucho el curso
ResponderBorrarSi usas la función SUMAPRODUCTO, las celdas en blanco no producen error.
ResponderBorrarPuedes mandarme un ejemplo del problema (jorgedun@gmail.com)?
Un blog muy útil, sí señor. La función SUMAPRODUCTO me ha venido de perlas y aquí está mucho mejor explicada que la ayuda del Office.
ResponderBorrarMil gracias y enhorabuena por el blog!
mi problema es el siguiente: si cada 00:15:00(esto va en una celda) tengo que colocar en otra celda "25". como hago si yo coloco 00:34:45 y en la otra celda me salga automaticamente el numero siguiente que seria "50". nose si me explico. de ser asi. por favor ayudenme
ResponderBorrarHola Luis
ResponderBorrarno logro entender tu consulta. Te sugiero que me envíes un archivo con el problema a jorgedun@gmail.com.
hola jorge, he estado viendo tu blog y me parece genial.
ResponderBorrartengo una duda desde hace mucho, a cerca de la funcion "contar si", y es si se puede utilizar para contar el numero de celdas de un rango que tengan el fondo de un determinado color.
se puede hacer? como?
muchas gracias
Hola, tengo un problema que no se solucionar:
ResponderBorrarSi uso "contar.si" en el rango de una hoja me funciona perfectamente, pero me sale error si lo uso en un rango 3D (en varias hojas).
Me explico:
=CONTAR.SI($H$1:$H$100;'Hoja1'!c1)
Me funciona perfectamente, pero si uso
=CONTAR.SI('Hoja1:Hoja20'!H1;'Hoja1'!c1)
o
=CONTAR.SI('Hoja1:Hoja20'!H1:H100;'Hoja1'!c1)
Me da error
¿No lo he puesto bien? ¿Es que no se puede usar en varias hojas?, hay otra fórmula o solución alternativa?
Gracias
Te agradecería ayuda porque estoy bloqueado.
PD: No me vale la solución
=CONTAR.SI($H$1:$H$100;'Hoja1'!c1) + =CONTAR.SI($H$1:$H$100;'Hoja2'!c1) + ...
Hola,
ResponderBorraren esta nota muestro como usar SUMAR.SI usando el color de fondo como criterio. Puedes aplicar la misma técnica para CONTAR.SI
En breve estaré publicando una nota sobre CONTAR.SI con rangos tridimensionales.
ResponderBorrarJorge, necesito realizar una suma con al menos dos condiciones y no se como hacerlo, he intentado con la opción sumar.si pero no me sale, nose si estaré en lo correcto pero te puedo enviar un mail con un ejemplo de lo que tengo que hacer?
ResponderBorrarDesde ya te agradezco tu ayuda.
Saludos
Mauricio
Puerto Montt, Chile
Hola Mauricio, como explico en la nota SUMAR.SI no funciona con dos o más condiciones. En la nota también explico como hacerlo con SUMAPRODUCTO o con fórmulas matriciales.
ResponderBorrarSi quieres puedes mandarme un archivo con tu ejemplo.
MAGASO!!!!!!
ResponderBorrarbuenisimo el blog, me ha ayudado mucho.
saludos desde MEXICO
el blog está muy bueno y excelentemente explicado.
ResponderBorrartengo una duda.. cómo se puede incluir dos funciones en una misma celda? por ejemplo, si se quiere sacar el promedio de un determinado criterio. es posible hacer '=sumar.si(a2:a20;"=MARIA";c2:c20)/contar.si(c2:c20;"=MARIA")'?
desde ya muchas gracias,
marina
Hola
ResponderBorrarlo que pones en una celda es una fórmula. La fórmula puede estar compuesta por una o más funciones.
La fórmula que propones puede funcionar perfectamente (a condición de que quites el signo "=" en "=MARIA").
Hola! muy buenos los comentarios! te hago una pregunta acerca de este tema... vamos a suponer que tengo una columna A con fechas de ventas y una columna C con los importes de esas ventas... que formula introduzco para que me sume los importes de ventas de una determinada fecha a otra (por ejemplo las ventas >= 1/11/2007 y <= 30/11/2207) ? Muchas gracias!!! Saludos y felices fiestas!!!
ResponderBorrarComo está explicado en la nota, con la función SUMAPRODUCTO. EN tu caso puedes generar una matriz de valores VERDADERO que cumplan con la primer condición, ventas >= 1/11/2007, y otra con la segunda condición, ventas<= 30/11/2007.
ResponderBorrarAl multiplicar los términos de ambas matricies entre sí obtienes una matriz de VERDADERO para las filas que cumplen con las dos condiciones.
EN resumen, la fórmula sería: =SUMAPRODUCTO((ventas>=1/11/2007)*(ventas<=30/11/2007)*monto_de_ventas)
A veces es conveniente usar el numero de serie de la fecha, en lugar de la fecha en sí misma. En tu caso usarías 39083 en lugar de 01/11/2007 y 39416 en lugar de 30/11/2007
Feiz Navidad y próspero año nuevo!
Estimado Jorge, probe tu recomendación para el caso de condiciones incluyentes y no me funciono, no se que estoy haciendo mal, propongo esta solución: =SUMAPRODUCTO(((C1:C11)>30)*((C1:C11)<40)*1). De todas formas, tus consejos han sido muy útiles. Muchas Gracias
ResponderBorrarEstimado Jorge, probe el método que me muestras en está pagina pero no logre resultado; lo que deseo es sumar las cantidades de una lista de ventas que estan entre 5000 y 10000
ResponderBorrarTendría que ver tu fórmula para ver donde está el problema. En general tu fórmula tendría que ser
ResponderBorrar=SUMAPRODUCTO((ventas>=5000)*(ventas<=10000))
Tengo un problema mira.
ResponderBorrarQuiero hacer un programa para una empresa para calcular el total que una persona ha estado contratada en dias, meses y años y mi probelma es al sumar los diferentes contratos.
Me sale un ocntrato bien con sus años meses y dias otro tambien pero al sumarlos claro no se queda bien pues pueden haber resultados como
años 10 meses 16 y 40 dias y me gustaria saber como arreglar eso.
Mi dereccion de correo es jose_sax_crev@hotmail.com
Si pudieras ayudarme estaria encantado.
adios
estimado jorge,no consigo solucionar mi problema:
ResponderBorrarA1 B1 C1
Miriam Enero 7
Maaike Enero 8
Miriam Enero 6
Pilar Enero 5
en la primera columna tengo los nombres en la segunda el mes y en la tercera columna los dias.
entiendo la formula sumar.si
pero no consigo el resultado de saber:
Condition 1(Miriam) Condition 2(Enero)
si a1 = Miriam Y B1 = Enero el resultado total de la tabla es igual 13 dias
o sea quiero saber el Total de los Dias de la Tabla si la Condition 1 = Miriam y la segunda Condition = Enero.
gracias por tu ayuda
Rolf
Te sugiero leer mi nota sobre calcular intervalos con SIFECHA
ResponderBorrarHola Rolf,
ResponderBorrarsiguiendo tu ejemplo, tienes que usar esta fórmula:
=SUMAPRODUCTO(((A1:A4)="Miriam")*((B1:B4)="Enero")*(C1:C4))
(prestar atención al orden de los paréntesis)
Hola jorge,
ResponderBorrarme ha ido muy bien la función sumaproducto pero me falla cuando una de las condiciones es que una celda tenga un texto de 11 carácteres. Si pongo la palabra clavada me da bien (1) y si pongo "???????????" me da mal (0). Sabes porque?
Muchas Gracias
Gerard
Gerard,
ResponderBorrarque quiere decir "clavada"? Puedes enviar el cuaderno con la fórmula?
Eres un genio!!
ResponderBorrarMe sirve mucho esta formula pero no se como aplicarla a lo que necesito.
Tengo una matriz con varios datos entre ellos esta persona que ingreso y fecha, quiero hacer un analisis de saber cuantos datos ingreso la persona 1, la persona 2, persona 3, etc... para enero y despues persona 1 ... para febrero y asi todos los meses del año.
Actualmente tengo datos desde el 2005 a la fecha y se ingresan como 5 casos al mes por lo que el archivo todavia sirve. anterior mente las formulas estan en base de datos pero se me hace que puede hacerse mas simple con estas formulas matriciales, espero me puedas ayudar.
Muchas gracias por tu tiempo y el compartir tus conocimientos
Me parece que en tu caso sería mejor usar tablas dinámicas.
ResponderBorrarTodo lo que tienes que hacer es organizar los datos en una tabla y sobre ella constuir la tabla dinámica.
Fórmulas marticiales o SUMAPRODUCTO son muy lentas cuando se trata de una gran cantidad de datos, como me parece es tu caso.
En el blog puedes econtrar varias notas sobre tablas dinámicas.
Hola Jorge, antes de nada quiero felicitarte por tu estupendo blog, es extremadamente �til e interesante para todos aquellos, que como yo, no dominamos excel.
ResponderBorrarTengo un problema que no consigo solucionar y te agradecer� tu ayuda. Aunque hay ejemplos y notas de sobra no consigo que me funcione este sumaproducto:
=SUMAPRODUCTO((MES($C$7:$C$566)=1)*($AD$7:$AD$566="Ne 5")*($AI$7:$AI$566))
Tambi�n he probado creando una columna auxiliar para que me de en ella el mes con otro formato =A�O()&MES() y luego he rehecho el sumaproducto as�:
=SUMAPRODUCTO(($D$7:$D$566=20081)*($AD$7:$AD$566="Ne 5")*($AI$7:$AI$566))
Incluso he probado con un SUMA:
=SUMA((MES($D$7:$D$566)=1)*($AD$7:$AD$566=CX7)*$AI$7:$AI$566)
Las 3 de forma simple y matricial.
No me funciona ninguna de ellas, con algunas no me sale ning�n resultado y con otras me da error tipo #�VALOR!.
El objeto de esta f�rmula es que me diga el importe facturado en $US (AI7:AI566) de cada mes (C7:C566 � usando la columna auxiliar D7:D566) por tipo de art�culo (AD7:AD566).
S�lo tengo datos hasta la fila 11, el resto hasta la 566 est�n en blanco --algunas con f�rmulas-- dispuestas para ir ingresando facturas a medida que las vaya recibiendo en el curso del a�o.
La columna AD es una lista desplegable con los cinco tipos de art�culos posibles y la columna AI calcula la facturaci�n en $US ya que el importe original de la factura est� en otra divisa. Cuando no hay ingresada ninguna factura todas las columnas de esas celdas est�n en blanco, sin ning�n valor, ni de texto, ni num�rico, ni de tipo error.
Me estoy devanando los sesos para solucionar esto y no hay manera.
Puedes echarme una mano ?
Muchas gracias de antemano por tu amabilidad y disculpa por haberme extendido tanto.
Saludos cordiales. Jordi
Hola Jordi
ResponderBorrarte sugiero que me envíes el archivo, o un ejemplo de él, para que pueda hacerme una idea más precisa del problema.
Muchas Gracias Jorge, te lo acabo de enviar a jorgedunatgmailpuntocom, desde sabprov.at.yahoopuntoes.
ResponderBorrarSaludos, Jordi
Mil gracias Jorge, una solución sencillamente genial.
ResponderBorrarSaludos Cordiales, Jordi
Hola Jorge, POR FAVOR ampliarme un poco acrca si es posible aplicar la funcion sumar.si para sumar varias hojas al tiempo.
ResponderBorrarmil gracias, la verdad es que estoy blocked sin esta parte.
Hola
ResponderBorrarfijate en esta nota para ver una solución posible.
SUMAR.SI, como muhcas otras funciones de Excel, no funciona con rangos tridimensionales.
hola buenos dias tengo una duda!!!
ResponderBorrarComo podria yo una suma de diferentes rangos con la misma condicion??? lo agradeceria mucho si me prestan ayuda
Buenos días
ResponderBorrarsumando varios SUMAR.SI, uno para cada rango.
Tengo una pregunta parecida. Yo quiero que me cuente las veces que un mismo valor me aparece en distintos rangos (en los que hay otros valores). Lo he solucionado sumando varios contar.si, pero me da una fórmula larguísima. ¿No hay otra forma de solucionarlo?
ResponderBorrarAsí es, CONTAR.SI, SUMAR.SI y otras funciones no funcionan con rangos no contiguos. En breve estaré publicando una nota sobre el tema.
ResponderBorrarJorge, estoy intentando utilizar la fórmula sumar.si haciendo referencia a una celda que surge de una validacion de datos de una lista y no me toma la misma como texto. Es decir, yo tengo una fórmula que es sumar.si(ENERO;+b9;C1:c15). Si ENERO lo pongo en forma manual anda perfecto, pero si hago referencia a la celda donde el resultante es ENERO no me responde.
ResponderBorrarQue debo hacer?
Gracias
Fernando
Fernanado
ResponderBorrartienes que usar la función INDIRECTO. Suponiendo que la celda con la validación de datos, donde aparece ENERO, es A1, la fórmula sería
=SUMAR.SI(INDIRECTO(A1);B9;C1:C15)
la informacion, es muy valiosa, me ayudo mucho , muchas gracias.
ResponderBorrarsalu2 desde celaya, guanajuato, mexico
Hola, Jorge!
ResponderBorrarY si lo que quiero es simplemente sumar las celdas que no estan vacias? Tienen nombres, no valores
Sarah
Hola Sarah
ResponderBorrarla función SUMA interpreta las celdas vacías como 0. De manera que si sumas un rango que contiene celdas vacías te basta la función SUMA. Si las celdas no vacías contienen nombres, no puedes sumarlas (obviamente). Tal vez te refieras a contarlas. En ese caso usas las función CONTARA, que al igual que SUMA, ignora las celdas vacías.
jorge,
ResponderBorrarhace algun tiempo logre hacer una tabla con una matriz, ya no recuerdo como fue la formula, el caso es que debo utilizar dos criterios en una tabla para sacar un resultado, tengo varias persepciones de varios trabajadores, como sueldo, aguinaldo, bonos, etc. por otro lado tengo el nombre repetido varias ceces en una columna y en otra los importes por concepto, como puedo hacer para combinar y obtener un resumen en donde este el nombre del trabajador y en una columna lo que percibio de sueldo en otra el aguinaldo y asi sucesivamente.
muchas gracia spor tu apoyo.
De acuerdo a tu descripción la mejor opción es con tablas dinámicas.
ResponderBorrarHola Jorge primero queria felicitarte por el blog que esta muy bueno. Tengo una planilla de caja diaria y quiero utilizar la funcion "sumar.si" para sumar todas las ventas del dia por separado ya que vendo cinco tipos de productos, me interesaria saber si hay alguna forma de que al arrastrar para copiar la formula vaya cambiando automaticamente el criterio en este caso la fecha. Yo yengo esta formula: =SUMAR.SI(Hoja1!A$5:A$15000,"=03/06/08",Hoja1!B$5:B$15000) o sea que al ir arrastrando automaticamente cambie por 04/06/08, 05/06/08, 06/06/08, etc. Desde ya muchas gracias y espero que se pueda hacer algo. Saludos, Gustavo
ResponderBorrarGustavo
ResponderBorraren lugar de usar un parámetro fijo en la función (en tu caso ,"=03/06/08"), tienes que referirte a una celda. Por ejemplo, en las celda D1 pones la fecha 03/06/08, en la celda D2 la fecha 04/06/08 y así sucesivamente. Luego pones tu fórmula en la celda, por decir, G1. La fórmula tiene que ser =SUMAR.SI(Hoja1!A$5:A$15000,D1,Hoja1!B$5:B$15000)
Al copiarla a copiarla a a G2, la fórmula se transforma en =SUMAR.SI(Hoja1!A$5:A$15000,D2,Hoja1!B$5:B$15000) y así sucesivamente
Jorge buen dia.. Fel;icidades por tu blog me ha ayudado mucho, pero hoy se ha olvidado un poco las formulas tengo lo siguiente:
ResponderBorrarA1 B1 C1
100 50 50
50 100 50
50 0 ????
Cuando A1 es mayor que b1 poner en c1 el valor de b1
Cuando a1 es menor que b1 poner en c1 el valor de a1
Pero cuando b1 es igual a cero poner el valor de a1 en c1
Honestamente me he bloqueado y no he podidio convinar las formulas te agradeceria que por favor me echaras la mano, muchas gracias.
Gabriel
Gabriel
ResponderBorrarmandame el archivo con el ejemplo.
Muchísimas gracias, después de más de 2 horas buscando como hacer mi fórmula, he visto la luz con tu blog, el lugar mejor explicado con mucha diferencia. Un 10 para tí.
ResponderBorrarUn saludo,
Jordi
Jorge..
ResponderBorrarBuen dia, gracias por tu block esta muy bien me ayuda mucho, pero tengo la siguiente formula que me funciona en algunas casos y otros no:
Tengo una lista de cheques que se ban realizando columna a1 asta a100
y en otro lugar f1 asta f100 una lista de los cheques que se encuentran en transito pero pongo la siguiente formula en c1 asta c100
=si(buscar(a1,$f$1:$f$100)=a1,"esta en transito",0)
al copiarla se cambia a1,a2,a3 por donde se encuentre la formula pero si un cheque se encuentra en transito en ocaciones no funciona la formula y me pone cero mas sin embargo si esta el numero de cheque en la lista de cheques en transito, no lo localiza espero averme dado ha entender y si no dime como puedo mandarte mi archivo.
Muchas Gracias
Carlos
Hola Carlos
ResponderBorrarmándame el archivo al mail que figura en la parte superior izquierda del blog. Y, por favor, trabaja sobre tu ortografía...
Tengo un libro de Excel con 15 hojas y en la primer hoja quiero poner un el resultado final que esta en cada una de las 15 hojas, se puede?, como?
ResponderBorrarDesde ya muchas gracias
Tu descripción es un poco general, pero puedes crear una fórmula con SUMA que se refiera a la celda adecuada en cada una de las hojas. Puedes fijarte también en esta nota sobre rangos tri-dimensionales
ResponderBorrarNECESITO REALIZAR UNA FORMULA QUE ES SI =Y((D5:F5);(I5:M5);(Q5:R5)>1=X4="SI")LO QUE QUIERO HACER ES QUE SI TODAS LAS CELDAS QUE PONGON CONTIENEN UN 1 DIGA SI SI NO LO CONTIENEN PONGA NO COMO LO HAGO
ResponderBorrarDon Anónimo,
ResponderBorrarsin ánimo de ofender: dónde están en su teclado los signos de puntuación (ya sabe, punto, coma, etc) y las minúsculas,
Supongo que usted quiere que mi respuesta sea clara y fácil de leer. Entonces, ¿por qué no procede de la misma manera con su pregunta?
Normalmente hubiera borrado su comentario por lo que en mi opinión es una falta de consideración hacia mi y hacia los lectores. Pero siento la obligación de hacerle estas observaciones.
Por favor, reescriba la pregunta poniendo la consideración requerida si quiere recibir una respuesta.
La verdad no me ofende, me parecio que habia sido clara. Pero bueno, lo que necesito de la formula es:
ResponderBorrar1- Que si los rangos D5:F5;I5:M5; Q5:R5 son mayores o iguales a 1 me ponga en una celda cualquiera que SI, si no cumple con estos requisitos me ponga NO.
Bueno espero haber sido mas clara ya que necesito con bastante urgencia esta respuesta
Gracias
Hola,
ResponderBorrartodavía falta un poco para que la consulta sea clara: ¿la condición debe cumplirse para todos los rangos o basta que se cumpla en alguno de ellos? Y además,¿qué significa que el rango sea mayor que 1? ¿Hay que sumar los miembros del rango entre si, o cada miembro del rango debe ser mayor o igual a 1?
Suponiendo que se trata de rangos donde cada miembro debe ser mayor o igual a 1, tendrías que usar una fórmula matricial como ésta
={SI(Y((D5:F5)>=1;(I5:M5)>=1;(Q5:R5)>=1);"SI";"NO")}
Si necesitas ayuda por encima de esto, estas invitado/a a contactarte por mail (aparece en la columna izquierda del blog, arriba)
Hola,
ResponderBorrarMi consulta es sobre "sumaproducto", tengo un matriz de datos con 5 dígitos que siempre empiezan por "1" o "2" los cuatro restantes son letras del tipo HAGA; WESA; ... si pongo por ejemplo como condición ="1WESA" no tengo ningún problema pero si pongo ="1*" el comodín * no funciona.
Puede decirme como solucionarlo.
Muchas gracias de antemano.
Joaquim
Joaquim
ResponderBorraren tu caso tendrías que usar
=SUMAPRODUCTO(--(IZQUIERDA(matriz)="1"))
Hola primero te quiero felicitar por tu blog, me has ayudado mucho.
ResponderBorrarHay algo que todavía no se como hacer, quiero sumar.si con la condicion que sea menor que el valor en una celda, o sea
sumar.si(rango1,menor.que.H5,rango2)
Me resulta si escribo el valor pero no cuando pongo la referencia. ¿Qué estoy haciendo mal?
Gracias!
Hola Verónica
ResponderBorrarsi con referencia te referís a que el valor a compara esta en una celda (digamos A5) tendrías que escribir la fórmula
=SUMAR.SI(rango1,"<"&A5)
Prestá atención al símbolo "&"
Muy interesante la comparativa "En el caso de condiciones incluyentes, usaremos el operador "+" (sumar) en ligar de "*" (multiplicar)".
ResponderBorrarMuchísimas gracias.-
Fantástica la solución aportada con la función: SUMAPRODUCTO.
ResponderBorrarMuchísimas gracias.-)
Jorge: Antes que todo, queria decir que hace poco he encontrado este blog en internet y me ha ayudado mucho en mis labores, asi que muchas gracias por tu ayuda!!; Desearia saber si me puedes ayudar con un dilema, te comento debo contar en dos columnas cuantas veces existe la letra "S" (se llena la columnas con "N" o "S")en las ultimas 13 entradas de datos(filas), intento con contar.si pero el problema se me produce cuando se rellena con datos vacios pq debo mantener la cantidad de datos( los ultimos 13 registros no vacios) y no se como hacer para que el rango a utilizar en el contar.si; me busque los ultimos 13 registros con celdas no vacias, esperando haber sido claro y agradeciendote de antemano, me despido
ResponderBorraratte.
Diego Vidal L.
San Vicente de TT, Chile
Hola Diego
ResponderBorrarpuedo enviarte una solución a tu consulta a tu mail, si me envías la dirección.
La explicación es demasiado larga pra ponerla en el marco de un comentario.
Amigo :
ResponderBorrarMuchas gracias por tu apoyo y por compartir tu conocimiento, me pase un dia entero tratando de solucinar un problema, ya media noche me encontre con tu material.
Gracias y felicidades por tu disponibilidad de ayudar.
Queretaro, Qro. Mexico.
disculpa jorge , es posible utilizar la funcion sumaproducto con 3 condiciones, ´por ejemplo que la celda tenga un texto "registro" que tenga una fecha mayor a x/x/x y menor a x/x/x
ResponderBorrarmuchas gracias.
Buenas noches Jorge, en primer lugar felicitarte y darte las gracias, por todo lo que he aprendido en este blog. tengo un lijero problema. estoy creando una plantilla para hacer unas evaluaciones, y tienen que estar dentro de un tiempo estipulado,cronometrando hora de inicio y otra hora de fin. lo que me esta volviendo loco y no saco la formula es, por cada dos minutos que pasa del tiempo estipulado hay que descontar un punto del total del resultado pero el maximo que se puede descontar son 10 puntos, o sea que si sobrepasa entre 1 y 2 minutos se le descuenta 1 punto, entre 3 y 4 2 puntos menos y asi sucesivamente pero aunque tarde mas de 20 minutos no se le puede descontar mas de 10 puntos. Me podrias ayudar por favor.
ResponderBorrarGracias.
Creo que puedo ayudarte pero tienes que contactarte conmigo por mail.
ResponderBorrarHola Jorge, me parece muy interesante lo que explicas; estoy aprendiendo mucho.
ResponderBorrarPero tengo un problema que no soy capaz de resolver:
Quiero utilizar la función SUMAR.SI cuando el criterio de búsqueda sean las fechas comprendidas en un mes: por ejemplo, que me sume las cantidades de un rango de celdas, siempre que esos ingresos o cantidades estén comprendias entre el 1 de febrero y el 28 de febrero.
Gracias de antemano.
Saludos. Paco
Paco,
ResponderBorrarla nota comienza explicando que SUMAR.SI no acepta más de una condición. Para tu caso, que son dos condiciones, tienes que usar SUMAPRODUCTo o una fórmula matricial tal como está explicado en la nota.
GRACIAS JEFE!
ResponderBorrarAntes que nada, muchas gracias por compartir conocimientos y facilitarnos las cosas.
ResponderBorrarAhí va mi consulta: quiero calcular los chicos de 12 años que han mostrado preferencia por un determinado tipo de comida.
El sexo viene dado en una Columna (A)
La edad en otra (B)
Y los platos (columna C) vienen dados por una secuencia de caracteres (1,2,3,... n,) en donde "n," corresponde a un plato concreto.
Para saber a cuántos chicos de 12 años les gusta el plato "1," he utilizado la función SUMAPRODUCTO(((A2:A50)="M")*1;((B2:B50)=12)*1;((C2:C50)="*1,*")*1 (donde pretendo que los asteriscos de antes y después de "1," actúen como comodines), pero siempre me devuelve "0" como resultado, a pesar de que existen casos en que se cumplen las tres condiciones.
¿Cómo puedo agregar como condición 'aquellas celdas en que aparezca "1," aunque sea junto a (o entre) otros caracteres?
¿Se pueden combinar para ello las funciones SUMAPRODUCTO y CONTAR.SI?
Fernando
ResponderBorrarno tengo claro qué valores aparecen en la columna C. De todas maneras no podés usar * como comodín en una fórmula. Suponiendo que el 1 forma parte de los valores que aparecen en la columna C (algo así como Plato1, Plato2, etc.), una fórmula que puedes usar es
=SUMAPRODUCTO((A2:A50="M")*(B2:B50=12)*NO(ESERROR(ENCONTRAR(1,C2:C50))))
La función ENCONTRAR de como resultado ún número entero si 1 aparece en la celda de la columna C o #ERROR si no. ESERROR da VERDADERO en caso de #ERROR o FALSO si el 1 aparece en C. La función NO invierte el resultado, que es lo que nos interesa. Esto genera una vercot de VERDADERO y FALSO, donde VERDADERO significa que el 1 aparece en el nombre del plato. El resto de la fórmula es obvio (supongo)
Jorge,
ResponderBorrarMuchas gracias por contestar... y tan rápido.
He copiado la solución que aportas y FUNCIONA A LA PERFECCIÓN. Otra cosa diferente es que probablemente necesitaré repasar un par de veces la fórmula(o hacer un par de ejercicios), para saber aplicarla en futuras ocasiones.
DE NUEVO, MUCHAS GRACIAS.
Jorge...
ResponderBorrarFelicidades por conpartir tus conocimiento, pero necesito sumar el valor con tres condiciones que hay en dos hojas la formula que utilizo es =SI(B19>0,SUMAPRODUCTO(('EGR-ENE'!C9:C63=B19),('EGR-ENE'!J3=D6),('EGR-ENE'!I9:I63)),"")
donde b19 es un codigo, j3 el mes, I9 es el valor en pesos, pero me marca este error #¡VALOR! y la verdad no encuentro el error me podrias ayudar por favor.
Muchas Gracias
Gabriel
gpimentelbc@hotmail.com
Hola Gabriel
ResponderBorrarcuando usas SUMAPRODUCTO todos los rangos deben tener el mismo tamaño.
Es decir, todos los rangos en la fórmula deben tener, en tu caso 55 filas (C9:C63, I9:I63, etc)
jorge:
ResponderBorrarnecesito asignar una calificación determinada cuando un alumno haya corrido dentro de un intervalo determinado de tiempo. Organize una tabla con la calificacion correspondiente para cada intervalo, necesitaría una formula para que automáticamente le otorgue la calificación correspondiente a cada uno de acuerdo al tiempo obtenido.
desde ya muy agradecido
Con BUSCARV (o BUSCARH, dependiendo de la orientación de la tabla), con el cuarto argumento vacío.
ResponderBorrarHola Jorge. La verdad es q tu explicacion es brillante. Gracias!
ResponderBorrarPero tengo una duda..Yo necesito combinar 2 funciones, siendo una de ellas una condicion excluyente, como vos nombraste.
En tu ejemplo seria:
Cuantas personas con edad entre 20 y 30 años son de sexo masculino?
La formula q vos usaste / ={SUMA((((C2:C11)<30)+((c2:c11)>40))*1)} / no me responde esa pregunta ya q solo me selecciona los de determinada edad, pero no lo combinma con el sexo.
Muchisimas gracias!Mariana
Mariana,
ResponderBorrarlas condiciones para tu cálculo son: mayores de 20 y menores de 30 y de sexo masculino. Por eso no tenés que usar + en tu fórmula. Digamos que las edades están en el rango C2:C11 y el sexo en el rango D2:D11, tu fórmula tiene que ser
=SUMAPRODUCTO((C2:C11>20)*(C2:C11<30)*(D2:D11="masculino"))
Hola Jorge. Tengo un problema.
ResponderBorrarEstoy trabajando en un archivo que contiene varias hojas. Cada hoja es un dia del mes. Dentro de cada dia estan las ventas del dia, y estan clasificadas como efectivo, cheques y por pagar(que son los cheques a fecha). Ademas tengo una hoja que es el resumen del mes, donde quiero colocar una tabla que me diga la cantidad de plata en cheques que ese dia tengo que depositar...
Encontre en inet una formula para sumar segun la fecha(pero solo el mes) y solo de la misma pagina... es esta:
=SUMA((MES(N6:N14)=11)*(G6:G14)) que se tiene que ejecutar apretando Crtl, shift, mayuscula y enter al mismo tiempo...
Trate de adecuarla para los dias modificandola asi:
=SUMA((DIA(MES(N6:N14)=11)=15)*(G6:G14))
El tema es que no me funciona, ademas necesito que tome dia, mes y año y que tome todas las paginas....
Si me puedes ayudar un poco, me seria muy util
saludos y de antemano gracias
Francisco,
ResponderBorrarfijate en esta nota sobre el uso de la función SUMAPRODUCTO con fechas.
Hola
ResponderBorrarEstoy haciendo un libro excell para analizar mis facturas de teléfono.
Tengo una hoja que es el listín de números. En esta hoja tengo puesto solamente
[listin]
número nombre
60001 maría
90002 jorge
90005 manuel
(columnas a y b)
(filas 1,2 y 3)
y luego tengo otra hoja en la que pego las llamadas y formateo, etc.
[llamadas]
fecha número compañia receptora duracion coste
01/01/2010 90002 compañia-oeste 00:00:25 0,09
01/01/2010 90002 compañia-oeste 00:01:50 0,15
02/01/2010 90005 moviles-orange 00:05:00 1,25
(columnas a,b,c,d,e)
(filas 1,2 y 3)
quiero sacar una columna en la que se ponga el nombre relacionado con el número al que he llamado.
con sumaproducto he sacado el número si está en el listín de la otra hoja pero no consigo sacar el "literal" del nombre
si pongo
=SUMAPRODUCTO((Listin!A1:A10=b1)*1*Listin!A1:A10*1)
esta fórmula me da el numero 90002. si el número de llamada no está en el listín sale un cero.
Y he conseguido con =si sacar un mensaje
=si((formula que he puesto ahí arriba)=0;"desconocido";"otro mensaje"
es lo más cerca que he llegado a poder sacar en la columna siguiente de la hoja de llamadas (por ejemplo la f) el nombre de la persona a la que he llamado.
¿Sabes alguna forma de sacar ese literal?
Muchas gracias.
Con la función BUSCARV
ResponderBorrar¡Gracias!
ResponderBorrarLo probaré.
Por cierto, ¡feliz año!
Manu.
Hola Buen Día;
ResponderBorrarMi pregunta es la siguiente: ya el sumaproducto me resulto muy util para realizar el conteo de las celdas que cumplen las condiciones ahora lo que no he logrado encontrar es como sumar todos los valores que contienen esas celdas, por que hasta ahora solo los conte me falta sumarlos si me pueden ayudar muchas gracias...
Julian
Julián,
ResponderBorrarcomo está explicado en la nota, agregando en la función el rango de los valores a ser sumados. Por ejemplo en la columna A tenemos facturas, en B el tipo de cliente (local, internacional), en C el mes y en D el importe. Si queremos saber cuantas facturas de clientes locales hay en mayo usamos
=SUMAPRODUCTO((B2:B100="local")*(C2:C100="mayo"))
Para calcular la suma de los importes de esas facturas agregamos el rango correspondiente
=SUMAPRODUCTO((B2:B100="local")*(C2:C100="mayo")*(D2:D100))
Gracias!!! Jorge En realidad el error que estaba cometiendo es que le indicaba el rango completo de la columna que necesitaba sumar, y la forma correcta es los intervalos exactos.
ResponderBorrarEj.
=SUMAPRODUCTO((B:B="local")*(C:C="mayo")), esto por si alguien no le está arrojando el resultado.
Gracias!!
Hola Jorge
ResponderBorrarMuchas gracias por ayudarnos a entender y mejorar nuestro trabajo con funciones en excel. Ojala hubiera muchos mas Jorge's.
Mi problemas es que utilizo la funcion SUMAR.SI con buenos resultados en excel 2003, pero cuando cambie a excel 2007 esta funcion deja de funcionar para algunas lineas y funciona para otras a pesar de tener la misma funcion. Podría ser en las celdas de numero y/o texto?.
Muchas gracias por tu ayuda.
Enrique Diaz
Lima-Peru
diazenr@yahoo.es
La función es la misma en todas las versiones. Si funciona en algunas celdas y en otras no, obviamente el problema está en los parámetros de la función.
ResponderBorrarHola jorge,, antes que nada gracias por este espacio y felcidades por tu conocimiento.,
ResponderBorrarQuerias ver si me apoyas con una formula..
La situacion es la sigueinte:(base de datos)
clave nombre provedor fecha importe
1 Juan 01feb 14
2 carlos 05ener 20
1 juan 15feb 6
me gustaria que la formula sea:(me de en enero la suma de los importes de juan de enero unicamente es decir, la suma de importes de juan de solo enero, y en en febrero lo mismo, suma de importes de juan,) y asi,, he tratado de aplicar la suma.si y no me da.. coomo quien dice es una formula con 2 condicionantes.. )
clave nombre provvedor enero febrero marzo etc
1 juan
2 carlos
3
etc
sin mas por el momento , gracias de antemano
Tienes que usar SUMAPRODUCTO, tal como está explicado en la nota.
ResponderBorrarHola:
ResponderBorrarquiero ver si me puede echar la mano con esto por favor:
Necesito saber como hacerle para sumar la cantidad de nombres de una sola persona en una lista que tenga una sola columna
EJEMPLO:
juan
rodrigo
juan
rodrigo
juan
juan
necesito una formula que me diga en NUMERO cuantos "JUAN"tengo en la lista y cuantos "RODRIGOS"..
echenme la mano por favor.
gracias.
Para cada nombre necesitas una fórmula con la función CONTAR.SI
ResponderBorrarPor ejemplo, si la lista está en el rango A1:A100 la fórmula para Rodrigo sería
=CONTAR.SI(A1:A100,"Rodrigo")
Quisiera contar las personas mayores deo igual a 25 años y las menores de 30 años
ResponderBorrar=CONTAR.SI(C2:C11;">=25")-CONTAR.SI(C2:C11;"<30")
el resultado que obtengo es 2, pero devería ser 4
Ya lo he solucionado, tenía un signo cambiado
ResponderBorrar=CONTAR.SI(C2:C11;"<30")-CONTAR.SI(C2:C11;"<25")
ahora ya el resultado es correcto 4
Miles de Gracias!!!!!
ResponderBorrarFelicidades por el blog, me ha facilitado muchísimo el trabajo!
ResponderBorrarTengo una duda, imaginemos que tuviéramos las opciones "masculino", "femenino" y "neutro" en tu ejemplo. Podrías incluír más de una condición de la misma columna en la sumapodructo? Por ejemplo:
={SUMA(((C2:C11)>30)*((B2:B11)="masculino")*((B2:B11)="femenino")*1)}
Muchas gracias por la ayuda, una vez más! ;)
Si, pero la fórmula de tu ejemplo siempre daría 0, ya que difícilmente alguien puede ser femenino y al mismo tiempo masculino. Cuando dos condiciones tienen que cumplirse simultáneamente usamos * (multiplicación) para ligar entre las condiciones; cuando es suficiente que se cumpla una u otra condición, usamos + (suma)
ResponderBorrarY puedes combinar suma y multiplicación en una misma fórmula? para que si se cumple una u otra de las condiciones necesarias, luego se haga la suma de los valores de una tercera columna... O incluso, una condición con suma, y la otra con multiplicación, en otra columna?
ResponderBorrarMuchas gracias!!
En principio se pueden combinar en una misma fórmula todo tipo y número de funciones. Pero aquí estamos hablando de otra cosa. En una fórmula matricial, como en tu ejemplo, cada expresion como (C2:C11)>30 crea un vector (matriz de una columna) con resultados VERDADERO o FALSO; luego al realizar operaciones entre estos vectores Excel convierte el resultado de la operación en 0 o 1. Por ejemplo FALSO * VERDADERO = 0 pero FALSO + VERDADERO = 1.
ResponderBorrarFiajte en esta nota sobre funciones matriciales
Jorge Buena tarde necesito contar el numero de letras que tiene una palabra dentro de una celda pero no se como, necesito hacer unos avisos pero me los cobran por letra y debo hacer una cotizacion previa para mi jefe.
ResponderBorrarMuchas gracias
Si la cuenta incluye los espacios entre las palabras, puedes usar sencillamente la función LARGO.
ResponderBorrarSi hay que excluir los espacios en la cuenta tienes que usar esta fórmula (suponiendo que la celda con el aviso está en la celda A1)
=LARGO(SUSTITUIR(A1," ",""))
La pura onda con esta formula mihermano!!!!
ResponderBorrarHAGO MENCION SOBRE LA POSIBILIDAD DE SUMAR VARIOS CRITERIOS CON OPERADOR (*) Y ESPECIFICAMENTE DE UNO DE LOS CRITERIOS CONSIDERAR VARIAS OPCIONES CON EL OPERADOR (+)
EJEMPLO (FORMULA DIRECTA DE MI BDD):
{=SUMA(SI(('Socios EP'!$B$3:$B$3002="AF-001")*('Socios EP'!$O$3:$O$3002="si")*('Socios EP'!$Z$3:$Z$3002="ent")*(('Socios EP'!$P$3:$P$3002="AFSWBE-01")+('Socios EP'!$P$3:$P$3002="AFIRPC-01")+('Socios EP'!$P$3:$P$3002="AFIRBE-01")),'Socios EP'!$Q$3:$Q$3002))}
Jorge sos un genio!!! hice esto en excel 2007 contar.si.conjunto funciono perfecto pero en el trabajo tengo 2003, hace 3 dias que estoy buscando como solucionar sumar con mas de un criterio y por mas q hay miles de páginas con ninguna pude resolverlo hasta que encontre tu explicación. Te felicito.
ResponderBorrarTengo una única consulta. La matriz que utilizo se completa desde otra hoja con una formula buscarv, el tema es que en las filas q todavia no complete me figura #N/A cuando a la matriz le pongo un rango que incluye las filas #n/a me da error y si pongo un rango que solo contiene las filas completas debería modificar la fórmula cada vez q agrego una fila. Sabrás como solucionarlo?. Si no podes no te preocupes igual genio gracias
Una posibilidad es combinar la función BUSCARV con una función SI, creando así una fórmula condicional para evitar que se egenre un resulta #N/A. En lugar de =BUSCARV(.... tendrías que poner =SI(ESBLANCO(celda a evaluar),"",BUSCARV(...))
ResponderBorrarmuchisimas gracias voy a probar con esto.
ResponderBorrarSaludos al equipo: necesito ayuda dado el caso:
ResponderBorrarcodigo articulo fecha estado
1001 A 01/02/10 dispo
1002 b 01/02/10 bloque
1001 A 05/03/10 prestado
1002 b 01/02/10 bloque
1003 c 01/02/10 dispo
1001 A 10/03/10 dispo
1003 c 01/02/10 dispo
1001 A 06/03/10 dispo
1002 b 01/02/10 dispo
Quiero obtener la fecha mas antigua de los items mas (productos) cuyo ID = 1001 y esten disponible
Por favbor como hago esto en Excel o si se tiene una idea de una macro Gracias
Tal como está explicado en la nota, con SUMAPRODUCTO.
ResponderBorrarJorge
ResponderBorrarNecesitaría ayuda con una función que no puedo resolver. Te paso abajo un ejemplo para ver si aclara la pregunta. Lo que yo preciso es que en la última columna (Ultima versión) me indique "YES" si la fecha de la primera columna es la mayor para cada producto y número de BOX.
DATE-HR PROD BOX Ult
23/08/2010 5:00 A 100 NO
25/08/2010 4:00 A 100 NO
30/08/2010 6:00 B 101 NO
5/09/2020 2:00 A 102 YES
9/09/2010 5:00 A 100 YES
10/09/2010 7:00 B 100 YES
11/09/2010 1:00 B 101 YES
15/09/2010 9:00 B 102 YES
09/09/2010 1:00 B 102 NO
Muchas gracias
Juàn Pablo
ResponderBorrarese tipo de consultas hay que mandarlas por mail privado, con el archivo adjunto
Hola jorge felicitaciones por tu blog, tengo una inquietud: manejo una base de datos grande y quisiera ahorrar tiempo si pudiera sumar o contar las celdas que contengan algun caracter especifico es decir quiero sumar o contar la celdas que contengan la letra "N"
ResponderBorraresto se puede?
quedo atento a tu amable colaboración.
Por supuesto. Suponiendo que en el rango A1:A7 estan los valores que contienen o no la letra N y en el rango B1:B7 valores numéricos, para contar cuatas celdas en el rango A1:A7 contienen la letra N podemos usar
ResponderBorrar=SUMAPRODUCTO(--NO(ESERROR(ENCONTRAR("N",A1:A7))))
Paa sumar los valores del rango B1:B7 correspondientes a las celdas de A1:A7 que contienen la letra N usamos
=SUMAPRODUCTO(NO(ESERROR(ENCONTRAR("N",A1:A7)))*B1:B7)
La función ENCONTRAR da como resultado la posición del caracter buscado (N) en el texto o un error, si la celda no contiene el valor buscado. Por eso usamos NO(ESRROR(... para contar cuantas celdas contienen N.
Estoy loco buscando como enlazar 4 condicionales en una sola fórmula. Pregunto ¿Cómo se escribe que un valor de una celda sea X "si se cumplen dos condiciones en dos celdas o se cumplen otras dos condiciones en otras dos celdas"?
ResponderBorrarExplico: que A5=X (si A1=1 y A2=2) [se tienen que cumplir las dos] "O" que A5=X (si A3=3 y A4=4) [también se tienen que cumplir las dos] si no se cumplen las dos primeras "O" las dos segundas condiciones que sea otro valor, por ejemplo A5=Y.
No se como unir las condicionales "Y" y "O" en una sola fórmula. Gracias.
Sería
ResponderBorrar=SI(O(Y(A1=1,A2=2),Y(A3=3,A4=4)),A5=X,A5=Y)
La función O da VERDADERO si alguna de las funciones Y da VERDADERO, La función Y da verdadero sólo si los dos términos de la función son VERDADERO.
Hola Jorge, un favor, necesito hacer una operación con valores de una celda en distintas hojas sólo si cumplen con la condición en otra celda también en distintas hojas.
ResponderBorrarEj. en la celda B2 tengo un valor 1, 2, ó 3... y en la casilla D2 valores para sumar (400, 300, 350, etc.) esto en todas las hojas.
bien en una hoja necesito que me sume todos los valores de la celda D2 de todas las hojas solo si el valor de las celdas B2 son iguales a 1.
Espero que se entienda la pregunta. De antemano, muchísimas gracias!
Se entiende. La respuesta irá en la próxima nota que estaré publicando.
ResponderBorrarHola Jorge, que utiles son tus ejemplos pero no logro encontrar una solución a mis dudas; necesito utilizar la función de SUMAIF en una suma en donde requiero sumar cuatro condiciones y mi información fuente está en otra hoja de trabajo dentro del mismo archivo de excel, los criterios son:
ResponderBorrar1. el año
2. el vendedor
3. si es venta directa
4. si la factura está cobrada
mi fórmula es: =SUM(IF(C2:C120=2010)*(M2:M120=B3)*(O2:O120="HP")*(Z2:Z120="si"),T2:T120).0))
no sé que es lo que estoy haciendo mal o si estoy aplicando la fórmula correcta pero me aparece VALUE y me urge sacar estas sumatorias por vendedor, me puedes ayudar,por favor?
mil gracias Martha
El error #VALUE indica que estas realizando una operación atitmética con algún valor no numérico o tal vez poruqe estás usando un punto en lugar de una coma para al final de tu fórmula (fijate en "T2:T120).0"). No puedo indicarte dónde está el problema sin ver el cuaderno.
ResponderBorrarAdemás te sugiero que uses SUMAPRODUCTO en lugar de SUMA(SI
Hola Jorge, leo tus comentarios sobre excell con mucho interes. Gracais por tus consejos!!! Sin embargo, no consigo aplicar las formulas que aqui poner en mi base de datos. Te cuento. En una columna (la F concretamente) tengo un monton de procedimientos diferentes reflejados, y en otra columna (la I concretamente) la persona que ha realizado el procedimiento determinado. Necesito saber CUANTOS procedimientos (por ejemplo un procedimiento es "AAP") ha hecho una determinada persona (por ejemplo la persona "GP") y no soy capaz de que me acepte ninguna de las formulas que aqui propones. ¿Me puedes ayudar? Muchas gracias!
ResponderBorrarDe acuerdo a tu descripción no tendrías que tener ningún problema en aplicar las fórmulas. Te sugiero que me envies el archivo para que pueda ver donde está el problema (fijate en el enlace Ayuda).
ResponderBorrarMagnifico blog, te felicito y te agradezco que lo mantengas.
ResponderBorrarHe buscado mucho y estudiado mucho pero no encuentro la solución a mi problema.
En la columna A tengo cantidades (1, 2, 3) y en la columna B tengo textos como: "m2. tela Marquesa" o "pza. vivo oro".
Quiero SUMAR las cantidades de A SI en B se encuentra el texto "m2."
Espero haberme explicado bien.
Soy Pedro y muchisimas gracias.
Con SUMAR.SI, donde el rango es la columna B, el criterio es el texto "m2" y el rango de suma es la columna A.
ResponderBorrarHola Jorge, soy Pedro, la había probado antes y la he vuelto a comprobar y me da resultado "0". Me atreví a probar esta que te pongo y Sí me funciona pero de verdad que no la entiendo, la quiero estudiar este finde.
ResponderBorrar{=SUMAPRODUCTO((SI(ESERROR(ENCONTRAR("M2";$D$14:$D$44;1));0;1)=1)*($C$14:$C$44))}
No sé si será una exgeración pero te repito que no la entiendo y aunque me sirve no me completa porque quiero saber emplearla.
Te agradezco tu respuesta e interés.
Pedro,
ResponderBorraroara entender la fórmula tienes que entender como funcionan las fórmulas matriciales. En esta nota hay una explicación básica.
Pedro:
ResponderBorrarNo deberías tener problemas con SUMAR.SI para lo que estás planteando.
Por ejemplo, si tienes esto:
A B
1 Cantidad Código
2 3 m2
3 2 n1
4 4 m2
5 5 m2
6 1 n3
Deberías tener esta fórmula en otra celda:
=SUMAR.SI(B2:B6;"m2";A2:A6)
Y debería funcionarte correctamente con un resultado de 12, según estos datos.
Un saludo
Hola, se puede sumar la misma celda pero de muchos archivos diferentes? cual seria la manera mas facil?
ResponderBorrarGracias
Hola Matías,
ResponderBorrarfijate en esta nota del blog.
Jorge: muchas gracias por tu ayuda, me resulto a la primera!
ResponderBorrarBuenos dias
ResponderBorrarTengo una duda sobre la funcion contar.si:
La funcions Contar.si(D:D;"<11") funciona pero si en el criterio pongo Contar.si(D:D;"<b4") no funciona. No se puede poner como criterio una celda que contenga un numero o texto?
Trini,
ResponderBorrarsi, se puede pero de esta manera
=CONTAR.SI(D:D;"<"&B4)
Gracias!!!
ResponderBorrarEstimado Jorge,
ResponderBorrarlo que quiero es contar las ventas de todos los meses, suponiendo que hay ventas de Enero a Junio, como es tabla dinámica los meses los tengo en rotulos de columna, pero he agregado una columna manualmente que es donde llevo la venta que se sumaria al ultimo mes, en este caso seria junio, y a la parte complementaria llamemole Junio2
tomando en cuenta algunos aspectos como:
espacios en blanco por lo meses donde no hay venta en la tabla dinámica
valores a cero donde esta JUNIO2 que no es dinámica, que resulta de halar la venta de otro reporte
que hay una columna antes es el total de la dinámica para llegar a Jun2
y para finalizar, que si JUINIO Y JUNIO2 tienen venta , que solo cuente la tabla dinámica de Enero a Junio.
Gracias de antemano.
Saludos.
Iván Rivera.
Hola Iván,
ResponderBorrarrecién hoy he visto tu mail (tienes que usar la dirección que aparece en el enlace Ayuda). Te estaré respondiendo por mail privado.
En términos generales, si tienes un campo con fechas no hace falta crear campos auxiliares para cada mes, lo cual no es una buena práctica. Es más eficiente y sencillo usar Agrupar para consolidar los datos por meses (o por años o trimestres).
Hola he visto las formulas propuestas pero no logro aplicar ninguna a mi caso en todas me pide revisar la formula .. necesito saber la venta de los vendedores pero la informacion la tengo en diferentes hojas de calculo:
ResponderBorrarhoja 1 tengo:
COLUMNA A COLUMNA B (venta)
OAXACA,VENDEDOR1 165
OAXACA,VENDEDOR2 190
TLAXCALA,VENDEDOR1 256
OAXACA,VENDEDOR1 789
TLAXCALA,VENDEDOR2
OAXACA,VENDEDOR1 121
EN LA hoja 2 tengo los mismos datos de los vendedores (OAXACA,VENDEDOR1) y necesito saber cual es la venta Total de cada uno de ellos
Gracias
Ana
hola muy buena aportacion mi duda es si puedo sumar un resultado en una celda q fue obtenido de la multiplicacion de un valor constante trabajo con los calibres de las varillas y kisiera sumar las que sean del mismo calibre. te dejo mi crreo para tus comentarios. es ing_amachorro@hotmail.com
ResponderBorrarPuedes enviarme un ejemplo de tu problema (fijate en el enlace Ayuda)
ResponderBorrarAngelita,
ResponderBorrarsi, se puede. Puedes mandarme el archivo (fijate en el enlace Ayuda).
Hola jorge y como se aplicaria la formula de sumaproducto con dos condiciones en calc de open office
ResponderBorrarNo he trabajado con OpenOffice, pero se que se pueden usar funciones matriciales con en Excel. Así que podrías usar SUMA en forma matricial como muesto en la nota.
ResponderBorrarR
ResponderBorrarC
C
A
1
Buenas tardes.
Un gran favor como hago para que el la operacion de sumaproducto NO ME CUENTE LOS VACIOS, en el caso anterior R= celda vacia, y me la cuenta con esta formula:
=SUMAPRODUCTO((D14:D17="R")*(E14:E17=0))
Lo que busco es que no me considere 0(cero) las celdas en blanco
Gracias
Un buen criterio para evaluar si una celda está vacía es usar la función LARGO. Una celda que contiene el valor 0 tiene un largo de 1; una celda vacía tiene un largo de 0.
ResponderBorrarUPS,
ResponderBorrarGRACIAS POR LA PRONTA RES PUESTA, COMO AGREGO EL LARGO A LA FORMULA
En tu caso sería
ResponderBorrar=SUMAPRODUCTO((D14:D17="R")*(E14:E17=0)*)LARGO(E14:E17)>0)
Hola!
ResponderBorrarando mas perdida que un pulpo en un garaje... tengo un excel con unos totales de ventas por producto, quiero saber los totales pero con la condicion de que no me sume los que estan en gris (estan en gris porque esa operacion se ha caido y en otra columna lo reflejo como rechazado) puedo hacer una suma de esta forma? gracias!!!!
Si estás usando colores para hacer cálculos (metadata), lamento decirte que lo tienes merecido.
ResponderBorrarPara ver como hacer operaciones basándose en colores, te sugiero que leas esta nota.
Prueben con usar la funcion sumar si conjunto, permite definir varios criterios entre ellos las fechas. se define el criterio colocando <=09/05/2011 en una celda( Ejem A1) >=01/05/2011 en otra celda (Ejem A2) y en la función son dos criterios. En el 1° criterio se referencia la celda A1 y en el 2° crit. la celda A2.
ResponderBorrarHola:
ResponderBorrartengo una tabla de entradas de materiales: en la columna B está el nombre del PROVEDOR, en la D, del material y en la F, los Kg. de ese material que entran.
Tengo que el PROVEEDOR-A me trae dos materiales ( MATERIAL-A y MATERIAL-B); querría hacer al final de la tabla un contador que sólo sume los Kg. que entran del MATERIAL-A de este PROVEEDOR-A.
He probado:
=SUMAPRODUCTOS(((B1:B116)="PROVEEDOR-A")*((D1:D116)="MATERIAL-A")*(F4:F116))
pero no me funciona. Pone #N/A
¿en qué falla?
En que todos los rangos deben tener el mismo tamaño. F4:F116 tiene 113 celdas, los restantes rango tiene 117 celdas.
ResponderBorrarhola Jorge!!! excelente blog... solo tengo una pregunta, no se si sea posible, tengo una lista con 2 columnas,(en realidad son varias pero quiero simplificar) en la primera se establece la fecha y en la segunda las ventas de varios meses, lo que necesito es q se sumen las ventas de cada mes....
ResponderBorrarfecha venta
2/04/2011 300
4/04/2011 400
5/04/2011 500
3/05/2011 200
5/05/2011 350
total ventas en abril...?????
total ventas en mayo....????
y asi... sucesivamente... espero su respuesta!! de antemano gracias!!
atte: LUZ
Hola Luz,
ResponderBorrartenés varias posibilidades; entre ellas usar tablas dinámicas agrupando por meses (podés leer sobre esta técnica en mis notas sobre tablas dinámicas) o usando SUMAPRODUCTO como muestro en esta nota usan la función MES. Por ejemplo, para sumar todas las ventas de mayo usarías
=SUMAPRODUCTO((MES(rango de fechas)=5)*rango de ventas).
muchisisisisisimas gracias!!! =D me has sacado de un gran apuro!!! =D
ResponderBorraratte luz!!
Hola Jorge, tengo un excel donde hay que sacar datos en limpio. Por Ejemplo: Sumar la cantidad de menores registrados en la plantilla, desagregando la cantidad de mujeres y varones.
ResponderBorrarB y C son el sexo (se marca con un 1 el sexo).
E :es la edad de las personas, así que hay que poner =<1 y >=18
Me ha vuelto loco, no encuentro la forma de poner "tantas condiciones" para que haga la suma.
Gracias por la buena onda de atendernos.
Iván,
ResponderBorrarcon SUMAPRODUCTO tal como se muestra en la nota. No me queda claro como están organizados tus datos, pero suponiendo que la columna A contiene el nombre de las personas, B el sexo (¿por qué dos columnas? Basta con una donde 1=femenino y 0=masculino, por ejemplo) y C la edad, la fórmula sería
=SUMAPRODUCTO((B2:B1001=1)*(C2:C1001)<=18)
para calcular el número de mujeres menores, y
=SUMAPRODUCTO((B2:B1001=0)*(C2:C1001)<=18)
para calcular el número de hombres menores.
En la Columba A está el número de posición (?) de la persona.
ResponderBorrarEn la B hombres
C mujeres (coincido, con que 1 y 0, pero bueno, ya estaba asi).
D fecha de nac.
E la formula para que digan la edad a la fecha de Hoy
F Nombre Apellido
y sigue, es una lista interminable de un Consulado.
=SUMAPRODUCTO((C2:C4380=1)*(E2:E4380)<=18)
Esa fue la formula, pero me da "0" de resultado.
Me faltó aclarar que hay celdas vacías porque el Consulado no tenía un registro total de fechas de nac. Eso influye para que de resultado "0"?
Gracias por la molestia de atenderme y, desde ya, que estoy a disposición de lo que necesites.
Iván,
ResponderBorrarhay varios motivos por los que el resultado puede ser cero (por ejemplo que los valores en la columna E sean texto, no números). Te sugiero que me mandes el archivo y sigamos la consulta por mail privado (fijate en el enlace Ayuda).
Hola Jorge..
ResponderBorrarTengo una duda que debe parecer basica.. Quiero realizar una multiplicación en una misma celda: ejemplo estoy situado en B6 y quiero multiplicar un nº cualquira que yo coloque en esa celda por 5.
Yo pongo =(B6*5) y presiono enter... pero cuando pongo cualquier nº se borra la formula... Cómo la oculto o la activo en ese caso?.. gracias.
No estoy seguro de haber entendido, pero si ingresamos algo en una celda (texto, número, fórmula, etc.) obviamente estamos eliminando lo que habíamos ingresado antes.
ResponderBorrarhola jorge realmente te felicito por tu blog....estoy utilizando la herramienta sumaproducto y es muy interesante pero quisiera por favor que me indiques si es que se puede de que manera puedo hacer que los intervalos que yo inserto en la funcion siga creciendo, te explico, yo deseo que sume cuantos valores estan dentro de un rango pero este rango va creciedno por ejem para la celda A1 quiero que cuente cuantos numeros hay de 0-2 en la celda b1 quiero que cuente cuantos numeros hay de 2-4 y asi sucesivamente, espero me haya dejado explicar
ResponderBorrarCreando rangos dinámicos. Si usas Excel 2003, o mejor aun 2007/10 la mejor opción es usar listas/tablas.
ResponderBorrarTambién puedes crear una rango dinámico usando las funciones DESREF o INDICE. En esta nota hay un ejemplo usando DESREF.
Saludos Jorge
ResponderBorrarLa necesidad que tengo es parecida a la que estas utilizando la formula
=SUMAPRODUCTO(((C2:C11)>30)*1,((B2:B11)="masculino")*1)
Tengo varios nombres o personas que votan en Mesas Electorales y que tienen Simpatía Polticias. Columna A: Nombres (Omar, Pedro, Juan, Maria, Juana, Antonio) Columna B: Mesas Electorales (45, 30, 30, 10, 45, 45) Columna C: Simpatia Politica (PLD, PRD, PLD, PRD, PRSC, Otros)
Como contar cuantas Personas votan en la Mesa Electoral 45 que simpatizan por el PLD?
Si puedes ayudarme en esto te lo agradeceria
ulloa.omar@hotmail.com
Faceboo: ulloaomar@yahoo.es (Omar Ulloa Ulloa)
Twitter: oulloa79
Tal como aparece en la nota,
ResponderBorrar=SUMAPRODUCTO((mesa electoral=45)*(simpatia politica="PLD"))
Si usas Excel 2007 o 2010 tienes la nueva función CONTAR.SI.CONJUNTO
Al lector que consultó (por error borré el comentario):
ResponderBorrarEjecute una macro para hacer un conteo de transacciones por Hora de un grupo de registros, esta macro me funciona perfectamente en excel 2007, pero al ejecutarla en 2003 me da error por la formula siguiente: "=SUMIFS(C[-1],C[-3],RC[-3],C[-2],RC[-2])"
La función SUMIFS no existe en las versiones anteriores a Excel 2007; de ahí el error.
El uso de la función SUMAPRODUCTO está explicado en varias notas de este blog.
Buenos días Sr. Dunkelman.
ResponderBorrarEscribo con la finalidad de consultar sobre la función "Sumar.si".
Necesito realizar una formula que me permita sumar un valor determinado partiendo desde 5 condicionales, mas sin embargo no logro hacer que la formula me de el resultado correcto.
La formula que estoy escribiendo es la siguiente
=Sumar.si(rango (Total referencias en existencia);criterio (La referencia que deseo sumar);sumar.si(rango (Total lotes en existencia);criterio (El lote asociado a la referencia que deseo sumar);sumar.si(rango (Todos los tipos de inventarios que tengo);criterio (El inventario asociado a la referencia que deseo sumar);sumar.si(rango (Todos los tipos de transacciones);criterio (la transacción asociada a la referencia que deseo sumar);sumar.si(rango (todos los costos);criterio (El costo asociado a la referencia que deseo sumar);rango_suma)))))
¿Es factible qué pueda unificar tantos criterios para poder realizar la suma o cree usted qué se puede aplicar, pero con otra función?
Espero que tenga un excelente fin de semana. Feliz viernes.
Saludos cordiales,
Daniel
Daniel,
ResponderBorrarte sugiero usar SUMAPRODUCTO. No puedes anidar funciones SUMAR.SI que permite sólo un criterio.
En Excel 2007 o 2010 tienes SUMAR.SI.CONJUNTO, pero de todas maneras mi sugerencia es SUMAPRODUCTO.
GRACIAS POR INFORMANOS
ResponderBorrarMuchísimas gracias, me resultó muy útil. Seguiré buscando en esta web los problemas que me surgen. Acabas de entrar en "mis favoritos".
ResponderBorrarUn saludo.
Hola! soy maestra y ahora me piden evaluar con letras pero yo tengo las calificaciones en numero como puedo sumar letras y que salga un número, debo calificar estilo USA, por ejemplo el 10=A+, el 9=A, el 8=B y así sucesivamente y debo anotar la letra pero al final sacar promedio con número y no se como hacerle, le agradecería muchísimo su ayuda,ya intenté varias fórmulas pero no sale el resultado. Mil gracias de antemano.
ResponderBorrarPublicaré una nota sobre el tema en los próximos días.
ResponderBorrarBuenas noches, Quisiera saber si hay forma de sumar todos los valores de una matriz que cumplan con una condiciones de columna y una de fila. Intentare explicarme mejor: tengo una tabla en la que en la columna A tengo todos lis fuss del año (fechas) y en la fila 1 tengo titulos de columnas que corresponden a Los codigos de mis vendedores (desde la columna B hasta la Z). Si quiero presentar un resumen en otra hoja en el cual diga, por vendedor, las ventas logradas en cada mes del año, que formula puefo utilizar? Gracias!!
ResponderBorrarCon fórmulas mi sugerencia es SUMAPRODUCTO (te sugiero hacer una búsqueda en el blog donde hay varias notas con ejemplos). Otra forma, más eficiente, es con tablas dinámicas. También puedes usar una tabla dinámica como "generador" y mostrar los datos en otra hoha usando al función IMPORTARDATOSDINAMICOS (también sobre estos temas hay varias notas en el blog).
ResponderBorrarBuen dia Jorge, excelente las respuestas, quisiera saber si puedo realizar promedio segun 2 criterios en openoffice porque en excel no tengo drama en hacerlo porque utilizo la formula promedio.si.conjunto, aguardo comentarios
ResponderBorrarConozco Open Office superficialmente pero supongo que se puede hacer, con fórmulas matriciales o con SUMAPRODUCTO, de la misma manera que lo hacíamos en Excel 97-2003. Fijate en esta nota.
ResponderBorrarbuen día.
ResponderBorrarNo se si ya hallan resuelto antes esto pero he intentado y no obtengo resultado.
Necesito sumar las cantidades de la columna C, pero sólo si la fecha ubicada en la columna A es de determinado rango de fechas, ejemplo entre 01/01/2012 y 31/01/2012, probe con:
=SUMAR.SI.CONJUNTO(C2:C13,A2:A13,">=01/01/2012",A2:A13,"<=31/12/2012")
y con:
=SUMAR.SI.CONJUNTO(C2:C13,A2:A13,">=D2",A2:A13,"<=E2") donde C2 y E2contienen las fechas indicadas en la primera fórmula,pero en ambos casos me da cero, me podría ayudar con este caso?
Gracias de antemano.
Fijate en esta nota
ResponderBorrarHola Jorge, probé con SUMAPRODUCTO como lo indicas en la nota que me sugeriste ayer, pero sigue sin funcionar.
ResponderBorrarLogre hacerlo con una fórmula matricial: {=SUMA((MES(REGISTROS!$A$2:$A$400)=$D$18)*(REGISTROS!$C$2:$C$400))} donde D18 es el número correspondiente a cada mes, pero tengo otro inconveniente: Diseñé una macro que me almacena la información en la hoja REGISTROS, pero me desplaza las celdas hacia abajo, por lo tanto, cada vez que ingreso un registro, la fórmula incrementa la posición de las celdas en $A$3:$A$401 y en $C$3$:C$401.
Veo 2 posibilidades, 1- modificar la macro para que no me desplace las celdas hacia abajo y me inserte los registros en orden descendiente ó 2-Hacer que la fórmula no modifique el rango de filas a evaluar. En cualquier caso, no se si se puede hacer o que otra solución planteas.
Si tu problema es lograr que el rango en las fórmulas se modifique a medida que vas agregando datos, usar una macro como la que describes es como usar un cañón para matar una mosca. La solucón es usar rangos dinámicos (usando DESREF o INDICE con CONTARA, por ejemplo) o convertir el rango de los datos en tabla (Excel 2007/10) o lista (Excel 2003). En el blog hay varias notas sobre estos temas.
ResponderBorrarAlguien que me ayudeeee
ResponderBorraren verdad ya tengo mas de 20 horas tratando de encontrar una formula que me ayude he utilizado las aqui descritas pero sin exito.
tengo en una hoja de calculo de 2003 una tabla en la cual incluye entre todos los datos la fecha y codigo y mi intencion es sumar tomando esos dos valores como criterios es decir de toda la columna D selecciona los que sean de febrero y los de la columna J que sean "X" codigo sumalos.
ojala y alguin me pueda hechar la mano.
¿Y cuál es la columna con los valores que hay que sumar?
ResponderBorrarla "G" el detalle tambien es que no criterios escritos es decir no son textos entre Comillas como han mencionado aqui sino que tengo celdas como criterio para hacer dinamico el archivo es decir el criterio de las fechas esta en la columna C12 y el codigo en la A22.
ResponderBorrarslds
Suponiendo que la tabla ocupa el rango de las filas 2:100, sería
ResponderBorrar=SUMAPRODUCTO((MES($D$2:$D$100)=2)*($J$2:$J$100="X")*$G$2*$G$100)
donde "X" es un texto o una referencia a la celda que contiene el texto del criterio.
Ya quedo estimado en verdad gracias si era un rango y yo meti mal una columna por ello el error en verdad gracias y da gusto saber que aun hay personas que ayudan a los demas.
ResponderBorrarNO ENCUENTRO COMO HACER PARA CONTAR EDADES ENTRE RANGO(ENTRE 15 Y 30 AÑOS) CON LA FORMULA CONTAR SI, PUEDO DETERMINAR LAS MAYORES A 30 Y LAS MENORES A 15, PERO NO ENTRE 15 Y 30
ResponderBorrarLa tienes que hacer con SUMAPRODUCTO. Suponiendo que las edades se encuentran en el rango A1:A25, usamos
ResponderBorrar=SUMAPRODUCTO((A1:A25>=15)*(A1:A25<=30))