Contar condicional con más de un criterio usando SUMAPRODUCTO

domingo, febrero 05, 2006

En mi nota anterior di una explicación básica sobre el funcionamiento de SUMAPRODUCTO. Veamos ahora un ejemplo de lo que se puede hacer con esta función.
Siguiendo con el ejemplo de la nota anterior, supongamos que queremos escribir una fórmula que nos permita saber cuántos productos hay entre dos precios. Por ejemplo, cuántos productos hay en la lista con un precio superior a los 50$ e inferior a los 80$.
En lugar de usar CONTAR.SI dos veces y restar entre los resultados (tres fórmulas), con SUMAPRODUCTO podemos hacerlo en una sola fórmula.
La fórmula en la celda C16 utiliza los valores en las celdas B13 y B14 como parámetros de los precios mínimos y máximos y da como resultado la cantidad de productos que cumplen con estas condiciones




Analicemos la fórmula en la celda C16:

=SUMAPRODUCTO(((B2:B11)>=B13)*((B2:B11)<=B14)*1)

Cuando Excel evalúa una fórmula del tipo A1=A2, puede dar como resultado o FALSO o VERDADERO (FALSE o TRUE). Estos resultados se pueden expresar como números 0 o 1 respectivamente si los multiplicamos por 1.

En nuestra fórmula la expresión (B2:B11)>=B13 da como resultado un vector/matriz que contiene los valores falso o verdadero. La segunda expresión (B2:B11)<=B14) hace lo mismo respecto al segundo parámetro.

Al multiplicar ambas expresiones obtenemos una matriz cuyos valores son o Falso o Verdadero. Esto se puede ver en esta tabla

La fórmula en el rango C2:C11 es =B2>=50; en el rango D2:D11 =B2<=90. EN el rango E2:E11 multiplicamos las celdas correspondientes de los rangos anteriores.

Podemos ver el resultado: 5 celdas con valor 1 y 5 celdas con valor 0. La suma de las 10 celdas en el rango E2:E11 da como resultado 5.

Todo esto hace nuestra fórmula con SUMAPRODUCTO en un solo paso!



Si te gustó esta nota anotala en del.icio.us



Technorati Tags: , ,



Categorías: Funciones&Formulas_

58 comments:

Anónimo,  18 mayo, 2006 05:20  

Tengo una base da datos de productos consumidos ordenado de la siguiente manera: en columna B, la semana de consumo (semanas del año), en la columna C el producto, en la columna D la cantidad, y en la columna E el area, mediante una fórmula como se puede ver en una celda el consumo de cada producto considerando la semana y el area

Jorge L. Dunkelman 18 mayo, 2006 22:18  

Hay varias formas de hacer esto. La más práctica es con tablas dinámicas (pivot tables). Otra es con SUMAPRODUCTO. Digamos que en la celda F1 anotás el producto que querés investigar, en la celda F2 la semana a investigar y en la celda F3 el área.
En la celda F4 escribimos uan fórmula como esta: SUMAPRODUCTO(((B:B)=F2)*((C:C)=F1)*((E:E)=F3)*(D:D))

Jorge D. Oliva,  22 junio, 2007 02:38  

Sos un grande Jorge, me sirvió mucho para completar una planilla de la facultad.
Gracias.

Jessica 26 septiembre, 2007 18:09  

Ayuda please, tengo 2 columnos en una estan los meses en otro esta el tipo de operacion.
enero cambio de x
enero modificacion de x
enero creacion y cambio de x
enero cambio de a
febrero cambio de x
febrero modificacion de x

y quiero saber cuantos cambios se hcieron de cada mes,sin importar cambio de q fueron, quiero cambio en total. por ejm:
Enero = 3 (hubo 3 cambios incluyendo x e a)
Febrero = 1 (solo hubo 1 cambio)

aca se ve facil pero 2 mil registros de enero a diciembre por favor como podria hacerlo, trate de usan el SUMAPRODUCTO, pero alli me cuenta solo con datos exacto osea ="cambio de x", y yo quiero todos los cambios de un mes.

Jorge L. Dunkelman 04 octubre, 2007 22:04  

Please Jessica, mandame el archivo con el ejemplo.

