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

#11 Raul
04/11/2003 - 20:21 | Informe spam
Mmmhhh y si lo intentas en excel asi: =-(3^2)

"Fernando Arroyo" wrote in message
news:
El comportamiento que describes no es un fallo, sino algo derivado del orden
de precedencia de los operadores en Excel:

http://support.microsoft.com/defaul...?scid=http://support.microsoft.com:
80/support/kb/articles/q61/9/41.asp&NoWebContent=1

El artículo del enlace (en inglés, me temo) habla principalmente de consejos
para cambiar de Lotus 1-2-3 a Excel, pero en el apartado "Calculation order"
hay una tabla seguida de una nota, y pienso que ambas pueden resultar
esclarecedoras.
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Fernán Mateos" escribió en el mensaje
news:bo69cr$gks$
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.


Respuesta Responder a este mensaje
#12 jordi
04/11/2003 - 20:22 | Informe spam
En programación el signo - tiene dos significados, resta y negación.
En matemáticas el signo - también tiene dos significados, resta y número
negativo.


Veamos estas operaciones, desde el punto de vista matemático:

4^2 = 16
-4^2 = 16
-(4^2) = -16

Utilizando tu criterio (el definido por el orden de las precedencias en
programacion) la segunda operacion debería se -16, pero vemos que en
matemáticas la respuesta correcta es 16, porque el signo -, no significa una
operación, sino que es parte del mismo número.

Por lo tanto, creo que el comportamiento de Excel es el correcto .






"Faustino Toba" escribió en el mensaje
news:O0%
Curioso... No se si será un bug, pero por lo menos se puede hablar de
inconsistencia.
En Excel el negativo tiene preferencia al ^
En VBA tiene preferencia el ^
Lo puedes ver en las ayudas correspondientes (Uso el XP)
Saludos,
Faustino Toba
Caracas

"Fernán Mateos" wrote in message
news:bo85tm$a5t$
Al contrario:
En cualquier lenguaje, si se escribe -3^2-6 debe obtenerse -15, por
preferencias. El "^" toma preferencia sobre el "-".
De hecho, si se crea una función en Excel VBA que haga esto, LAS
PREFERENCIAS DE OPERACIONES FUNCIONAN CORRECTAMENTE, no como cuando se
trabaja en las celdas.

Insisto en que es un error (y bastante grave) de Excel desde hace un


montón
de versiones.

Un saludo.


"ABC" escribió en el mensaje
news:
> Hola Fernán:
>
> Sí -3^2 el resultado es 9
>
> Sí -3^2-6 el resultado es 3
>
> En el primer caso, el signo menos hace referencia al valor negativo de


3,
en
> el segundo caso, el signo menos de 6 SÍ entra en el juego de


preferencias
de
> operandos. Como ejemplo observa que -(3^2)-6 el resultado es -15.
>
> Espero que esto resuelva tus dudas.
>
> Un saludo.
>
> "Fernán Mateos" escribió en el mensaje
> news:bo80eu$583$
> > Sí, pero debería funcionar como -3^2 = -9. Es un tema que de hecho a



me
> > ha dado problemas en modelos grandes.
> >
> >
> > "Manolo(MX)" escribió en el mensaje
> > news:%
> > > si pones -(3^2) ya te dá -9
> > >
> > > Saludos
> > >
> > > Manolo
> > > Cancun, México
> > >
> > >
> > >
> > >
> > >
> > > "Fernán Mateos" escribió en el
mensaje
> > > news:bo69cr$gks$
> > > > 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.
> > > >
> > > >
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#13 jordi
04/11/2003 - 20:23 | Informe spam
Te lo pregunta porque en Argentina gallego (ademas de español) lo utilizan
como en España utilizamos a los de Lepe.



"Fernán Mateos" escribió en el mensaje
news:bo8149$5pd$
¿Por qué me preguntas si soy gallego?

"jose miguel ramirez" escribió en el


mensaje
news:
> Gallego?
>
> "Fernán Mateos" escribió en el mensaje
> news:bo69cr$gks$
> > 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.
> >
> >
>
>


Respuesta Responder a este mensaje
#14 Fernando Arroyo
04/11/2003 - 21:42 | Informe spam
"Raul" escribió en el mensaje news:

