none
Operaciones con grados RRS feed

  • Pregunta

  • Tengo problemas al hacer operaciones con grados. No entiendo como Mic. da todas las facilidades posibles para el tema horas y no da posibilidades de formateo de celdas para trabajar con grados (trigonometría).

    lunes, 13 de agosto de 2007 15:46

Respuestas

  • 1) A ver si te he entendido:

     

    93 29 48
    12 45 48
    106 15 36
    =SEGUNDO(SUMAPRODUCTO(NSHORA(;B1:B2;C1:C2)))
    =MINUTO(SUMAPRODUCTO(NSHORA(;B1:B2;C1:C2)))
    =SUMA(A1:A2)+TEXTO(SUMAPRODUCTO(NSHORA(;B1:B2;C1:C2));"[hh]")

    Nota1: La doble "hh" en la ultima formula es para evitar el emoticon que aparece si se usa una sola "h".

    Nota2: Si tambien necesitas topar los Grados en 360, te conformas con que 360=0 y la suma no puede ser un valor negativo, entonces la primera formula se podria modificar de la siguiente manera:

    =RESIDUO(SUMA(A1:A2)+TEXTO(SUMAPRODUCTO(NSHORA(;B1:B2;C1:C2));"[hh]");360)

     

    2) Insisto, tu formula es incorrecta (vuelve a leer mi post anterior para entender el por que)

    Aparte de lo dicho anteriormente, comentarte que una formula solo puede devolver un valor en la celda donde esta introducida y no puede modificar los valores de otras celdas a no ser que esas tengan otras formulas que dependan del resultado de la formula en cuestion.

     

    En el mejor de los casos, tu formula podria ser representada de la siguiente manera:

     

    a. en la celda de minutos:

    =SI((T4+T5+((U1+U2)>60))>60;T4+T5-60;T4+T5)+((U1+U2)>60)

    o mejor

    =B1+B2+((C1+C2)>60)-60*((B1+B2+((C1+C2)>60))>60)

     

    b. en la celda de segundos:

    =SI((U4+U5)>60;U4+U5-60;U4+U5)

    o mejor

    =U4+U5-60*((U4+U5)>60)

     

    Pero esas formulas no contemplan la posibilidad de que se sumen mas de una fila y por tanto la suma de cada unidad alcance o supere 120 :-( , cosa que esta prevista en la solucion que te he puesto en el punto 1)

    martes, 14 de agosto de 2007 17:01