Carlos Gorrzegz Flores 11 abril, 2008 03:37  

Jorge, tu ayuda es impresionante pero aún tengo un problema.

Ya logré utilizar la función Suma en forma matricial y Sumaproducto para lograr sumar los valores que cumplan con varias condiciones pero tengo que elaborar un formato que me vaya agregando a la formula cualquier cantidad de datos que yo intruduzca.
Por ejemplo tengo esta formula
=SUMA(('Semana 14'!$A$2:$A$115=B$2)*('Semana 14'!$C$2:$C$115="C")*('Semana 14'!$D$2:$D$115))

Y viene delimitada de 2 a 115 pero yo quisiera poner A:A pero el problema es que como la primer celda es el nombre de la columna, al incluirla me da como resultado #NUM ¿existe alguna manera de solucionar esto?
La unica que se me ocurre es poner A2:A65536 pero quisiera evitarlo.
Agradecería mucho tu ayuda.

Jorge L. Dunkelman 11 abril, 2008 07:24  

Hola Carlos

tienes que usar rangos dinámicos. Estos rangos se construyen poniéndolos dentro de nombres y usabndo la función DESREF, como está explicado en esta nota.

Samuel 06 enero, 2009 21:17  

Estimado Gurú, he seguido su blog buscando una solucion a mi situación.
Brevemente trata de contabilizar los turistas (nacionales y extranjeros por separados) que se hospedan en un hotel. De modo que tenemos dos columnas, una donde aparece el número de pasajeros y la columna de junto aparece su condiciòn (nacional o extranjero). La idea es tener una celda donde aparezca el totl de pasajeros nacionales y otra el total de extranjeros. Me puede indicar, por favor, qué fórmula debo utilizar para resolver esta situaciòn, ya que he intentado con sumar.si y sumaproducto, pero no logro llegar al resulñtado esperado. Gracias y saludos a todos los que visitan su blog.

Jorge L. Dunkelman 07 enero, 2009 18:22  

Estimado Samuel
de acuerdo a la descripción del rpoblema tu mejor alternativa es usar tablas dinámicas. Si no estás familiarizado con esta herramienta puedes consultar mis notas sobre el tema.

Vampiro14 26 enero, 2009 22:28  

Antes que nada me gustaria felicitarte por el maravilloso trabajo que realizas, instruyendonos en el mundo de excel.
En relación a este tema de las matrices condicionales tengo un ejemplo que me gustaría que me explicases lo conseguí mediante un foro de consultas pero no consigo enterderlo bien por la sintaxis, la función es la siguiente:
SUMAPRODUCTO(--(DIASEM($B$5:$AF$5;2)={6\7\7});--(B6:AF6={"N"\"M"\"T"}))

No entiendo bien que significan los signos --, creo indican la condicion a cumplir con lo cual la funcion se simplifica...
Me gustaría enterder esta función para poder aplicarla a otros ejemplos y a mas condiciones.

Jorge L. Dunkelman 27 enero, 2009 21:37  

Hola
la expresiones {6\7\7} y {"N"\"M"\"T"} son constantes matriciales. Crean una matriz que es comparada con la matriz creada por DIASEM($B$5:$AF$5;2) y con B6:AF6 para la segunda. Supongo que N=noche, M= mañana y T=tarde.

Vampiro14 27 enero, 2009 22:23  

gracias por tu pronta contestación, esas indicaciones que me das las entiendo, lo que no entiendo son los signos "--" antes de cada funcion matricial.
Y tampoco se hasta que punto prodría ampliar esas constantes (supongo que las matrices tienen que ser simetricas 4 cosntantes por otras 4 constantes).
Gracias.

Jorge L. Dunkelman 28 enero, 2009 18:08  

Los signos -- son son equivalentes a multiplicar la expresión entre paréntesis por 1. Esto se hace para convertir los valores FALSO y VERDADERO resultantes de la comparación en 0 y 1 respectivamente. Se puede prescindir de lso dos "--" multiplicando los vectores de la función entre si de esta manera

=SUMAPRODUCTO((DIASEM($B$5:$AF$5;2)={6\7\7})*(B6:AF6={"N"\"M"\"T"}))

