Wie erstelle ich ein Wertearray in LibreOffice Calc?

Wie erstelle ich ein Wertearray in LibreOffice Calc?

Ich benutzeLibreOffice 5.1.4.2 Calcund müssen berechnen dieinterner Zinsfußfür eine bestimmte Zahlung (sagen wir in Zelle A1), eine bestimmte Anzahl von Malen (sagen wir 100).

Wenn der Wert 100 Mal wiederholt würde (sagen wir, in A1:A100), könnte ich Folgendes tun:

=IRR(A1:A100)

Aber es scheint seltsam (was ist, wenn es 100.000 Mal passiert?).

Das Problem ist, dass die Funktion IIRerwartet„ein Array, das die Werte enthält“.

IRRWie kann ich den Wert A1mehrmals an ein Array weitergeben 100?

Antwort1

Ich glaube, Sie verlangen von Libreoffice Calc etwas, was es nicht kann.

In LibreOffice Calc ist ein Array ein „verknüpfter Zellbereich in einer Tabelle, der Werte enthält“ (perHilfe-ArtikelArray-Funktionen). Es gibt so etwas wie eine „Inline-Array-Konstante“, aber die dient dazu, Werte in ein Array einzufügen. IRR()ist keine Array-Funktion, sondern eine einwertige Funktion, die ein Array als Argument verwendet.

Ich denke, LibreOffice Calc möchte, dass Sie diesen 100 (oder 100.000) Zellen denselben Wert zuweisen.

Sie können die Zellen auf verschiedene Weise füllen. Ich würde den Wert in die erste Zelle eintragen, dann der zweiten Zelle eine Formel zuweisen, die mit einem absoluten Verweis aus der ersten Zelle liest, und dann diese zweite Zelle 100 (oder 100.000) Mal ausfüllen, um das Array zu erhalten, das ich brauche. Ich muss nur den Wert in der ersten Zelle ändern, und er wird durch das Array weitergegeben.

Wenn Sie wirklich eine präzise Formel eingeben möchten, um den internen Zinsfuß für 100.000 Zahlungen in gleicher Höhe zu berechnen, ist LibreOffice vielleicht nicht das beste Tool für diese Aufgabe. Es ist eine Tabellenkalkulation. Eine Programmiersprache wie die Python-Sprache und dienumpy.irr()Funktion, könnte besser funktionieren.

Antwort2

Ja, es ist möglich, das Array direkt in Ihre Formel zu schreiben.
Calc bezeichnet dies als"Inline-Array-Konstante".

Ein einfaches 3x2 Beispiel ist

{1;2;3|"a";"b";"c"}.

Calc-Dokumentationhat alle Einzelheiten...

Antwort3

Schreiben Sie eine Funktion, die basierend auf den Zellen in der Tabelle ein sich wiederholendes Array erstellt.

Ich habe keinen Code für Calc geschrieben und kenne daher die verwendete Syntax nicht, aber im Pseudocode:

function repeat( value, amount ) -> { value | value | value ... value } 

... rufen Sie dann diesen Code von IRR auf.

Alternativ können Sie eine Funktion erstellen, die alles erledigt:

function repeatIrr( value, amount ) -> value

... und rufen Sie das aus der Tabelle auf.

verwandte Informationen