it-swarm.com.de

Warum ergibt = -x ^ 2 + x für x = 3 in Excel 12 statt -6?

Angenommen, meine Zelle A1 in einer Excel-Tabelle enthält die Nummer 3 . Wenn ich die Formel eingebe

= - A1^2 + A1

in A2 zeigt dann A2 die Zahl 12, wenn es -6 (oder -9 + 3) zeigen sollte

Warum das? Wie kann ich dieses irreführende Verhalten verhindern?

93
Rodolfo Oviedo

Kurze Antwort

Um dieses Problem zu lösen, fügen Sie einfach eine 0 vor dem Gleichheitszeichen hinzu

= 0 - A1^2 + A1

oder fügen Sie ein paar Klammern hinzu, um die Standardreihenfolge der Operationen zu erzwingen

= - (A1^2) + A1

oder ersetzen Sie das Minuszeichen durch die übliche Interpretation der Multiplikation mit -1

= -1 * A1^2 + A1

Detaillierte Erklärung

Gemäß den Konventionen von Excel

= - 3^2

ist gleich (-3) ^ 2 = 9, während

= 0-3^2

gleich 0-9 = -9.

Warum ändert das Hinzufügen einer 0 das Ergebnis?

Ohne vorangestelltes Minuend wird das Minuszeichen in -3 ^ 2 als Negationsoperator betrachtet. Dies ist ein unärer Operator (mit nur einem Argument), der das Vorzeichen der folgenden Zahl (oder des folgenden Ausdrucks) ändert . Das Minuszeichen in 0-3 ^ 2 ist jedoch ein Subtraktionsoperator , ein binärer Operator, der das, was auf - folgt, von dem subtrahiert, was vor - steht. Gemäß den Konventionen von Excel wird der Potenzierungsoperator ^ nach dem Negierungsoperator und vor dem Subtraktionsoperator berechnet. Siehe "Berechnungsoperatoren und Vorrang in Excel" , Abschnitt "Die Reihenfolge, in der Excel Operationen in Formeln ausführt".

Die mathematische Standardkonvention ist, dass die Potenzierung berechnet wird vor Negation und Subtraktion oder einfacher ausgedrückt, ^ wird vor - berechnet. Schändlicherweise wählte Excel andere Konventionen als Algebra-Regeln, Schulbücher, akademisches Schreiben, wissenschaftliche Taschenrechner, Lotus 1-2-3, Mathematica, Maple, rechnerorientierte Sprachen wie Fortran oder Matlab,MSWorks , und ... VBA (die Sprache, in der Excel-Makros geschrieben werden) . Leider folgen Calc from LibreOffice und Google Sheets aus Gründen der Kompatibilität mit Excel der gleichen Konvention. Wenn Sie jedoch einen Ausdruck in das Suchfeld oder die Leiste von Google eingeben, erhalten Sie hervorragende Ergebnisse. Wenn Sie die Eingabetaste drücken, wird die Reihenfolge der Berechnungen in Klammern angegeben. Eine Diskussion, bei der ein Mathematiker die Argumente eines "Informatikers" zunichte macht, der den Vorrang der Verneinung vor der Entlarvung verteidigt: http://mathforum.org/library/drmath/view/69058.html

Allgemeine Problemumgehungen

Wenn du rechnen willst

- anything ^ 2,

fügen Sie eine 0 vor dem Gleichheitszeichen hinzu

0 - anything ^ 2

oder fügen Sie ein paar Klammern hinzu, um die Standardreihenfolge der Operationen zu erzwingen

- ( anything ^ 2 )

oder ersetzen Sie das Minuszeichen durch die übliche Interpretation der Multiplikation mit -1

-1 * anything ^ 2

Ein Kommentar zu einer anderen Antwort besagt, dass Sie sich der nicht standardmäßigen Vorrangregel nur bewusst sein müssen, wenn auf ein Gleichheitszeichen (= -) ein Minuszeichen folgt. Es gibt jedoch auch andere Beispiele wie = exp (-x ^ 2) oder = (- 2 ^ 2 = 2 ^ 2), bei denen vor dem Gleichheitszeichen kein Minuend steht.