Vampiro14 03 febrero, 2009 10:51  

Muchisimas gracias, me estaba vilviendo loco, no encontaba por ningún lado la explicación a esos --.
Aunque sea repetitivo, tu labor es impresionante, gracias.

Anónimo,  07 febrero, 2010 16:51  

Tengo dos columas, en la A las fechas de ingreso de dinero, y en la B las cantidades; como puedo hacer para que en una sola formula calcular el monto ingresado en determinadas fechas.
Gracias por la respuesta.

Jorge L. Dunkelman 07 febrero, 2010 17:47  

Con la técnica que muestro en la nota, pero te sugiero que veas también la nota sobre el uso de SUMAPRODUCTO con fechas

Gerard 16 marzo, 2010 20:48  

Jorge cordial saludo, tengo un problema con una formula en excel para determinar unas cantidades con unos cargos, en la hoja 1 tengo un listado de los cargos de la empresa con las especialiades y los grados de las personas que los desempeñan, y en la hoja dos donde quiero consolidar todo tengo que el columna "A" tengo diferentes clases de especialidades (A2:A10) y en B1...B10 tengo los nombres de los grados, quiero consolidar esa informacion por especialidades y grados, teniendo en cuenta que no siempre es 1 el numero de personas para ese cargo. yo aplique la formula de contar si conjunto, pero no me funciona bien, por que en los casos que el numero de personas es mas de 1 no me lo muestra, solo muestra 1

Jorge L. Dunkelman 17 marzo, 2010 18:54  

Te sugiero usar una tabla dinámica

Anónimo,  23 febrero, 2011 23:03  

Buenas noches, gracias por la información que aportas, pero tengo una duda, me estoy volviendo loca, quiero que me sumen en diferentes hojas, solo si en en campo pone Enero, vaya, tengo un montón de hojas abiertas (cada hoja es una factura) y he hecho otra que recoge resumen mensual y solo se me ocurre que vaya sumando dependiendo del condicionante, que en este caso sería el mes, en la casilla de fecha. Cómo lo podría haecer? Gracias.

Jorge L. Dunkelman 25 febrero, 2011 18:13  

Si eciste una hoja que recoge el resumen mensual, ¿cuál es el problema? O es el caso que no sabes cómo pasar los resúmenes a la hoja?
Espero tu aclaración, mientras tanto me permito obervar que el método de crear una hoja para cada factura es una de las peores, sino la peor, de las prácticas de manejo de datos en Excel.
La práctica recomendada es crear una plantilla de factura en uuna hoja. Las facturas son credas en esta hoja y los datos relevantes (cliente, número, artículos, etc.) son guardados en una segunda hoja que hace las veces de base de datos.
Si haces una búsqueda en el blog con la palabra "factura" podrás ver algunas notas sobre el tema.

Greis,  31 agosto, 2011 02:45  

Jorge, buenas noches. Tengo el siguiente problema:

En "Hoja1" hay una lista de tareas de diferentes personas (el nombre está en B4). Tengo que sumar, por mes, las duración (columna O) de las tareas finalizadas (fecha en columna E) x meses hacia atrás (X, así como las fechas de inicio y fin de cada período están en la hoja Parámetros).

Quiero utilizar esta fórmula:

IF

(AND('Hoja1'!$E$2:$E$100>Parametros!$C15+1,'Hoja1'!$E$2:$E$100<Parametros!$D15+1),

SUMIF('Hoja1'!$H$2:$H$100,$B4,'Hoja2'!$O$2:$O$100),

"NO")

El "AND" resulta "Verdadero", pero el IF resulta "Falso".

¿No puedo usar el "Sumif" como argumento dentro de un IF?

No encontré la forma de hacerlo con una tabla dinámica porque una misma tarea está sumada en varios períodos (por ejemplo, una tarea de marzo estará en el período ene-jun, feb-jul, mar-ago)

Tu blog siempre me ha resultado muy útil y por eso recurro a tu sabiduría.
¡Gracias!

Jorge L. Dunkelman 31 agosto, 2011 07:12  

Greis,

