Sumaproducto cambia alternativamente

01/02/2006 - 21:12 por Oscar | Informe spam
Hola Grupo:

Expongo el problema. He elaborado una formula con sumaproducto, no tiene
mucha ciencia, es como las que han colocado en este foro.

=SUMAPRODUCTO((Base!$D$2:$D$65535
Sin embargo, en ocasiones tengo que colocar la condicion con referencia a la
celda y en ocasiones tengo que colocar el valor entre comillas, pero si una
vez me funciona con ¡, en otras ocasiones tengo que cambiar a ="27", por
ejemplo:

Alguien tendra una pista? : /
Oscar
Saludos desde México

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
02/02/2006 - 04:57 | Informe spam
hola, Oscar !

... =SUMAPRODUCTO((Base!$D$2:$D$65535> ... en ocasiones tengo que colocar la condicion con referencia a la celda y en ocasiones tengo que colocar el valor entre comillas
... si una vez me funciona con ¡, en otras ocasiones tengo que cambiar a ="27", por ejemplo:

... una pista? : /



1) no se si 'ibas' a exponer algun [otro] 'ejemplo'... -?- [o simplemente no tenga mayor importancia] :D
2) [creo que] tendras que ser mas 'explicito' en cuanto a algun 'problema' que estes obteniendo -?-
no veo que haya 'dificultad' para introducir [p.e. entre comillas] "27" en la celda A1 [y dejarla como parametro en la formula] -?-
3) lo que si [me parece que]... es -un poco- 'exagerado'... el buscar en 65534 filas -???-
[a reserva que sea 'indispensable' para 'otra/s parte/s' de la formula] -???-

comentas [si hubiera] algun detalle adicional ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Oscar
03/02/2006 - 16:12 | Informe spam
Hola Hector:

Me explico un poco mejor, la dificultad que tengo, es que debo cambiar la
formula de "A1" a "27", porque en ocasiones sirve con "A1" y otras con "27",
es decir:

=SUMAPRODUCTO((Base!$E$1:$E$60000="27")*(Base!$AC$1:$AC$60000="A"))
=SUMAPRODUCTO((Base!$E$1:$E$60000="A1")*(Base!$AC$1:$AC$60000="A"))

i duda es porque se presenta, esta situación. Cabe aclarar que le doy F9 y
Ctrl+ May+F9 y arroja ceros la formula, pero si la cambio a la segunda, es
decir, de "A1" a "27", ya funciona, pero despues la utilizo nuevamente (otro
dia p.e.) y la tengo que regresar de "27" a "A1". Con respecto a las 65535,
tienes razon es mucho pero manejo bases de mas de 37000, la cual es variable.
De todas formas te envio el archivo a tu correo, tomandome el atrevimiento
para que lo veas igual y detectas otra cosa

Mil gracias por la ayuda
Oscar
Saludos desde México


"Héctor Miguel" escribió:

hola, Oscar !

> ... =SUMAPRODUCTO((Base!$D$2:$D$65535> > ... en ocasiones tengo que colocar la condicion con referencia a la celda y en ocasiones tengo que colocar el valor entre comillas
> ... si una vez me funciona con ¡, en otras ocasiones tengo que cambiar a ="27", por ejemplo:
>
> ... una pista? : /

1) no se si 'ibas' a exponer algun [otro] 'ejemplo'... -?- [o simplemente no tenga mayor importancia] :D
2) [creo que] tendras que ser mas 'explicito' en cuanto a algun 'problema' que estes obteniendo -?-
no veo que haya 'dificultad' para introducir [p.e. entre comillas] "27" en la celda A1 [y dejarla como parametro en la formula] -?-
3) lo que si [me parece que]... es -un poco- 'exagerado'... el buscar en 65534 filas -???-
[a reserva que sea 'indispensable' para 'otra/s parte/s' de la formula] -???-

comentas [si hubiera] algun detalle adicional ?
saludos,
hector.



Respuesta Responder a este mensaje
#3 KL
03/02/2006 - 16:55 | Informe spam
Hola Oscar,

