Foros del Web » Soporte técnico » Ofimática »

suma de cuadrados de un intervalo

Estas en el tema de suma de cuadrados de un intervalo en el foro de Ofimática en Foros del Web. Hola, estoy buscando la funcion (o la anidacion de funciones) de una hoja de calculo que me permita obtener el resultado de sumar los cuadrados ...
  #1 (permalink)  
Antiguo 31/10/2008, 10:00
 
Fecha de Ingreso: agosto-2008
Mensajes: 240
Antigüedad: 15 años, 7 meses
Puntos: 6
suma de cuadrados de un intervalo

Hola, estoy buscando la funcion (o la anidacion de funciones) de una hoja de calculo que me permita obtener el resultado de sumar los cuadrados de cada numero de un intervalo definido entre dos celdas.

Es decir, en una primera celda escribir un numero, en una segunda otro, y en la tercera el resultado.

Si el primer numero es, imaginemos 1, y el segundo 3, quiero que la hoja de calculos me haga esto:

1*1 + 2*2 + 3*3 = 14 (14 deberia mostrarse en la tercera celda)

No conozco la funcion que es ni tampoco si es posible al go asi. podriais ayudarme?

Desde ya gracias
  #2 (permalink)  
Antiguo 31/10/2008, 10:29
 
Fecha de Ingreso: julio-2006
Ubicación: Madrid
Mensajes: 943
Antigüedad: 17 años, 8 meses
Puntos: 56
Respuesta: suma de cuadrados de un intervalo

Hola,

Pues tal como lo dices no se me ocurre, pero la función suma.cuadrados de excel vale para eso.
En tu caso le pasarías tres argumentos:

SUMA.CUADRADOS(1;2;3)

Y eso da 14

Pero que te reconozca el intervalo..... y además sume los cuadrados..... así de pronto, no, aunque a lo mejor a alguien se le ocurre.

Un saludo.
  #3 (permalink)  
Antiguo 31/10/2008, 15:48
 
Fecha de Ingreso: agosto-2008
Mensajes: 240
Antigüedad: 15 años, 7 meses
Puntos: 6
Respuesta: suma de cuadrados de un intervalo

si, eso ya lo probe pero no me gusta como me queda. Quiero sumar intervalos bastante grandes y no es posible determinar un numero fijo de rangos porque no serviria para lo que quiero...jejeje

Pero muchas gracias
  #4 (permalink)  
Antiguo 31/10/2008, 17:52
Avatar de caesar.l  
Fecha de Ingreso: febrero-2007
Ubicación: Aguascalientes, México
Mensajes: 1.439
Antigüedad: 17 años, 2 meses
Puntos: 91
Respuesta: suma de cuadrados de un intervalo

Puedes probar haciendo tú una función, en el editor de VBA en un módulo defines:
Código:
Function SUMA_CUAD_RANG(A As Integer, B As Integer)
    Dim i As Integer
    Dim Suma As Integer

    Suma = 0
    If A < B Then
        For i = A To B
            Suma = Suma + i ^ 2
        Next i
    ElseIf A > B Then
        For i = B To A
            Suma = Suma + i ^ 2
        Next i
    Else
        Suma = A ^ 2
    End If
    SUMA_CUAD_RANG = Suma
End Function
Por ejemplo si en A1 tienes el valor menor del intervalo y en B1 tienes el valor mayor, y en C1 quieres la respuesta pones en la celda = SUMA_CUAD_RANG(A1,B1)

No importa cual sea el mayor, y si es el mismo valor, solo saca el cuadrado de ese valor, saludos
__________________
Yo solo sé, que no sé nada...

Última edición por caesar.l; 01/11/2008 a las 11:46 Razón: Corregir el codigo
  #5 (permalink)  
Antiguo 01/11/2008, 09:51
 
Fecha de Ingreso: agosto-2008
Mensajes: 240
Antigüedad: 15 años, 7 meses
Puntos: 6
Respuesta: suma de cuadrados de un intervalo

Hola Caesar, no se que es el editor VBA, podrias explicarmelo?

Gracias.

PD: Soy usuario Linux, asi que si VB = Visual Basic, no dispongo de el.
  #6 (permalink)  
Antiguo 01/11/2008, 11:45
Avatar de caesar.l  
Fecha de Ingreso: febrero-2007
Ubicación: Aguascalientes, México
Mensajes: 1.439
Antigüedad: 17 años, 2 meses
Puntos: 91
Respuesta: suma de cuadrados de un intervalo

uy perdon con eso de que no se especifica que suite es, uno se va con lo comercial, Manejas Open Office? el editor de VBA es un programa auxiliar de Excel para hacer, mmm como seria, como scripts, que son llamadas macros (espero que alguien con mayor conocimiento pueda ayudarnos para definirlo mejor)

En el caso de open office esta en Herramientas->Macros->Organizar Macros
Del arbol de la izq defines donde quieres porner la marcro (en la hoja de calculo o en el programa en si) Selecionas Main y das click en editar, te sale abajo un codigo que dice algo asi

Código:
REM  *****  BASIC  *****

Sub Main

End Sub
Abajito de eso pones

Código:
Function SUMA_CUAD(A As Integer, B As Integer)

    Dim i As Integer
    Dim Suma As Integer

    Suma = 0
    If A < B Then
        For i = A To B
            Suma = Suma + i ^ 2
        Next i
    ElseIf A > B Then
        For i = B To A
            Suma = Suma + i ^2
        Next i
    Else
        Suma = A * B
    End If
    SUMA_CUAD = Suma

End Function
Y ya cuando en las celdas pones

Código:
=SUMA_CUAD(A1;B1)
Espero darme a entener, saludos
__________________
Yo solo sé, que no sé nada...

Última edición por caesar.l; 01/11/2008 a las 11:47 Razón: Corregir escrito
  #7 (permalink)  
Antiguo 02/11/2008, 06:17
 
Fecha de Ingreso: agosto-2008
Mensajes: 240
Antigüedad: 15 años, 7 meses
Puntos: 6
Respuesta: suma de cuadrados de un intervalo

Caesar lo he hecho, pero en la celda donde tiene que poner el resultado me aparece esto: #VALOR!

Creo que no he hecho nada mal, porque he seguido tus pasos al pie de la letra.....

Gracias
  #8 (permalink)  
Antiguo 02/11/2008, 15:06
Avatar de caesar.l  
Fecha de Ingreso: febrero-2007
Ubicación: Aguascalientes, México
Mensajes: 1.439
Antigüedad: 17 años, 2 meses
Puntos: 91
Respuesta: suma de cuadrados de un intervalo

Prueba con la seguridad de los macros, en Herramientas->Opciones, en Openoffice.org->Seguridad; Seguridad de macros... y seleccionar en el nivel de seguridad medio para que puedas decidir si quieres que se activen las macros, sino prueba este archivo

suma de cuadrados

saludos
__________________
Yo solo sé, que no sé nada...
  #9 (permalink)  
Antiguo 10/11/2008, 15:38
 
Fecha de Ingreso: agosto-2008
Mensajes: 240
Antigüedad: 15 años, 7 meses
Puntos: 6
Respuesta: suma de cuadrados de un intervalo

Gracias Caesar, pero eso tampoco me funciono. Al poner valores como por ejemplo 94 y 99 me daba error. Me abria la ventana de edicion del macro y me daba error.

Que puede ser? esque es el mismo error que me salia cuando lo copiaba yo directamente
  #10 (permalink)  
Antiguo 10/11/2008, 16:25
 
Fecha de Ingreso: julio-2006
Ubicación: Madrid
Mensajes: 943
Antigüedad: 17 años, 8 meses
Puntos: 56
Respuesta: suma de cuadrados de un intervalo

Hola,
Creo que es el tipo de datos, es demasiado pequeño para esa operación
Modifica lo que te he puesto en rojo para que quede así y creo que funcionará

Código:
Function SUMA_CUAD(A As Double, B As Double)

    Dim i As Integer
    Dim Suma As Double

    Suma = 0
    If A < B Then
        For i = A To B
            Suma = Suma + i ^ 2
        Next i
    ElseIf A > B Then
        For i = B To A
            Suma = Suma + i ^2
        Next i
    Else
        Suma = A * B
    End If
    SUMA_CUAD = Suma

End Function
Un saludo
  #11 (permalink)  
Antiguo 10/11/2008, 16:37
Avatar de caesar.l  
Fecha de Ingreso: febrero-2007
Ubicación: Aguascalientes, México
Mensajes: 1.439
Antigüedad: 17 años, 2 meses
Puntos: 91
Respuesta: suma de cuadrados de un intervalo

Bueno, no pensé que fuera tan grande, jejeje pero ya con los cambios que dio jchuk ya funciona, lo probe con ese intervalo. saludos


[Edición]
Pues probando los limites de la función, me di cuenta que tampoco te deja intervalos muy grandes (>45000) y no por la variable Suma, sino por la variable i, asi que si quieres variaciones mas grandes, pudes remplazar la definicion de i por un Double en vez de un Integer

Código:
Function SUMA_CUAD(A As Double, B As Double)

    Dim i As Double
    Dim Suma As Double

    Suma = 0
    If A < B Then
        For i = A To B
            Suma = Suma + i ^ 2
        Next i
    ElseIf A > B Then
        For i = B To A
            Suma = Suma + i ^2
        Next i
    Else
        Suma = A * B
    End If
    SUMA_CUAD = Suma

End Function
Yo en el rango de -100 000 a 100 000 y no me causa problemas mas que un retardo en el calculo

[/Edición]
__________________
Yo solo sé, que no sé nada...

Última edición por caesar.l; 10/11/2008 a las 16:52 Razón: Modificar codigo
  #12 (permalink)  
Antiguo 11/11/2008, 05:13
 
Fecha de Ingreso: agosto-2008
Mensajes: 240
Antigüedad: 15 años, 7 meses
Puntos: 6
Respuesta: suma de cuadrados de un intervalo

Ahora si que funciona correctamente. Muchas gracias a ambos por la gran ayuda recibida
  #13 (permalink)  
Antiguo 11/11/2008, 11:33
Avatar de caesar.l  
Fecha de Ingreso: febrero-2007
Ubicación: Aguascalientes, México
Mensajes: 1.439
Antigüedad: 17 años, 2 meses
Puntos: 91
Respuesta: suma de cuadrados de un intervalo

De nada, un gusto ayudarte
__________________
Yo solo sé, que no sé nada...
  #14 (permalink)  
Antiguo 11/11/2008, 11:42
 
Fecha de Ingreso: julio-2006
Ubicación: Madrid
Mensajes: 943
Antigüedad: 17 años, 8 meses
Puntos: 56
Respuesta: suma de cuadrados de un intervalo

A mandar, jeje
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:18.