
Ich habe mich gefragt, ob es irgendwo in Excel oder online eine Möglichkeit gibt, mir anzusehen, wie die Funktionen in Excel funktionieren.
Die Idee ist, dass ich anfange zu lernen, wie man UDFs erstellt und verschiedene Dinge in VBA macht, und dachte, wenn ich sehen könnte, wie Excel Sum()
beispielsweise tatsächlich ausgeführt wird, könnte ich lernen, wie ich meinen Code kompakter machen, weniger Platz beanspruchen usw. kann.
Wo ist im Grunde das Repository für die Funktionsweise der integrierten Funktionen von Excel? Ist das überhaupt verfügbar?
Bearbeiten: Ich verstehe, dass die Formeln möglicherweise nicht in VBA geschrieben sind. Das ist in Ordnung – ich bin nur neugierig, ob es eine Möglichkeit gibt, sie anzuzeigen, egal in welcher Sprache sie geschrieben sind.
Edit2: Die Grundidee ist, dass ich C++/VBA/C# lerne und mir gerne „offizielle“ Funktionen ansehen würde, nur um zu lernen, wie sie funktionieren, und um zu sehen, ob es Möglichkeiten gibt, den Code zu beschleunigen. OpenOffice-Funktionen sind auch gut!
Antwort1
Microsoft Excel ist ein Closed-Source-Produkt,
aber wie Sie bereits sagten, reicht der Quellcode einer Alternative zu Excel ebenfalls aus.
Sie können dieQuellcodevonOpenOffice Calcdas Microsoft Excel sehr ähnelt (siehe Screenshots).
Sie müssen das Produkt nicht installieren. Auf derDownload-Seite, Fokus auf Abschnitt mit der BezeichnungQuelleund schnappen Sie sich das Archiv mitReißverschlussVerlängerung.
Schauen Sie im Archiv in die Datei aoo-4.1.2\main\sc\source\core\tool\interpr4.cxx
und dort finden Sie bei Zeile 3500 eine lange case
Anweisung, die interne Funktionsaufrufe für integrierte Tabellenkalkulationsfunktionen zeigt. Dies ist Ihr Ausgangspunkt.
Anschließend können Sie in den Quelldateien nach der Implementierung dieser Funktionen suchen.
Viel Glück!
Antwort2
Ich möchte Sie stattdessen dringend bitten, dieLogik der Funktionen.Sie wissen, was ein Sum
ist, das sollte für Sie leicht zu replizieren sein. Die Dinge, die Sie nicht wissen - wie ein vlookup
oder stdev
haben eine Art vonLogik- ob rein mathematisch oder operativ (wie transpose
). LernenWiediese funktionieren und entwerfen Sie dann Ihren Code rund um die Logik.