=SUMAPRODUCTO((Base!$E$1:$E$60000="27")*(Base!$AC$1:$AC$60000="A"))
=SUMAPRODUCTO((Base!$E$1:$E$60000="A1")*(Base!$AC$1:$AC$60000="A"))



Me llama mucho la atencion el que uses las comillas casi indiscriminadamente en tu formula. Quizas aqui es donde tengas tu problema:

Base!$E$1:$E$60000="A1"
-> tiene poco sentido a no ser que se busque el valor "A1" y no la referencia a la celda [A1]

Base!$E$1:$E$60000="27"
-> tiene poco sentido a no ser que se busque la cadena de texto "27" y no el valor 27

Posiblemente la combinacion de corregir las formulas anteriores y entender que tipo de valor esta en la celda [A1] haria el truco.

Con respecto a las 65535,
tienes razon es mucho pero manejo bases de mas de 37000, la cual es variable.
De todas formas te envio el archivo a tu correo, tomandome el atrevimiento
para que lo veas igual y detectas otra cosa



Podrias usar rangos dinamicos.

1) Si tienes Excel 2003 bastaria con seleccionar toda la tabla una vez, ir al menu Datos>Lista>Crear Lista... y ajustar tu formula
al rango real. Ahora cuando anadas mas registros la formula cogera el rango correcto automaticamente.

2) Crea un nombre definido y usalo dentro de tu formula:

a/ Suponiendo que...
- La columna [A] no puede tener celdas vacias intercaladas
- La columna [A] contiene solo cadenas de texto

Prueba:
- menu Insertar>Nombre>Definir...
- nombre: rng1
- se refiere a...: =$E$1:INDICE($E:$E;COINCIDIR(REPETIR("z";255);$A:$A))
- boton Anadir
- nombre: rng2
- se refiere a...: =$AC$1:INDICE($AC:$AC;COINCIDIR(REPETIR("z";255);$A:$A))
- boton Anadir
- boton Aceptar

b/ Suponiendo que...
- La columna [A] no puede tener celdas vacias intercaladas
- La columna [A] contiene solo valores numericos

Prueba:
- menu Insertar>Nombre>Definir...
- nombre: rng1
- se refiere a...: =$E$1:INDICE($E:$E;COINCIDIR(1e307;$A:$A))
- boton Anadir
- nombre: rng2
- se refiere a...: =$AC$1:INDICE($AC:$AC;COINCIDIR(1e307;$A:$A))
- boton Anadir
- boton Aceptar

c/ Suponiendo que...
- La columna [A] no puede tener celdas vacias intercaladas
- La columna [A] contiene todo tipo de valores

Prueba:
- menu Insertar>Nombre>Definir...
- nombre: rng1
- se refiere a...: ÞSREF($E$1;;;CONTARA($A:$A))
- boton Anadir
- nombre: rng2
- se refiere a...: ÞSREF($AC$1;;;CONTARA($A:$A))
- boton Anadir
- boton Aceptar

Una vez creados los nombres puedes usarlos en tu formula asi:

=SUMAPRODUCTO((rng1¡)*(rng2="A"))

d/ Otra cosa que a veces hago es la siguiente.
Suponiendo que...
- La columna [A] no puede tener celdas vacias intercaladas
- La fila [1] contiene encabezados

Prueba:
- menu Insertar>Nombre>Definir...
- nombre: bd
- se refiere a...: ÞSREF($A$1;;;CONTARA($A:$A);CONTARA($1:$1))
- boton Anadir
- boton Aceptar

=SUMAPRODUCTO((INDICE(bd;;5)¡)*(INDICE(bd;;29)="A"))


Hay varias soluciones mas...

Saludos,
KL
Respuesta Responder a este mensaje
#4 Oscar
03/02/2006 - 20:16 | Informe spam
Hola KL

De hecho la formula que puse es un ejemplo, y meti la pata al colocar la
referencia A1 entre comillas :P

Pero en las formulas reales, lo cierto es que sucede ese cambio entre una y
otra formula. A veces funciona buscando el valor "27" y cuando no quiere,
pues opto por cambiarla a A1.

Si me lo permites, tambien me tomo el atrevimiento de mandartelo.

