Pedazo de fallo de excel

03/11/2003 - 20:13 por Fernán Mateos | Informe spam
En primer lugar, yo no sé si esto ya lo sabe todo el mundo o no. Por si
acaso, lo cuento.

Probad a escribir lo siguiente en una casilla de Excel: -3^2

Según las reglas de preferencia de operaciones, el resultado debería ser -9,
ya que el "^" toma preferencia sobre el "-". Pues no. El resultado es 9.

Por otro lado, si uno se construye con VBA una función que haga esto,
funciona correctamente.

El objetivo de este mail es doble:

1. Que la gente que no lo sepa se entere, porque esto puede dar mucho
follón.

2. ¿Cómo se puede avisar o preguntar a Microsoft acerca de este mal
funcionamiento?

Un saludo.

Fernán.

Preguntas similare

Leer las respuestas

#41 Manuel Romero
07/11/2003 - 20:24 | Informe spam
La unica conclusion que puede salir de esta discusion es:

EN CASO DE DUDA, USE PARENTESIS

Y no solo en Excel, en cualquier lenguaje informatico, como tu los llamas

(creo que esto ya lo dijo antes alguien en el transcurso de la discusion)

"Fernán Mateos" escribió en el mensaje
news:fpRqb.907475$
El tema no es que "La diferencia que ha generado este lio es que la
precedencia del operador unario de cambio de signo, en VBA esta despues de
la exponenciacion y en excel, antes", sino que EN NINGUNA PARTE, EN NINGÚN
LENGUAJE INFORMÁTICO NI EN MATEMÁTICAS se trabaja como hace Excel en las
casillas.

Excel es una herramienta muy potente, cómoda y útil en el mundo


científico.
Es una verdadera lástima que no tenga correctamente implementadas las
preferencias de cálculo en el entorno de las casillas.


"Manuel Romero" <mromerop.arroba.quita.esto.hotmail.com> escribió en el
mensaje news:
> > Pues a mi me parece que el que no te enteras eres tú. matemáticamente


no
> > debe haber ninguna diferencia entre lo que tu llamas un signo de resta


y
> un
> > signo de numero, en la expresion del ejemplo anterior no hay ninguna
forma
>
> El simbolo "-" puede operar de dos formas, como operador binario de


resta
o
> como operador unario de cambio de signo y cada uno tiene un orden de
> precedencia diferente Y SON DIFERENTES
>
> En excel colocas =1-3^2 es igual a -8, en VBA es igual, por lo tanto la
> precedencia del operador binario de resta es la misma en ambos
>
> La diferencia que ha generado este lio es que la precedencia del


operador
> unario de cambio de signo, en VBA esta despues de la exponenciacion y en
> excel, antes
>
>
>
> "Jose A. Caballero" escribió en el mensaje
> news:boe2k9$di6$
> > Pues a mi me parece que el que no te enteras eres tú. matemáticamente


no
> > debe haber ninguna diferencia entre lo que tu llamas un signo de resta


y
> un
> > signo de numero, en la expresion del ejemplo anterior no hay ninguna
forma
> > de diferenciarlo y las operaciones se hacen de una forma u otra de
acuerdo
> a
> > la precedencia que se le de a los operadores y no debería haber la mas
> > mínima diferencia entre lo el resultado cuando lo haces en la pizarra


o
lo
> > haces en una hoja de excel.
> >
> > "sabino" escribió en el mensaje
> > news:u$
> > > Veo que no te has enterado.
> > > Ese menos indica una operación de resta , no es el signo del número.
> > >
> > >
> > >
> > > "Jose A. Caballero" escribió en el mensaje
> > > news:bodvrl$b27$
> > > > O sea que si alguien escribe en la pizarra de una clase:
> > > >
> > > > a= 2 - x2 y a contianuación hacemos x=2, según sabino el


resultado
es
> > a=6
> > > >
> > > > Venga ya!!!!
> > > >
> > > >
> > > > "sabino" escribió en el mensaje
> > > > news:#
> > > > > Pues lo estás enseñando mal.
> > > > > -4 es un número (negativo pero un numero como otro cualquiera
> > positivo)
> > > y
> > > > > por lo tanto no necesita el parentesis.
> > > > >
> > > > > "Anna" escribió en el mensaje
> > > > > news:
> > > > > > jordi wrote:
> > > > > >
> > > > > > > Yo creo que el estandar a utilizar es la matemática.
> > > > > > >
> > > > > > >
> > > > > > De acuerdo, pero en matemáticas,
> > > > > >
> > > > > > 4^2 = 16
> > > > > > -4^2 = -16
> > > > > > (-4)^2 = 16
> > > > > >
> > > > > > En la expresión -(4^2) yo diría que el resultado es -16 y


sobra
el
> > > > > > paréntesis.
> > > > > >
> > > > > >
> > > > > > Llevo casi 15 años enseñándolo así.
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#42 crescencio
07/11/2003 - 20:43 | Informe spam

Luego entonces en la expresión original "-3^2" el "-" es operador uninario


u
operador binario?
==> Si es uninario el resultado es 9. En la casilla tendrías que poner


=-3^2
==> Si es binario el resultado seria -9. En la casilla tendrías que poner
=-(3^2)



Un operador binario es el que necesita 2 operandos. por ejemplo la resta 3 -
2, o la exponenciación 3^2

Un operador unario sólo necesita un operando. Por ejemplo el operador
unario - aplicado al numero 3 daria -3 y aplicado al número -3, daria 3.

En el caso que citas -3^2, si el - es considerado un operador unario
actuaria sobre el resultado de la operacion 3^2 = 9 y entonces el resultado
sería -9. Pero si el - es considerado como parte del número (para indicar
que es un número negativo) el resultado seria 9, porque (-3)*(-3) = (+9)
Respuesta Responder a este mensaje
#43 Anna
10/11/2003 - 23:39 | Informe spam
sabino wrote:


Yo creo que todo el mundo entiende, cuando escribe -3^2 que lo que está
elevando al cuadrado es el número -3 (y no que está elevando al cuadrado 3 y
despues le quiere cambiar el signo), por lo que opino que el comportamiento
de Excel es el correcto (PERO A MI ESTO NO ME CAUSA NINGUN TRASTORNO).




Si todo el mundo entiende eso, ¿qué estamos discutiendo?
Respuesta Responder a este mensaje
#44 Fernán Mateos
11/11/2003 - 09:02 | Informe spam
Pues que es justo al contrario.

CUANDO SE ESCRIBE -3^2, SE ELEVA EL 3 AL CUADRADO, NO EL -3. Y así en todos
los sistemas informáticos, EXCEPTO en las casillas de Excel. ¿Es esto
racional?

"Anna" escribió en el mensaje
news:
sabino wrote:

>
> Yo creo que todo el mundo entiende, cuando escribe -3^2 que lo que está
> elevando al cuadrado es el número -3 (y no que está elevando al cuadrado


3 y
> despues le quiere cambiar el signo), por lo que opino que el


comportamiento
> de Excel es el correcto (PERO A MI ESTO NO ME CAUSA NINGUN TRASTORNO).
>

Si todo el mundo entiende eso, ¿qué estamos discutiendo?

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