Mmmhhh y si lo intentas en excel asi: =-(3^2)




Eso es precisamente lo que sugiere el artículo de Microsoft: "use parentheses to change the order of evaluation; for example, =-(2^4) produces -16. ", o sea, "usa paréntesis para cambiar el orden de evaluación [de la fórmula]; por ejemplo, =-(2^4) da como resultado -16"

Otra posibilidad (seguro que hay más) es "decirle" a Excel explícitamente que el - es un signo aritmético, no lógico:

=0-3^2

Un saludo.


Fernando Arroyo
MS MVP - Excel


"Fernando Arroyo" wrote in message
news:
El comportamiento que describes no es un fallo, sino algo derivado del orden
de precedencia de los operadores en Excel:

http://support.microsoft.com/defaul...?scid=http://support.microsoft.com:
80/support/kb/articles/q61/9/41.asp&NoWebContent=1

El artículo del enlace (en inglés, me temo) habla principalmente de consejos
para cambiar de Lotus 1-2-3 a Excel, pero en el apartado "Calculation order"
hay una tabla seguida de una nota, y pienso que ambas pueden resultar
esclarecedoras.
Un saludo.


Fernando Arroyo
MS MVP - Excel


Respuesta Responder a este mensaje
#15 Faustino Toba
04/11/2003 - 23:36 | Informe spam
Totalmente de acuerdo con lo que dices.
Pero... (perdona por "rizar el rizo") en la siguiente expresión:
-n^2
el menos forma parte del número n o es una operación?

Saludos
Faustino Toba
Caracas
"jordi" wrote in message news:
En programación el signo - tiene dos significados, resta y negación.
En matemáticas el signo - también tiene dos significados, resta y número
negativo.


Veamos estas operaciones, desde el punto de vista matemático:

4^2 = 16
-4^2 = 16
-(4^2) = -16

Utilizando tu criterio (el definido por el orden de las precedencias en
programacion) la segunda operacion debería se -16, pero vemos que en
matemáticas la respuesta correcta es 16, porque el signo -, no significa una
operación, sino que es parte del mismo número.

Por lo tanto, creo que el comportamiento de Excel es el correcto .






"Faustino Toba" escribió en el mensaje
news:O0%
Curioso... No se si será un bug, pero por lo menos se puede hablar de
inconsistencia.
En Excel el negativo tiene preferencia al ^
En VBA tiene preferencia el ^
Lo puedes ver en las ayudas correspondientes (Uso el XP)
Saludos,
Faustino Toba
Caracas

"Fernán Mateos" wrote in message
news:bo85tm$a5t$
> Al contrario:
> En cualquier lenguaje, si se escribe -3^2-6 debe obtenerse -15, por
> preferencias. El "^" toma preferencia sobre el "-".
> De hecho, si se crea una función en Excel VBA que haga esto, LAS
> PREFERENCIAS DE OPERACIONES FUNCIONAN CORRECTAMENTE, no como cuando se
> trabaja en las celdas.
>
> Insisto en que es un error (y bastante grave) de Excel desde hace un
montón
> de versiones.
>
> Un saludo.
>
>
> "ABC" escribió en el mensaje
> news:
> > Hola Fernán:
> >
> > Sí -3^2 el resultado es 9
> >
> > Sí -3^2-6 el resultado es 3
> >
> > En el primer caso, el signo menos hace referencia al valor negativo de
3,
> en
> > el segundo caso, el signo menos de 6 SÍ entra en el juego de
preferencias
> de
> > operandos. Como ejemplo observa que -(3^2)-6 el resultado es -15.
> >
> > Espero que esto resuelva tus dudas.
> >
> > Un saludo.
> >
> > "Fernán Mateos" escribió en el mensaje
> > news:bo80eu$583$
> > > Sí, pero debería funcionar como -3^2 = -9. Es un tema que de hecho a

> me
> > > ha dado problemas en modelos grandes.
> > >
> > >
> > > "Manolo(MX)" escribió en el mensaje
> > > news:%
> > > > si pones -(3^2) ya te dá -9
> > > >
> > > > Saludos
> > > >
> > > > Manolo
> > > > Cancun, México
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > "Fernán Mateos" escribió en el
> mensaje
> > > > news:bo69cr$gks$
> > > > > 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.
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>


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