Oscar
Saludos desde México


"KL" escribió:

Hola Oscar,

> =SUMAPRODUCTO((Base!$E$1:$E$60000="27")*(Base!$AC$1:$AC$60000="A"))
> =SUMAPRODUCTO((Base!$E$1:$E$60000="A1")*(Base!$AC$1:$AC$60000="A"))

Me llama mucho la atencion el que uses las comillas casi indiscriminadamente en tu formula. Quizas aqui es donde tengas tu problema:

Base!$E$1:$E$60000="A1"
-> tiene poco sentido a no ser que se busque el valor "A1" y no la referencia a la celda [A1]

Base!$E$1:$E$60000="27"
-> tiene poco sentido a no ser que se busque la cadena de texto "27" y no el valor 27

Posiblemente la combinacion de corregir las formulas anteriores y entender que tipo de valor esta en la celda [A1] haria el truco.

> Con respecto a las 65535,
> tienes razon es mucho pero manejo bases de mas de 37000, la cual es variable.
> De todas formas te envio el archivo a tu correo, tomandome el atrevimiento
> para que lo veas igual y detectas otra cosa

Podrias usar rangos dinamicos.

1) Si tienes Excel 2003 bastaria con seleccionar toda la tabla una vez, ir al menu Datos>Lista>Crear Lista... y ajustar tu formula
al rango real. Ahora cuando anadas mas registros la formula cogera el rango correcto automaticamente.

2) Crea un nombre definido y usalo dentro de tu formula:

a/ Suponiendo que...
- La columna [A] no puede tener celdas vacias intercaladas
- La columna [A] contiene solo cadenas de texto

Prueba:
- menu Insertar>Nombre>Definir...
- nombre: rng1
- se refiere a...: =$E$1:INDICE($E:$E;COINCIDIR(REPETIR("z";255);$A:$A))
- boton Anadir
- nombre: rng2
- se refiere a...: =$AC$1:INDICE($AC:$AC;COINCIDIR(REPETIR("z";255);$A:$A))
- boton Anadir
- boton Aceptar

b/ Suponiendo que...
- La columna [A] no puede tener celdas vacias intercaladas
- La columna [A] contiene solo valores numericos

Prueba:
- menu Insertar>Nombre>Definir...
- nombre: rng1
- se refiere a...: =$E$1:INDICE($E:$E;COINCIDIR(1e307;$A:$A))
- boton Anadir
- nombre: rng2
- se refiere a...: =$AC$1:INDICE($AC:$AC;COINCIDIR(1e307;$A:$A))
- boton Anadir
- boton Aceptar

c/ Suponiendo que...
- La columna [A] no puede tener celdas vacias intercaladas
- La columna [A] contiene todo tipo de valores

Prueba:
- menu Insertar>Nombre>Definir...
- nombre: rng1
- se refiere a...: ÞSREF($E$1;;;CONTARA($A:$A))
- boton Anadir
- nombre: rng2
- se refiere a...: ÞSREF($AC$1;;;CONTARA($A:$A))
- boton Anadir
- boton Aceptar

Una vez creados los nombres puedes usarlos en tu formula asi:

=SUMAPRODUCTO((rng1¡)*(rng2="A"))

d/ Otra cosa que a veces hago es la siguiente.
Suponiendo que...
- La columna [A] no puede tener celdas vacias intercaladas
- La fila [1] contiene encabezados

Prueba:
- menu Insertar>Nombre>Definir...
- nombre: bd
- se refiere a...: ÞSREF($A$1;;;CONTARA($A:$A);CONTARA($1:$1))
- boton Anadir
- boton Aceptar

=SUMAPRODUCTO((INDICE(bd;;5)¡)*(INDICE(bd;;29)="A"))


Hay varias soluciones mas...

Saludos,
KL


Respuesta Responder a este mensaje
#5 KL
03/02/2006 - 20:25 | Informe spam
Si me lo permites, tambien me tomo el atrevimiento de mandartelo.



Pues si, no hay problema. Solo quita NOSPAM y PLEASE de mi direccion.

KL
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida