viernes, febrero 17, 2006

Sumar y contar con varias condiciones en Excel:SUMAR.SI, CONTAR.SI y SUMAPRODUCTO

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_

202 comentarios:

  1. Muchas gracias por los consejos sobre excel, esta vez me han salvado de un buen aprieto, un saludo y gracias de nuevo

    ResponderBorrar
  2. Buena 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).

    ResponderBorrar
  3. Como 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:
    condició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.

    ResponderBorrar
  4. Muchas gracias, son soluciones muy útiles.

    Otra 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.

    ResponderBorrar
  5. Para Excel fechas son numeros, como he explicado en esta entrada.
    Por lo tanto pueden ser usadas como argumentos en la funcion SUMAR.SI (o cualquier otra funcion).

    ResponderBorrar
  6. Hola Jorge

    ¿como puedo aplicar "contar.si" de la misma forma que trabaja "sumar.si" es decir que cuente discriminando ..

    Una Abrazo..

    Manuel L.B.

    ResponderBorrar
  7. Manuel, fijate en la nota sobre el tema, como esta indicado en esta entrada.

    ResponderBorrar
  8. que 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.
    Supongamos 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?

    ResponderBorrar
  9. 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.

    ResponderBorrar
  10. Fantástico, que solución tan ingeniosa, gracias por ilustranos.

    Mi 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

    ResponderBorrar
  11. Hola Luis, puedes mandarme el archivo para que vea donde esta el problema.

    ResponderBorrar
  12. Muchas gracias por la ayuda.

    ¿A que dirección de correo lo puedo enviar?

    Saludos,
    Luis

    ResponderBorrar
  13. Quiero agradecer públicamente la ayuda que, de forma desinteresada, me ha prestado Don Jorge.

    Resulta maravilloso encontrar personas con esta dispoción a enseñar y ayudar.

    Mil gracias!

    ResponderBorrar
  14. Me ha ida de fábula!! Muchas gracias!!

    ResponderBorrar
  15. mi 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

    ResponderBorrar
  16. Si usas la función SUMAPRODUCTO, las celdas en blanco no producen error.
    Puedes mandarme un ejemplo del problema (jorgedun@gmail.com)?

    ResponderBorrar
  17. 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.

    Mil gracias y enhorabuena por el blog!

    ResponderBorrar
  18. 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

    ResponderBorrar
  19. Hola Luis
    no logro entender tu consulta. Te sugiero que me envíes un archivo con el problema a jorgedun@gmail.com.

    ResponderBorrar
  20. hola jorge, he estado viendo tu blog y me parece genial.

    tengo 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

    ResponderBorrar
  21. Hola, tengo un problema que no se solucionar:
    Si 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) + ...

    ResponderBorrar
  22. Hola,

    en esta nota muestro como usar SUMAR.SI usando el color de fondo como criterio. Puedes aplicar la misma técnica para CONTAR.SI

    ResponderBorrar
  23. En breve estaré publicando una nota sobre CONTAR.SI con rangos tridimensionales.

    ResponderBorrar
  24. Jorge, 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?
    Desde ya te agradezco tu ayuda.
    Saludos

    Mauricio
    Puerto Montt, Chile

    ResponderBorrar
  25. 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.
    Si quieres puedes mandarme un archivo con tu ejemplo.

    ResponderBorrar
  26. MAGASO!!!!!!

    buenisimo el blog, me ha ayudado mucho.

    saludos desde MEXICO

    ResponderBorrar
  27. el blog está muy bueno y excelentemente explicado.

    tengo 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

    ResponderBorrar
  28. Hola

    lo 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").

    ResponderBorrar
  29. 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!!!

    ResponderBorrar
  30. Como 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.
    Al 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!

    ResponderBorrar
  31. 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

    ResponderBorrar
  32. Estimado 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

    ResponderBorrar
  33. Tendría que ver tu fórmula para ver donde está el problema. En general tu fórmula tendría que ser
    =SUMAPRODUCTO((ventas>=5000)*(ventas<=10000))

    ResponderBorrar
  34. Tengo un problema mira.
    Quiero 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

    ResponderBorrar
  35. estimado jorge,no consigo solucionar mi problema:
    A1 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

    ResponderBorrar
  36. Hola Rolf,
    siguiendo 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)

    ResponderBorrar
  37. Hola jorge,
    me 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

    ResponderBorrar
  38. Gerard,
    que quiere decir "clavada"? Puedes enviar el cuaderno con la fórmula?

    ResponderBorrar
  39. Eres un genio!!
    Me 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

    ResponderBorrar
  40. Me parece que en tu caso sería mejor usar tablas dinámicas.
    Todo 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.

    ResponderBorrar
  41. 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.
    Tengo 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

    ResponderBorrar
  42. Hola Jordi

    te sugiero que me envíes el archivo, o un ejemplo de él, para que pueda hacerme una idea más precisa del problema.

    ResponderBorrar
  43. Muchas Gracias Jorge, te lo acabo de enviar a jorgedunatgmailpuntocom, desde sabprov.at.yahoopuntoes.
    Saludos, Jordi

    ResponderBorrar
  44. Mil gracias Jorge, una solución sencillamente genial.

    Saludos Cordiales, Jordi

    ResponderBorrar
  45. Hola Jorge, POR FAVOR ampliarme un poco acrca si es posible aplicar la funcion sumar.si para sumar varias hojas al tiempo.

    mil gracias, la verdad es que estoy blocked sin esta parte.

    ResponderBorrar
  46. Hola

    fijate en esta nota para ver una solución posible.
    SUMAR.SI, como muhcas otras funciones de Excel, no funciona con rangos tridimensionales.

    ResponderBorrar
  47. hola buenos dias tengo una duda!!!
    Como podria yo una suma de diferentes rangos con la misma condicion??? lo agradeceria mucho si me prestan ayuda

    ResponderBorrar
  48. Buenos días
    sumando varios SUMAR.SI, uno para cada rango.

    ResponderBorrar
  49. 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?

    ResponderBorrar
  50. Así es, CONTAR.SI, SUMAR.SI y otras funciones no funcionan con rangos no contiguos. En breve estaré publicando una nota sobre el tema.

    ResponderBorrar
  51. Jorge, 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.
    Que debo hacer?
    Gracias
    Fernando

    ResponderBorrar
  52. Fernanado

    tienes 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)

    ResponderBorrar
  53. la informacion, es muy valiosa, me ayudo mucho , muchas gracias.
    salu2 desde celaya, guanajuato, mexico

    ResponderBorrar
  54. Hola, Jorge!

    Y si lo que quiero es simplemente sumar las celdas que no estan vacias? Tienen nombres, no valores

    Sarah

    ResponderBorrar
  55. Hola Sarah
    la 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.

    ResponderBorrar
  56. jorge,

    hace 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.

    ResponderBorrar
  57. De acuerdo a tu descripción la mejor opción es con tablas dinámicas.

    ResponderBorrar
  58. Hola 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

    ResponderBorrar
  59. Gustavo

    en 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

    ResponderBorrar
  60. Jorge buen dia.. Fel;icidades por tu blog me ha ayudado mucho, pero hoy se ha olvidado un poco las formulas tengo lo siguiente:
    A1 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

    ResponderBorrar
  61. Gabriel
    mandame el archivo con el ejemplo.

    ResponderBorrar
  62. 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í.

    Un saludo,
    Jordi

    ResponderBorrar
  63. Jorge..

    Buen 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

    ResponderBorrar
  64. Hola Carlos

    mándame el archivo al mail que figura en la parte superior izquierda del blog. Y, por favor, trabaja sobre tu ortografía...

    ResponderBorrar
  65. 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?
    Desde ya muchas gracias

    ResponderBorrar
  66. 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

    ResponderBorrar
  67. NECESITO 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

    ResponderBorrar
  68. Don Anónimo,
    sin á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.

    ResponderBorrar
  69. La verdad no me ofende, me parecio que habia sido clara. Pero bueno, lo que necesito de la formula es:
    1- 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

    ResponderBorrar
  70. Hola,
    todaví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)

    ResponderBorrar
  71. Hola,

    Mi 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

    ResponderBorrar
  72. Joaquim

    en tu caso tendrías que usar

    =SUMAPRODUCTO(--(IZQUIERDA(matriz)="1"))

    ResponderBorrar
  73. Hola primero te quiero felicitar por tu blog, me has ayudado mucho.
    Hay 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!

    ResponderBorrar
  74. Hola Verónica

    si 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 "&"

    ResponderBorrar
  75. Muy interesante la comparativa "En el caso de condiciones incluyentes, usaremos el operador "+" (sumar) en ligar de "*" (multiplicar)".
    Muchísimas gracias.-

    ResponderBorrar
  76. Fantástica la solución aportada con la función: SUMAPRODUCTO.
    Muchísimas gracias.-)

    ResponderBorrar
  77. 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

    atte.
    Diego Vidal L.
    San Vicente de TT, Chile

    ResponderBorrar
  78. Hola Diego

    puedo 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.

    ResponderBorrar
  79. Amigo :

    Muchas 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.

    ResponderBorrar
  80. 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

    muchas gracias.

    ResponderBorrar
  81. 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.
    Gracias.

    ResponderBorrar
  82. Creo que puedo ayudarte pero tienes que contactarte conmigo por mail.

    ResponderBorrar
  83. Hola Jorge, me parece muy interesante lo que explicas; estoy aprendiendo mucho.
    Pero 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

    ResponderBorrar
  84. Paco,
    la 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.

    ResponderBorrar
  85. Antes que nada, muchas gracias por compartir conocimientos y facilitarnos las cosas.

    Ahí 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?

    ResponderBorrar
  86. Fernando
    no 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)

    ResponderBorrar
  87. Jorge,
    Muchas 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.

    ResponderBorrar
  88. Jorge...
    Felicidades 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

    ResponderBorrar
  89. Hola Gabriel
    cuando 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)

    ResponderBorrar
  90. jorge:

    necesito 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

    ResponderBorrar
  91. Con BUSCARV (o BUSCARH, dependiendo de la orientación de la tabla), con el cuarto argumento vacío.

    ResponderBorrar
  92. Hola Jorge. La verdad es q tu explicacion es brillante. Gracias!

    Pero 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

    ResponderBorrar
  93. Mariana,
    las 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"))

    ResponderBorrar
  94. Hola Jorge. Tengo un problema.

    Estoy 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

    ResponderBorrar
  95. Hola

    Estoy 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.

    ResponderBorrar
  96. ¡Gracias!

    Lo probaré.

    Por cierto, ¡feliz año!

    Manu.

    ResponderBorrar
  97. Hola Buen Día;

    Mi 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

    ResponderBorrar
  98. Julián,
    como 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))

    ResponderBorrar
  99. 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.
    Ej.
    =SUMAPRODUCTO((B:B="local")*(C:C="mayo")), esto por si alguien no le está arrojando el resultado.
    Gracias!!

    ResponderBorrar
  100. Enrique Diaz M.05 marzo, 2010 22:47

    Hola Jorge
    Muchas 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

    ResponderBorrar
  101. 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.

    ResponderBorrar
  102. Hola jorge,, antes que nada gracias por este espacio y felcidades por tu conocimiento.,
    Querias 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

    ResponderBorrar
  103. Tienes que usar SUMAPRODUCTO, tal como está explicado en la nota.

    ResponderBorrar
  104. Hola:
    quiero 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.

    ResponderBorrar
  105. Para cada nombre necesitas una fórmula con la función CONTAR.SI
    Por ejemplo, si la lista está en el rango A1:A100 la fórmula para Rodrigo sería

    =CONTAR.SI(A1:A100,"Rodrigo")

    ResponderBorrar
  106. Quisiera contar las personas mayores deo igual a 25 años y las menores de 30 años

    =CONTAR.SI(C2:C11;">=25")-CONTAR.SI(C2:C11;"<30")

    el resultado que obtengo es 2, pero devería ser 4

    ResponderBorrar
  107. Ya lo he solucionado, tenía un signo cambiado

    =CONTAR.SI(C2:C11;"<30")-CONTAR.SI(C2:C11;"<25")

    ahora ya el resultado es correcto 4

    ResponderBorrar
  108. Miles de Gracias!!!!!

    ResponderBorrar
  109. Felicidades por el blog, me ha facilitado muchísimo el trabajo!
    Tengo 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! ;)

    ResponderBorrar
  110. 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)

    ResponderBorrar
  111. Y 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?
    Muchas gracias!!

    ResponderBorrar
  112. 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.
    Fiajte en esta nota sobre funciones matriciales

    ResponderBorrar
  113. 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.
    Muchas gracias

    ResponderBorrar
  114. Si la cuenta incluye los espacios entre las palabras, puedes usar sencillamente la función LARGO.
    Si 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," ",""))

    ResponderBorrar
  115. La pura onda con esta formula mihermano!!!!

    HAGO 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))}

    ResponderBorrar
  116. 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.
    Tengo 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

    ResponderBorrar
  117. 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(...))

    ResponderBorrar
  118. muchisimas gracias voy a probar con esto.

    ResponderBorrar
  119. Saludos al equipo: necesito ayuda dado el caso:
    codigo 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

    ResponderBorrar
  120. Tal como está explicado en la nota, con SUMAPRODUCTO.

    ResponderBorrar
  121. Jorge

    Necesitarí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

    ResponderBorrar
  122. Juàn Pablo
    ese tipo de consultas hay que mandarlas por mail privado, con el archivo adjunto

    ResponderBorrar
  123. 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"

    esto se puede?

    quedo atento a tu amable colaboración.

    ResponderBorrar
  124. 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

    =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.

    ResponderBorrar
  125. 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"?

    Explico: 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.

    ResponderBorrar
  126. Sería

    =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.

    ResponderBorrar
  127. 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.
    Ej. 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!

    ResponderBorrar
  128. Se entiende. La respuesta irá en la próxima nota que estaré publicando.

    ResponderBorrar
  129. Hola 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:
    1. 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

    ResponderBorrar
  130. 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.
    Además te sugiero que uses SUMAPRODUCTO en lugar de SUMA(SI

    ResponderBorrar
  131. 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!

    ResponderBorrar
  132. De 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).

    ResponderBorrar
  133. Magnifico blog, te felicito y te agradezco que lo mantengas.
    He 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.

    ResponderBorrar
  134. 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.

    ResponderBorrar
  135. Hola 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.
    {=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.

    ResponderBorrar
  136. Pedro,
    oara entender la fórmula tienes que entender como funcionan las fórmulas matriciales. En esta nota hay una explicación básica.

    ResponderBorrar
  137. Pedro:
    No 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

    ResponderBorrar
  138. Hola, se puede sumar la misma celda pero de muchos archivos diferentes? cual seria la manera mas facil?
    Gracias

    ResponderBorrar
  139. Jorge: muchas gracias por tu ayuda, me resulto a la primera!

    ResponderBorrar
  140. Buenos dias

    Tengo 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?

    ResponderBorrar
  141. Trini,

    si, se puede pero de esta manera

    =CONTAR.SI(D:D;"<"&B4)

    ResponderBorrar
  142. Estimado Jorge,

    lo 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.

    ResponderBorrar
  143. Hola Iván,
    recié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).

    ResponderBorrar
  144. 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:
    hoja 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

    ResponderBorrar
  145. 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

    ResponderBorrar
  146. Puedes enviarme un ejemplo de tu problema (fijate en el enlace Ayuda)

    ResponderBorrar
  147. Angelita,
    si, se puede. Puedes mandarme el archivo (fijate en el enlace Ayuda).

    ResponderBorrar
  148. Hola jorge y como se aplicaria la formula de sumaproducto con dos condiciones en calc de open office

    ResponderBorrar
  149. No 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.

    ResponderBorrar
  150. R
    C
    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

    ResponderBorrar
  151. 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.

    ResponderBorrar
  152. UPS,

    GRACIAS POR LA PRONTA RES PUESTA, COMO AGREGO EL LARGO A LA FORMULA

    ResponderBorrar
  153. En tu caso sería

    =SUMAPRODUCTO((D14:D17="R")*(E14:E17=0)*)LARGO(E14:E17)>0)

    ResponderBorrar
  154. Hola!
    ando 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!!!!

    ResponderBorrar
  155. Si estás usando colores para hacer cálculos (metadata), lamento decirte que lo tienes merecido.
    Para ver como hacer operaciones basándose en colores, te sugiero que leas esta nota.

    ResponderBorrar
  156. 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.

    ResponderBorrar
  157. Hola:
    tengo 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?

    ResponderBorrar
  158. En que todos los rangos deben tener el mismo tamaño. F4:F116 tiene 113 celdas, los restantes rango tiene 117 celdas.

    ResponderBorrar
  159. hola 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....

    fecha 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

    ResponderBorrar
  160. Hola Luz,

    tené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).

    ResponderBorrar
  161. muchisisisisisimas gracias!!! =D me has sacado de un gran apuro!!! =D

    atte luz!!

    ResponderBorrar
  162. 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.

    B 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.

    ResponderBorrar
  163. Iván,
    con 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.

    ResponderBorrar
  164. En la Columba A está el número de posición (?) de la persona.

    En 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.

    ResponderBorrar
  165. Iván,

    hay 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).

    ResponderBorrar
  166. Hola Jorge..
    Tengo 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.

    ResponderBorrar
  167. 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.

    ResponderBorrar
  168. hola 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

    ResponderBorrar
  169. Creando rangos dinámicos. Si usas Excel 2003, o mejor aun 2007/10 la mejor opción es usar listas/tablas.
    También puedes crear una rango dinámico usando las funciones DESREF o INDICE. En esta nota hay un ejemplo usando DESREF.

    ResponderBorrar
  170. Saludos Jorge
    La 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

    ResponderBorrar
  171. Tal como aparece en la nota,

    =SUMAPRODUCTO((mesa electoral=45)*(simpatia politica="PLD"))

    Si usas Excel 2007 o 2010 tienes la nueva función CONTAR.SI.CONJUNTO

    ResponderBorrar
  172. Al lector que consultó (por error borré el comentario):


    Ejecute 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.

    ResponderBorrar
  173. Buenos días Sr. Dunkelman.

    Escribo 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

    ResponderBorrar
  174. Daniel,

    te 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.

    ResponderBorrar
  175. GRACIAS POR INFORMANOS

    ResponderBorrar
  176. Muchísimas gracias, me resultó muy útil. Seguiré buscando en esta web los problemas que me surgen. Acabas de entrar en "mis favoritos".
    Un saludo.

    ResponderBorrar
  177. 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.

    ResponderBorrar
  178. Publicaré una nota sobre el tema en los próximos días.

    ResponderBorrar
  179. Buenas 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!!

    ResponderBorrar
  180. Con 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).

    ResponderBorrar
  181. Buen 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

    ResponderBorrar
  182. Conozco 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.

    ResponderBorrar
  183. buen día.

    No 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.

    ResponderBorrar
  184. Hola Jorge, probé con SUMAPRODUCTO como lo indicas en la nota que me sugeriste ayer, pero sigue sin funcionar.

    Logre 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.

    ResponderBorrar
  185. 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.

    ResponderBorrar
  186. Alguien que me ayudeeee

    en 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.

    ResponderBorrar
  187. ¿Y cuál es la columna con los valores que hay que sumar?

    ResponderBorrar
  188. la "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.

    slds

    ResponderBorrar
  189. Suponiendo que la tabla ocupa el rango de las filas 2:100, sería

    =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.

    ResponderBorrar
  190. 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.

    ResponderBorrar
  191. NO 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

    ResponderBorrar
  192. La tienes que hacer con SUMAPRODUCTO. Suponiendo que las edades se encuentran en el rango A1:A25, usamos

    =SUMAPRODUCTO((A1:A25>=15)*(A1:A25<=30))

    ResponderBorrar