Todas las respuestas

  • ¿Podrias ser mas especifico/a? ¿Que es lo que buscas, que haces y que obtienes exactamente? Creo que tus conclusiones podrian ser precipitadas.

    martes, 14 de agosto de 2007 0:36
  • Estoy intentando mecanizar calculos de Navegación Astronómica que se basa en la resolución de triángulos esféricos. En cualquier operación todo va bien hasta que el resultado son 62 segundos o 65 minutos o 366 grados en cuyo caso tengo que poner un montón de condicionales para que el resultado sea el correcto cuando lo más sencillo sería poder formatear las celdas y que hiciera el cálculo como hace con las horas. Además, ¿como puedo hacer si la prueba lógica es verdadera que haya 2 resultados verdaderos o 2 sio es falsa?? al parecer sólo puedo poner 1.

    Te pongo un ejemplo de condicional   

    =SI(U4+U5>60;Y((U4+U5)-60;(T4+T5)+1);U4+U5) el resultado de la celda es "Verdadero" pero no obtengo resultado numérico

     

    martes, 14 de agosto de 2007 6:29
  • ¿Podrias dar ejemplos concretos de los datos en las celdas, las referencias de dichas celdas y los resultados exactos que obtienes y los que esperas obtener, porfa?

     

    Respecto a tu formula, la parte erronea es la siguiente: Y((U4+U5)-60;(T4+T5)+1)

    La funcion Y() es una funcion logica que devuelve VERDADERO o FALSO. La expresion como esta puesta equivale a lo siguiente: Y((U4+U5-60)<>0;(T4+T5+1)<>0)

     

    ¿Comentas detalles adicionales?

    martes, 14 de agosto de 2007 12:19
  • Tengo 3 columnas cuyos datos (en dos filas) son grados, minutos y segundos. En concreto tengo en la columna de grados 93º y 12º, 29' y 45' y 48'' 48'' cuya suma debería dar como resultado106º 15' 36'' pero lo que obtengo es 105º 74' 96', lo que evidentemente es incorrecto y aquí viene el problema, como condiciono que si la celda del sumatorio de segundos es >60 reste 60 al resultado y añada 1 minuto al sumatorio de los minutos y así sucesivamente hasta los grados. Es facil decir =si(celdasumatoriosegundos>60;celdasumatoriosegundos-60;celdasumatoriosegundos)  pero como añado la condición de añadir 1 minuto al sumatorio de la celda minutos??

    La función que te he puesto de ejemplo funciona el problema es que da como resultado "verdadero" en lugar de numérico, se puede solucionar este inconveniente??

     

    martes, 14 de agosto de 2007 13:40
  • 1) A ver si te he entendido:

     

    93 29 48
    12 45 48
    106 15 36
    =SEGUNDO(SUMAPRODUCTO(NSHORA(;B1:B2;C1:C2)))
    =MINUTO(SUMAPRODUCTO(NSHORA(;B1:B2;C1:C2)))
    =SUMA(A1:A2)+TEXTO(SUMAPRODUCTO(NSHORA(;B1:B2;C1:C2));"[hh]")

    Nota1: La doble "hh" en la ultima formula es para evitar el emoticon que aparece si se usa una sola "h".

    Nota2: Si tambien necesitas topar los Grados en 360, te conformas con que 360=0 y la suma no puede ser un valor negativo, entonces la primera formula se podria modificar de la siguiente manera:

    =RESIDUO(SUMA(A1:A2)+TEXTO(SUMAPRODUCTO(NSHORA(;B1:B2;C1:C2));"[hh]");360)

     

    2) Insisto, tu formula es incorrecta (vuelve a leer mi post anterior para entender el por que)

    Aparte de lo dicho anteriormente, comentarte que una formula solo puede devolver un valor en la celda donde esta introducida y no puede modificar los valores de otras celdas a no ser que esas tengan otras formulas que dependan del resultado de la formula en cuestion.

     

    En el mejor de los casos, tu formula podria ser representada de la siguiente manera:

     

    a. en la celda de minutos:

    =SI((T4+T5+((U1+U2)>60))>60;T4+T5-60;T4+T5)+((U1+U2)>60)

    o mejor

    =B1+B2+((C1+C2)>60)-60*((B1+B2+((C1+C2)>60))>60)

     

    b. en la celda de segundos:

    =SI((U4+U5)>60;U4+U5-60;U4+U5)

    o mejor

    =U4+U5-60*((U4+U5)>60)

     

    Pero esas formulas no contemplan la posibilidad de que se sumen mas de una fila y por tanto la suma de cada unidad alcance o supere 120 :-( , cosa que esta prevista en la solucion que te he puesto en el punto 1)

    martes, 14 de agosto de 2007 17:01
  • No entiendo muy bien porqué usas la función sumaproducto pero el resultado es correcto y funciona perfectamente.

    Muchas, muchas gracias

     

    miércoles, 15 de agosto de 2007 6:38
  • Hola JBGLOG,

     

    La razon por la que uso la funcion SUMAPRODUCTO es sencilla:

     

    Las formulas que te he dado realizan operaciones con matrices (rangos) enteras. Por tanto, si no hubiese utilizado la funcion SUMAPRODUCTO, dichas formulas serian matriciales y requererian de entrada matricial, o sea mediante la combinacion de teclas {Ctrl}+{Shift}+{Enter}. Es que SUMAPRODUCTO es una de las pocas funciones que interpreta las operaciones matriciales sin necesidad de entrada matricial.

     

    Si prefieres usar la funcion SUMA, deberas introducir las formulas mediante la combinacion de teclas Ctrl+Shift+Enter (no un simple Enter) de tal manera que aparezcan entre corchetes (no vale con poner los corchetes de forma manual):

     

    {=SUMA(A1:A2)+TEXTO(SUMA(NSHORA(;B1:B2;C1:C2));"[hh]")}

    {=MINUTO(SUMA(NSHORA(;B1:B2;C1:C2)))}

    {=SEGUNDO(SUMA(NSHORA(;B1:B2;C1:C2)))}

    miércoles, 15 de agosto de 2007 11:34
  • Muy util la aclaración KL pero sigo teniendo problemas básicamente porque hay muchos condicionantes, por ejemplo, si determinada celda="W" se deben recalcular otras celdas (varias), asi que no puedo utilizar la función SI y no se como concatenar con funcio Y y obtener un resultado numérico, si la utilizo solo oibtengo Verdadero o Falso. Creo que lo mejor será programar en VB. Me echarías una mano en eso?? Gracias de todas formas tu ayuda ha sido muy valiosa

     

    jueves, 16 de agosto de 2007 7:00
  • Primero, explicame bien un ejemplo concreto, porque creo que lo podemos hacer mediante formulas. Y si no, VBA no se nos va a escapar :-) Si quieres, mandame un archivo *.xls de ejemplo al NOSPAMlapink2000@PLEASEhotmail.com quitando NOSPAM y PLEASE.

     

    viernes, 17 de agosto de 2007 12:11