Vielen Dank an @BruceWayne für das Vorschlagen einer kurzen Antwort, die ich am Anfang geschrieben habe.

Sie könnten interessiert sein an Nach Excel, 4 ^ 3 ^ 2 = 4096. Ich das richtig?

132
Rodolfo Oviedo

Etwas prägnanter als Rodolfos Antwort können Sie verwenden:

=-(A1^2)+(A1)

(Edit: Ich habe überhaupt nicht gesehen, dass es sich um eine Selbstfrage/-antwort handelt.)

20
BruceWayne

Ein führender - wird als Teil des ersten Terms betrachtet.

=-3^2 wird verarbeitet als (-3)^2 = 9

Mit einer Null am Anfang wird es stattdessen als normale Subtraktion behandelt.

=0-3^2 wird verarbeitet als 0 - 3^2 = -9

Und wenn Sie zwei Operatoren haben, passiert dasselbe.

=0--3^2 wird verarbeitet als 0 - (-3)^2 = -9 und =0+-3^2 wird verarbeitet als 0 + (-3)^2 = 9

14
trapper

Der Ausdruck = - A1^2 + A1 ist Excel-spezifisch und muss daher den Excels-Regeln entsprechen. Im Gegensatz zu einigen anderen Antworten gibt es hier keine richtige Rangfolge. Es gibt lediglich unterschiedliche Konventionen, die von unterschiedlichen Anwendungen übernommen werden. Zu Ihrer Information wird von Excel folgende Rangfolge verwendet:

:       Range
<space> intersection
,       union
-       Negation
%       Percentage
^       Exponential
* and / Multiplication and Division
+ and - Addition and Subtraction
&       Concatenation
= < > <= >= <>  Comparison

Welche Sie mit Klammern überschreiben können.

3
Paul Smith

Weil Excel Ihre Gleichung folgendermaßen interpretiert:

(-x) ^ 2 + x

Wann wollten Sie:

- (x ^ 2) + x

Um diese Art von unerwünschtem Verhalten zu verhindern, empfinde ich es als bewährte Methode, Klammern zu verwenden, um Ihr eigenes Prioritätssystem zu definieren, da Negation nicht dasselbe wie Subtraktion ist und daher nicht von PEMDAS abgedeckt wird. Ein Beispiel wäre:

(- (x ^ 2)) + x

Es könnte übertrieben sein, aber so kann ich garantieren, dass Excel sich so verhält, wie ich es möchte.

3
routhken

Sie können es so oder so haben:

=-A1^2+A1

gibt ein 12 zurück, aber:

=0-A1^2+A1

wird ein -6 zurückgeben

Wenn Sie das Gefühl haben, dass die Rückkehr 12 gegen den gesunden Menschenverstand verstößt; Beachten Sie, dass Google Sheets dasselbe tut.

3
Gary's Student

Alternativ könnten Sie einfach tun

= A1 - A1^2

weil -y + x = x-y

2
lioness99a

Der Ausdruck - A1^2 enthält zwei Operatoren, nämlich den Operator für die unäre Negation - und den Operator für die binäre Potenzierung ^. Ohne Klammern kann es zwei Interpretationen geben. Entweder:

-(A1^2)

oder:

(-A1)^2

Der erste Befehl besagt, dass zuerst die Exponentiation mit den Operanden A1 und 2 und dann die Negation dazu durchgeführt werden soll.

Der zweite Befehl besagt, dass Sie zuerst die Negation für den Operanden A1 ausführen und dann die Potenzierung für das Ergebnis von diesem und 2 verwenden.

Wie in den Kommentaren zur Frage gesagt wurde, haben Kräfte in jeder vernünftigen Umgebung eine höhere Priorität als Minuszeichen. Das heißt, es ist am besten, wenn ein System das erste annimmt.

Excel bevorzugt jedoch den zweiten.

Die Lektion ist, wenn Sie sich nicht sicher sind, ob Ihre Umgebung vernünftig ist oder nicht, schließen Sie die Klammer ein, um auf der sicheren Seite zu sein. Also schreibe -(A1^2).

0