no se puede usar SUMIF con operadores lógicos (AND, OR) ni dentro de funciones IF (SI) o fórmulas matriciales. La solución usar SUM con IF
en forma SUM(IF()) y usar + en lugar de OR y * en lugar de AND.

Greis,  31 agosto, 2011 15:56  

¡Muchisimas gracias!

Greis,  01 septiembre, 2011 03:09  

Jorge, intenté lo que me dijiste pero me da un "#VALUE" como resultado.
Primero pregunto por el nombre (B4) y luego hago el sum con el IF dentro (Columna E tiene fechas, columna O tiene horas, en "Parámetros" están las fechas límite del período):
La fórmula que estoy usando es esta:

IF
(('Hoja1'!$H$2:$H$10000=$B4),

SUM
(IF
(('Hoja1'!$E$2:$E$100>Parametros!$C15+1)*
('Hoja1'!$E$2:$E$100<Parametros!$D15+1),
'Hoja1'!$O$2:$O$100,
"NO2")

,"NO1")

Desde ya, muchísimas gracias por tu ayuda y pronta respuesta

Jorge L. Dunkelman 02 septiembre, 2011 18:35  

Greis,

ponte en contacto conmigo por mail privado (la dirección figura en el enlace "Ayuda")

Anita,  04 septiembre, 2011 12:50  

Hola Jorge.
Soy nueva en estos lares y estoy muy sorprendida de la ayuda que prestas a todo el mundo. Es de admirar.
Estoy con una formula que me tiene comida la sesera pues no consigo ver donde está el error.
Tengo en una hoja tres columnas: código provincia, dias de demora y mes (además de otras que no me interesan), y quiero que en otra hoja del mismo libro me indique en una casilla, por ejemplo que me cuente las celdas de segovia(CP 40) que tiene un valor de tiempo de demora <5 y que además sean de junio.
He planteado esta función pero me da un error y no se donde esta. Te agradecería muchísimo que me indicaras en que me estoy equivocando. La formula es esta:
=SUMAPRODUCTO(((NTER!$R$7:$R$128)="JUNIO")*1*((INTER!$J$7:$J$129)<5)*1*((INTER!$B$7:$B$129)="40"))
Muchas gracias de antemano.

Jorge L. Dunkelman 04 septiembre, 2011 13:47  

Anita,
cuando usas SUMAPRODUCTO los rango deben tener el mismo tamaño. En tu fórmula aparecen

(NTER!$R$7:$R$128)
(INTER!$J$7:$J$129)
(INTER!$B$7:$B$129)

En el primero hay una fila menos que en los restantes. Además parece haber un error en el nombre de la hoja: en el primer miembro apara NTER y en los restantes INTER

Anita,  04 septiembre, 2011 23:03  

Muchísimas gracias Jorge por la rapidez con la que contestas. He probado a corregir lo que me has indicado, y lo que me devuelve ahora es un valor cero para cada provincia.

Si se te ocurre alguna cosa que pueda fallarme,te rogaría me lo indicaras.

Gracias otra vez.

Jorge L. Dunkelman 05 septiembre, 2011 16:56  

Una posibilidad es que el resultado sea correcto (no hay coincidencias con los parámetros señalados). Para darte un diagnóstico más acertado tendría que ver tu archivo.

Anita,  05 septiembre, 2011 20:35  

OK. Te lo envio por correo.
Gracias

Greis,  06 septiembre, 2011 19:21  

¡Gracias Jorge! No puedo enviar archivos corporativos por mail, si no consigo encontrar la solución veo cómo te contacto.
¡Muchas gracias por tu ayuda y buena voluntad!

Anónimo,  14 octubre, 2011 19:41  

Jorge, Como todo el mundo agradezco eternamente tu ayuda tan altruista. Dicho esto necesito consultarte esto, a saber: Tengo una planilla con 11 columna donde necesito filtrar por 3 de ellas por rango, es decir, =SUMAPRODUCTO((($A$2:$A$500) <= 870000)*(($A$2:$A$500) <>"")*(($D$2:$D$500)>=0)*(($D$2:$D$500)<=200000)*((K2:K500)<>"")) y no me estaría filtrando por la ultima condición. Tiene limites de condicionales SUMAPRODUCTO?. Cualquier dato que puedas brindarme me ayudará. Gracias.

Jorge L. Dunkelman 18 octubre, 2011 19:42  

Si bién hay ciertos límites, no se aplican al ejemplo que me envías. Te sugiero que revises la parte
(K2:K500)<>"")
que parece le falta las "anclas" en la referencia (los $). Si el criterio es que la celda está vacía, te sugiero usar (LARGO($K$2:$K$500)=0) como criterio. Ten en cuenta que se las celdas en la columna K contienen fórmulas, aunque no muestren un resultado, no están vacías.

