Suma de rangos condicionales

21/04/2010 - 21:24 por Edison. | Informe spam
Hola a todos.

Tengo una duda con respecto a que función utilizar para este caso.

Ocurre que tengo una lista de datos una primer columna para nombre y código
de producto, y columnas Enero a Diciembre y en los datos, cifras de unidades
vendidas - estructura clásica de reportes XD.

La idea es que en unas filas en la parte superior, el usuario pueda digitar
un código de producto y que aparezca el nombre del producto en la fila
siguiente, Hasta ahí no hay problema, utilizo buscarv .

Luego el usuario debe poder seleccionar (lo hago con una lista de
validación) un mes de inicio y un mes final.

El resultado entonces que se muestra en la fila inferior debe ser igual a la
suma de la cantidad de unidades vendidas de ese producto que el usuario
seleccionó, durante los meses que el usuario ingresa.

La intención es hacerlo sin código sino con una función. (yo en lo personal
haría tablas dinámicas o otras cosas con VB, en fin). PERO me solicitaron
directamente hacerlo con una sola función.

Me estoy volviendo loco con funciones como sumar.si.conjunto (no logré
colocar las referencias a las celdas o nombres), pero supongo que podría
existir otra manera.

Un dato adicional - tengo la beta de Office 2010, así que no tengo el
asistente para sumas condicionales (que hubiera sido mi primera opción).

Agradezco de antemano la ayuda con mi dilema.

Saludos.

Preguntas similare

Leer las respuestas

#1 Benito Merino
21/04/2010 - 22:14 | Informe spam
On 21 abr, 21:24, Edison. wrote:
Hola a todos.

Tengo una duda con respecto a que función utilizar para este caso.

Ocurre que tengo una lista de datos una primer columna para nombre y código
de producto, y columnas Enero a Diciembre y en los datos, cifras de unidades
vendidas - estructura clásica de reportes XD.

La idea es que en unas filas en la parte superior, el usuario pueda digitar
un código de producto y que aparezca el nombre del producto en la fila
siguiente, Hasta ahí no hay problema, utilizo buscarv .

Luego el usuario debe poder seleccionar (lo hago con una lista de
validación) un mes de inicio y un mes final.

El resultado entonces que se muestra en la fila inferior debe ser igual a la
suma de la cantidad de unidades vendidas de ese producto que el usuario
seleccionó, durante los meses que el usuario ingresa.

La intención es hacerlo sin código sino con una función. (yo en lo personal
haría tablas dinámicas o otras cosas con VB, en fin). PERO  me solicitaron
directamente hacerlo con una sola función.

Me estoy volviendo loco con funciones como sumar.si.conjunto (no logré
colocar las referencias a las celdas o nombres), pero supongo que podría
existir otra manera.

Un dato adicional - tengo la beta de Office 2010, así que no tengo el
asistente para sumas condicionales (que hubiera sido mi primera opción).

Agradezco de antemano la ayuda con mi dilema.

Saludos.



Hola.

La siguiente fórmula funciona. Deberás entonces sustituir los nombres
de areas, filas y columnas por los rangos adecuados.
Para que sea operativo, mes inicio y mes fin deben ser numéricos (1 -
12).


=SUMAPRODUCTO((areadatos)*(filamesesnumero>=mesinicio)*(filamesesnumero<=mesfin)*(columnacódigos=codigoproducto))

Quizas te sirva un ejemplo más acotado:

=SUMAPRODUCTO(($C$5:$N$34)*(C3:N3>Ò)*(C3:N3<â)*(A5:A34²))


areadatos no incluye literales de columnas ni de filas

Como puede ser complejo de imaginar, te adjunto link de fichero que te
he preparado.

http://rapidshare.com/files/3785604...s.xls.html

Saludos,

Benito Merino
Barcelona
Respuesta Responder a este mensaje
#2 Gabriel Jaime
23/04/2010 - 16:54 | Informe spam
Hola,

Imagino la hoja con 14 columnas

A Código
B Descripción
C en adelante Cada mes ... Enero, febrero, marzo, etc...

y las unidades en una matriz de datos, una tabla.

Yo preferiaría tener solo 4 columnas

A Código
B Descripción
C Mes
D Unidades

Construir una base de datos, en sentido vertical se hace larga, en
sentido horizontal corta.

