Was genau ist der Auto-Fill-Algorithmus von Excel?

5417
Seçkin Durgay

Was ist der Algorithmus, der von Auto Fill in Excel verwendet wird?

Wenn ich beispielsweise die Zahlen 3, 4, 5, 7, 8 in eine Spalte eingebe und dann Auto-Füllung verwende, erhalte ich folgendes Ergebnis:

 3 4 5 7 8 9.3 10.6 11.9 13.2 14.5 15.8 17.1 18.4 
50
Excel prüft wahrscheinlich den durchschnittlichen Anstieg und verwendet diesen für das automatische Ausfüllen. (In Ihrer Serie haben Sie dreimal um 1 zugenommen und einmal um 2, der Durchschnitt liegt bei 1,25, wird auf eine Ziffer gerundet (da ich nicht mit MS verbunden bin, habe ich keine Ahnung, warum), das sind 1,3, also erhöhen Sie die Zahl um jeweils 1,3 Reihe.). Máté Juhász vor 5 Jahren 2
@ MátéJuhász Das ist eine gute Vermutung, und was ich zuerst dachte. Es stellt sich jedoch als falsch heraus. Siehe meine Antwort für weitere Details. robinCTS vor 5 Jahren 3
Eine Beobachtung ist, dass der Unterschied zwischen den letzten beiden gegebenen Werten 1,3 ist und dass dann die automatisch ausgefüllten Werte um 1,3 zunehmen. Die einfachste (aber, wie ich jetzt gelernt habe, falsche) Interpretation dieser Datenmenge wäre, dass sie nur den letzten Unterschied wiederholt. Thomas Padron-McCarthy vor 5 Jahren 0
@ ThomasPadron-McCarthy Tatsächlich sind die letzten beiden Werte 7 und 8, also ist die Differenz 1. Der Wert 1,3 ist die berechnete lineare Trendneigung, die, wie Sie richtig festgestellt haben, schrittweise hinzugefügt wird, um die automatisch ausgefüllten Werte zu erhalten. robinCTS vor 5 Jahren 0
@robinCTS: Ah, danke. Mein Fehler. Thomas Padron-McCarthy vor 5 Jahren 0

1 Antwort auf die Frage

67
robinCTS

Beim automatischen Ausfüllen verwendet Excel den Ansatz des linearen Trends. Dies verwendet den Algorithmus der Methode der kleinsten Quadrate .

Dies ist derselbe Algorithmus, der von der TREND()Funktion verwendet wird, wie unten gezeigt:

Worksheet Screenshot

Geben Sie die folgende Formel in C6und Strg-Eingabe / Kopieren / Einfügen / Ausfüllen in den Rest der Spalte ein:

=TREND($C$1:$C$5,$B$1:$B$5,B6) 

Unten sehen Sie ein Diagramm mit der Trendlinie, auf die die neuen Werte fallen.

Die Methode der kleinsten Quadrate erzeugt eine "best-fit" -Linie für die ursprünglichen Datenpunkte. Die neuen Datenpunkte werden im Wesentlichen aus dieser Zeile extrahiert.

Chart Screenshot

Ich bezweifle nicht Ihre Antwort, aber nur neugierig, woher sie wissen, dass sie die Methode der kleinsten Quadrate verwenden. (Oder haben Sie im Allgemeinen etwas unter die Haube untersucht? Oder ist es üblich, dass solche Anwendungen diese Methode verwenden?) BruceWayne vor 5 Jahren 12
@BruceWayne ja, es ist ein allgemeiner Ansatz in [einfacher linearer Regression] (https://en.wikipedia.org/wiki/Simple_linear_regression) 0xFEE1DEAD vor 5 Jahren 7
@BruceWayne Es war keine Untersuchung unter der Haube erforderlich ;-) Es wird an einigen Stellen im Web erwähnt. Die eigene Dokumentation von Excel besagt außerdem, dass die Funktion `TREND () 'die Methode der kleinsten Quadrate verwendet, die, wie Sie sehen, das gleiche Ergebnis liefert wie das automatische Ausfüllen. Vorausgesetzt, Sie können der eigenen Dokumentation von Micro $ oft glauben (und wir alle wissen jetzt, wie genau das ist), würde ich sagen, das macht sie ziemlich schlüssig. Plus was 0xFEE1DEAD gesagt hat. robinCTS vor 5 Jahren 10
Die Excel-Dokumentation bestätigt, dass [durch Ziehen des Ausfüllpunkts Werte unter Verwendung des linearen Trends für den besten Fit eingefügt werden] (https://support.office.com/en-us/article/project-values-in-a-series-5311f5cf-149e- 4d06-81dd-5aaad87e5400) phuclv vor 5 Jahren 7
@phuclv Danke für den Link. Es wird jedoch nicht explizit angegeben, welcher Algorithmus für die lineare beste Anpassung verwendet wird. Nur weil LSM der gebräuchlichste Algorithmus ist, bedeutet das nicht, dass er der in MS Office verwendete ist. robinCTS vor 5 Jahren 0
@AndrewT. Das sind die programmatischen Optionen. Beim manuellen automatischen Ausfüllen, entweder durch Ziehen aus der rechten unteren Ecke des Bereichs oder mithilfe des Menüwerkzeugs "Abfüllen" → "Serie ..." → "AutoFill", wird der Ansatz "Linearer Trend" verwendet. robinCTS vor 5 Jahren 0
Obligatorisches Joel Spolsky-Video über Excel. In ~ 8 Minuten erfahren Sie, wie Excel Zellen referenziert. Dies ist nützlich, um Ihre eigene Serie zu definieren. https://www.youtube.com/watch?v=0nbkaYsR94c Bindelstif vor 5 Jahren 1
@Bindelstif: Ich habe mir die ersten 12 Minuten des Videos angesehen und bin rausgeflogen. Ich habe nichts besonders Nützliches gesehen, und ich schätzte die Aussichten, in den verbleibenden 42 Minuten nützliche Informationen zu finden, gering. Auf welche "nützlichen" Informationen beziehen Sie sich? Scott vor 5 Jahren 0
@Scott Es ist nicht wirklich "nützlich", aber IIRC, das Serienbit beginnt kurz nach der 18-Minuten-Marke. Ich bin nicht lange danach abgesprungen. robinCTS vor 5 Jahren 0
Marie Antoinette sagte angeblich "Lass sie Kuchen essen" (aber sie hat es wahrscheinlich nicht getan). Joel scheint geneigt zu sein, uns Kuchenbrösel zu füttern - winzige Brocken, die über einen langen Zeitraum verteilt sind. (Ich denke, die Präsentation richtet sich an Menschen, die im Wesentlichen über keine Erfahrung mit Excel verfügen.) Joel ist seiner Meinung nach eindeutig brillant. Ich frage mich, wie die Präsentation ausgesehen hätte, wenn er sie geprobt hätte. :-) ⁠ Scott vor 5 Jahren 0