Anónimo,  15 febrero, 2012 22:01  

Hola
Intento llevar el control de errores de producción por opeario mensualmente, como son varios los criterios que se evalúan en una fila tengo el mes, en otra el nombre del operario y en la otra una x indicando si se tuvo una falla. Por tanto las condiciones para contar son tres: el mes, el operario y que haya falla.
He intentado hacerlo de dos maneras pero no me ha salido:
=SUMPRODUCT((Sheet1!$EI$5:$IR$5="Alex")*(Sheet1!EI6:IR6="X")*(Sheet1!$EI$2:$IR$2="Enero"))
=IF(Sheet1!$C$2:$IT$2="Enero",IF(Sheet1!$C$5:$IT$5="Alex",COUNTIF(Sheet1!C6:IT6,"x"),0),0)

Por favor me ayudas con esto?
Gracias

ROBERT,  16 febrero, 2012 00:39  

Creo que no me supe explicar con la pregunta pero el detalle está en que no quiero contar los artículos que se se encuentran dentro un rango de precio(Colunna Precios) tomando como referencia el ejemplo conque inicia esta sección, sino que quiero sumar las cantidades en la columna de CANTIDAD algunos artículos que se encuentran dentro de un rango de precios por ejemplo entre el precio de 59 y 88,sin tomar en cuenta los otros precios que ahí aparecen.....De verdad agradezco que me puedas aclarar esta duda...
Me despido y muchas gracias

Jorge L. Dunkelman 16 febrero, 2012 19:32  

Estimado,
SUMAPRODUCTO debe tener algún vector de números para dar el resultado, lo que no hay en tu fórmula y de ahpi el error.
En cuanto a la segunda fórmula, que supongo que también la usas en forma matricial, el problema reside en que COUNTIF no puede usarse en fórmulas matriciales.

Jorge L. Dunkelman 16 febrero, 2012 19:35  

Robert
no veo tu anterior comentario. Te sugiero que me envíes tu archivo (por favor fijate en el enlace Ayuda en la parte superior de la planilla)

Sebastian,  13 marzo, 2012 16:57  

Hola, tengo un problema con una planilla de excel. Quiero sumar los valores de las planillas de un mes, que incluya todos los dias donde aun no se han ingresado datos, sin que aparezca VALUE, en una celda aparte (en una hoja aparte) y que se vaya actualizando a medida que lleno los datos diariamente en cada hoja diaria...espero sea posible.
Desde ya muchisimas gracias.

Jorge L. Dunkelman 13 marzo, 2012 19:24  

Se puede hacer con facilidad con tavlas dinámicas, pero si no se han ingresado datos, ¿qué es lo que hay que sumar?

Anónimo,  31 marzo, 2012 20:59  

Hola buen dia.
estoy buscando una formula para poder sumar los productos del mismo articulo, podrian ayudarme, que formula necesitaria usar, este es el ejemplo real aunque la lista es de 400 articulos y la mayoria se repiten.
Como se ve en el ejemplo tengo 2 almacenes.
Quiero escribir en otra hoja el no.de articulo y que automaticamente me de el stock total sumando los dos almecenes.
Espero puedan ayudarme.
Gracias.

Num. Art Almacen 1 Almacen 2
IN00001 0.5 1
IN00002 1
IN00002 1
IN00003 0.5 1
IN00003 1
IN00003 1
IN00004 0.5 1
IN00005 0.5
IN00008
IN00008
IN00008 16
IN00008 16
IN00009
IN00009 68
IN00009
IN00009 40
IN00009
IN00009 60
IN00009
IN00010 30 0.5
IN00010
IN00010
IN00010
IN00010 4
IN00010 10 5
IN00010