Y con la nueva base de datos, hacer tablas dinámicas por código de
producto, las tablas dinámicas permiten "filtar" por producto y mes y
sub-totalizar los resultados elegidos por el usuario.

Si la columna mes, no fuera mes, fuera mas bien una fecha, podría
agrupar por periodos, por ejemplo; trimestres o años


Saludos,

Gabriel




El 21-04-2010 02:24 p.m., Edison. escribió:
Hola a todos.

Tengo una duda con respecto a que función utilizar para este caso.

Ocurre que tengo una lista de datos una primer columna para nombre y código
de producto, y columnas Enero a Diciembre y en los datos, cifras de unidades
vendidas - estructura clásica de reportes XD.

La idea es que en unas filas en la parte superior, el usuario pueda digitar
un código de producto y que aparezca el nombre del producto en la fila
siguiente, Hasta ahí no hay problema, utilizo buscarv .

Luego el usuario debe poder seleccionar (lo hago con una lista de
validación) un mes de inicio y un mes final.

El resultado entonces que se muestra en la fila inferior debe ser igual a la
suma de la cantidad de unidades vendidas de ese producto que el usuario
seleccionó, durante los meses que el usuario ingresa.

La intención es hacerlo sin código sino con una función. (yo en lo personal
haría tablas dinámicas o otras cosas con VB, en fin). PERO me solicitaron
directamente hacerlo con una sola función.

Me estoy volviendo loco con funciones como sumar.si.conjunto (no logré
colocar las referencias a las celdas o nombres), pero supongo que podría
existir otra manera.

Un dato adicional - tengo la beta de Office 2010, así que no tengo el
asistente para sumas condicionales (que hubiera sido mi primera opción).

Agradezco de antemano la ayuda con mi dilema.

Saludos.
Respuesta Responder a este mensaje
#3 JANTHER
26/04/2010 - 19:32 | Informe spam
Hola Grabriel.

No puedes
hacer tablas dinámicas por código de producto,

Ya que Edison necesita

> La intención es hacerlo sin código sino con una función. (yo en lo personal
> haría tablas dinámicas o otras cosas con VB, en fin). PERO me solicitaron
> directamente hacerlo con una sola función.




Edison, aun no tengo le beta del 2010 pero creo que no puede faltar la
funcion "subtotal". Esta funcion, utiliza solo los resultados que le estas
mostrando, inclusive si lo que tienes es un autofiltro.

Si la utilizas solo tienes que ocultar los otros resultados, para hacerlo se
me ocurre un filtro en tus formulas para que te muestre solo el rango de
fechas por decir:

b1-fecha inicio
b2-fecha termino
a4-fecha
b4-productos vendidos en la fecha a1
=SI(Y($B$1<¤,$B$2>¤),B4,"")

O simplemente en tu autofiltro seleccionas tu rango de fechas

Saludos
J. Antonio Hernández B.
Respuesta Responder a este mensaje
#4 Gabriel Jaime
28/04/2010 - 03:20 | Informe spam
Hola,

¿No se puede agrupar por el código las unidades vendidas en los
diferentes meses en una estructura de base de datos, para resumir la
ventas con tablas dinámicas?

¿Pues entonces las tablas dinámicas que he hecho y si funcionan como los
hacen?

Gabriel Jaime


El 26-04-2010 12:32 p.m., JANTHER escribió:

Hola Grabriel.

No puedes
hacer tablas dinámicas por código de producto,

Ya que Edison necesita

La intención es hacerlo sin código sino con una función. (yo en lo personal
haría tablas dinámicas o otras cosas con VB, en fin). PERO me solicitaron
directamente hacerlo con una sola función.






Edison, aun no tengo le beta del 2010 pero creo que no puede faltar la
funcion "subtotal". Esta funcion, utiliza solo los resultados que le estas
mostrando, inclusive si lo que tienes es un autofiltro.

Si la utilizas solo tienes que ocultar los otros resultados, para hacerlo se
me ocurre un filtro en tus formulas para que te muestre solo el rango de
fechas por decir:

b1-fecha inicio
b2-fecha termino
a4-fecha
b4-productos vendidos en la fecha a1
=SI(Y($B$1<¤,$B$2>¤),B4,"")

O simplemente en tu autofiltro seleccionas tu rango de fechas

Saludos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida