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

#16 Fernán Mateos
05/11/2003 - 12:01 | Informe spam
Vale, ya veo que Excel interpreta el signo negativo antes que la
exponenciación, pero veo dos problemas graves:

1. Eso lo hace cuando se trabaja en las celdas, pero no cuando se utiliza
VBA (inconsistencia), y esto tiene que ver con el punto siguiente:

2. Ningún lenguaje de programación ni herramienta de cálculo que yo conozca
trabaja así, en contra de todos los estándares. Puede inducir a muchos
errores. ¿No es una pena mantener algo así?

Un saludo.
Respuesta Responder a este mensaje
#17 Fernán Mateos
05/11/2003 - 12:03 | Informe spam
Vale, pero no le veo el sentido...

"jordi" escribió en el mensaje
news:%
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
#18 Fernando Arroyo
05/11/2003 - 16:10 | Informe spam
"Fernán Mateos" escribió en el mensaje news:boalak$rac$
Vale, ya veo que Excel interpreta el signo negativo antes que la
exponenciación, pero veo dos problemas graves:

1. Eso lo hace cuando se trabaja en las celdas, pero no cuando se utiliza
VBA (inconsistencia), y esto tiene que ver con el punto siguiente:

2. Ningún lenguaje de programación ni herramienta de cálculo que yo conozca
trabaja así, en contra de todos los estándares. Puede inducir a muchos
errores. ¿No es una pena mantener algo así?

Un saludo.





Yo, la verdad, ignoro las razones que, en su día, movieron a los que crearon Excel a dar precedencia al operador lógico antes que a la potenciación.

Respecto a la inconsistencia entre VBA y Excel (la hoja de cálculo), ten en cuenta que durante varias versiones (hasta la 4, si mal no recuerdo) Excel no usaba VBA, sino un lenguaje de macros específico, por lo posiblemente la inconsistencia de la que hablas no se producía.

Y respecto a que es el único que trabaja así, pienso que ahora mismo sería mucho peor que se cambiara el orden de precedencia a que se mantenga. Ten en cuenta que la mayor parte de la gente que usamos Excel llevamos haciéndolo varios años y, por lo tanto, tenemos una buena cantidad de libros ya creados. Si de buenas a primeras se hiciera un cambio que podría afectar (y de qué forma) a los cálculos, el desastre podría ser de buenas dimensiones.
Un saludo.


Fernando Arroyo
MS MVP - Excel
Respuesta Responder a este mensaje
#19 jordi
05/11/2003 - 18:14 | Informe spam
No vió el alcance de tu pregunta. supongo que se estará tirando de los pelos
por su metedura de pata.
Los de Lepe y los gallegos, a veces, son más listos que los que los utilizan
para los chistes.


"Fernán Mateos" escribió en el mensaje
news:boale5$raj$
Vale, pero no le veo el sentido...

"jordi" escribió en el mensaje
news:%
> 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
#20 jordi
05/11/2003 - 18:20 | Informe spam
Yo creo que debe interpretarse como parte del número y si queremos
utilizarlo el signo menos como operación deberíamos escribirlo asi: -(n^2).
¿cómo distinguirías si no, cuando n = 3 de cuando n = -3?





"Faustino Toba" escribió en el mensaje
news:
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