Jorge L. Dunkelman 01 abril, 2012 07:18  

Dado que hay un único criterio se puede usar sencillamente SUMAR.SI

Alberto,  31 mayo, 2012 09:55  

Estimado Jorge,

En el caso de Anónimo, ¿cómo lo harías si en vez de sólo dos almacenes, hubiese muchos, digamos 100?.

Muchas gracias.

So Martignetti 08 diciembre, 2012 18:48  

¡Hola!

Necesito sumar los valores aplicando dos criterios:
Es decir, en la columna "A" tengo nombres y en la columna "G" tengo otros nombres, y me gustaría SUMAR los valores de la columna D que son números, en los casos donde se cumplen que dentro de la misma fila se encuentra cierto nombre de la columna A y cierto nombre de la columna D (esos serían los criterios).
Usando la función suma en una fórmula matricial: =SUMA(((G4:G126)="PIANCHI")*((A4:A126)="CAMINO")*1) solo me CUENTA las coincidencias, y yo quiero SUME los valores de "D" en los casos en los que se produzca tal coincidencia.

Espero haber sido clara.

Gracias!

Jorge L. Dunkelman 09 diciembre, 2012 17:02  

Hola,

te falta multiplicar por los valores (la columna D). La fórmula tiene que ser

=SUMA(((G4:G126)="PIANCHI")*((A4:A126)="CAMINO")*D4:D126)

Mayte 23 enero, 2013 12:31  

Buenos días,

En primer lugar, muchas gracias por ayudar con tus conocimientos a todo el que la necesite.

En mi caso, tengo que sacar los diferentes documentos que existen para un mismo proyecto. Ya que en mi hoja existen varios proyectos y cada uno tiene uno o varios documentos.

He tratado de usar las matrices (SUMAPRODUCTO) y o bien no tengo ni idea o no vale para lo que busco, con FRECUENCIA he visto que no vale ya que el documento es un código alfanumérico. Tambien he utilizado SUMA.SI.CONJUNTO(columna_proyectos;proyecto_mio;rango celdas) y no consigo que me salga.

Muchas gracias de antemano,
Mayte

Jorge L. Dunkelman 23 enero, 2013 17:08  

Hola Mayte,
no estoy seguro de lo que quieres decir con "sacar". Suponiendo que la idea es ver todos los documentos pertenecientes a un proyecto, la forma e hacerlo sería o con Autofiltro, o con Filtro Avanzado, o con Tablas Dinámicas (en particular se algún tipo de cálculo aosicado es requerido).
Tienes que tener presente que las funciones están hechas para dar resultados, no para extraer registros de una tabla de datos.

Anónimo,  23 mayo, 2013 12:40  

Hola Jorge,

Estoy leyendo tu blog, e intentando aplicar algunos de tus trucos de excel en mi actividad diaria.

Estoy intentado mediante SUMAPRODUCTO, conseguir una suma de valores, que cumplan 2 condiciones (una de las cuales es numerica) . Pero lo que me sale es cuantos valores cumplen esa condición, y lo que realmente necesitaría es la suma de los valores numericos cuando se cumplan las 2 condiciones.

No sé si me he explicado bien: si tengo la matriz que te adjunto abajo; en donde en la primera columna es un tipo de producto,y la siguiente columna es un coste de compra, me gustaría conseguir la suma de los costes de compra para el Tipo2, y con coste menor a 1000 (el resultado sería 750)


ColumnA ColumnB
Tipo1 100
Tipo2 250
Tipo3 300
Tipo1 400
Tipo2 500
Tipo2 1100
Tipo3 100
Total 2750

He intentado con varias formulas y no hay manera de que me dé.

Te agradezco cualquier ayuda o consejo que me pudieses dar para solucionarlo.

Saludos cordiales
CMiguel.

Jorge Dunkelman 24 mayo, 2013 17:14  

Suponiendo que los datos se encuentran en el rango A2:B8 (columna A --Tipo; columna B --Valores), la fórmula es

=SUMAPRODUCTO((A2:A8="Tipo2")*(B2:B8<=1000)*B2:B8)

Supongo que te faltaba multiplicar las dos condiciones por la los valores, y por eso obtenías el recuento de las filas que cumplen las condiciones y no el total.

Juanan,  21 junio, 2013 15:43  

Hola Jorge,

Tengo un problema con el sumaproducto. He puesto la siguiente fórmula:
=+SUMAPRODUCTO(($A$2:$A$5=D1)*($B$2:$B$5>D2)*($C$2:$C$5))
Si en la matriz C2:C5 son todo numeros, funciona. Pero si en esa matriz hay alguna celda con texto (aunque esa celda no se vaya a sumar por no cumplir las condiciones), el resultado es un error #¡VALOR!
¿tiene solución?

Jorge Dunkelman 21 junio, 2013 17:52  

Juanan, ¿cuál es la lógica que en el rango de la columna C se encuentren valores no numéricos? El error surge porque estás multiplicando valores númericos por texto. Me explico:
($A$2:$A$5=D1) y ($B$2:$B$5>D2) generan vectores de valore VERDADERO o FALSO, que Excel convierte en 1 y o, respectivamente, al usarlos en operaciones aritmética. Si el rango de la columna C contiene algún valor que no es numérico se genera un error.
Si de todas maneras queremos evitar el error, podemos usar una condición para evitarlo. Por ejemplo

=SUMAPRODUCTO(($A$2:$A$5=D1)*($B$2:$B$5>D2)*ESNUMERO($C$2:$C$5)*$C$2:$C$5)

Juanan,  25 junio, 2013 15:02  

Muchas gracias Jorge por tu rápida respuesta.
Pero desgraciadamente creo que no funciona, porque tal como tu dices al tener la columna C valores no numericos, al intentar multiplicarlo (aunque sea por un cero) da error.
La única solución que he encontrado, es añadir una nueva columna, p.e. la D, en la que poner la condición: =+SI(ESNUMERO(C2);C2;0) y poner que la suma la haga sobre la D en lugar de sobre la C.

Si te ocurre alguna forma de hacerlo sin añadir una columna, sería bienvenida.

De todas formas, muchas gracias por tu dedicación

Jorge Dunkelman 25 junio, 2013 20:47  

Juanan
te sugiero que me mandes tu archivo por mail privado (fijate en el enlace Ayuda, en la parte superior de la plantilla). Creo que estás implementando la fórmula incorrectamente (Excel no tiene ningún problema para multiplicar por 0).

Jorge Dunkelman 20 agosto, 2013 20:41  

Hola,
mil disculpas por la demora; puedes usar esta fórmula

=SUMAPRODUCTO((IZQUIERDA(A1:A6,1)=D1)*(B1:B6=D2))

donde la celda D1 contiene la letra de búsqueda (por ejemplo: m) y la celda D2 el nombre del vendedor.

Anónimo,  13 marzo, 2014 03:24  

Hola Jorge, tengo un problema y es el siguiente, si aplico sumaproducto, la formula seria: =SUMPRODUCT((D6:NF29),(C:C=perforador)*(D6:NF29=RM)), pero me arroja un mensaje que el rango es muy grande y no tomara encuenta la operacion, coloca un cero, agradezco tu respuesta
Saludos : Jose Dos Santos

Jorge Dunkelman 13 marzo, 2014 07:45  

Hola José, los rangos en la fórmula deben tener el mismo tamaño, lo que no sucede en tu fórmula; SUMAPRODUCTO usa rangos de una sola columna (no puedes usar D6:NF29).

Jonnymetal 21 diciembre, 2016 05:26  

Hola, una manito por favor, necesito realizar una suma de texto según una fecha que yo elija que obviamente está en la columna, pude hacer que sume el texto dando un resultado en número con CONTAR.SI, pero no se como agregarle que discrimine por fecha también. Se entiende?

Jorge Dunkelman 21 diciembre, 2016 17:17  

Hola. No, no se entiende. Sólo se pueden sumar números, no texto.

Publicar un comentario

Google+ Followers

Seguidores

Google+ Badge

Términos Legales

  © Blogger template On The Road by Ourblogtemplates.com 2009

Back to TOP