LibreOffice Calc で値の配列を作成するにはどうすればいいですか?

LibreOffice Calc で値の配列を作成するにはどうすればいいですか?

私は使用していますLibreOffice 5.1.4.2 計算そして計算する必要がある内部収益率特定の支払い(たとえば、セルA1)に対して、特定の回数(たとえば100)を実行します。

値を 100 回繰り返す場合 (たとえば、 内A1:A100)、次のように実行できます。

=IRR(A1:A100)

しかし、それは奇妙に思えます(10万回だったらどうなるでしょうか?)。

問題は、関数IIR「値を含む配列」

IRR値の配列をA1繰り返し渡すにはどうすればよいですか100?

答え1

Libreoffice Calc にできないことを要求しているのだと思います。

LibreOffice Calcでは、配列とは「スプレッドシート上の値を含むセルのリンクされた範囲」です(ヘルプ記事配列関数)。「インライン配列定数」というものがありますが、これは配列に値を入れるためのものです。はIRR()配列関数ではなく、配列を引数として受け取る単一値関数です。

LibreOffice Calc は、同じ値を持つ 100 個 (または 100,000 個) のセルを割り当てることを望んでいると思います。

セルにデータを入力する方法はさまざまです。最初のセルに値を入力し、2 番目のセルに最初のセルから絶対参照で読み取る数式を指定し、2 番目のセルに 100 回 (または 100,000 回) 入力して必要な配列を取得します。最初のセルの値を変更するだけで、配列全体に反映されます。

同じ金額の10万回の支払いの内部収益率を計算する簡潔な数式を入力したい場合、LibreOfficeは最適なツールではないかもしれません。これはスプレッドシートです。Python言語やnumpy.irr()機能の方がうまくいくかもしれません。

答え2

はい、数式に配列を直接記述することは可能です。Calc
ではこれを「インライン配列定数」

簡単な3x2の例は

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

Calcのドキュメント完全な詳細があります...

答え3

スプレッドシートのセルを基に繰り返し配列を作成する関数を記述します。

私は Calc 用のコードを書いたことがないので、使用されている構文には詳しくありませんが、疑似コードでは次のようになります。

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

...次に、IRR からこのコードを呼び出します。

あるいは、すべてを実行する関数を作成します。

function repeatIrr( value, amount ) -> value

...そしてそれをスプレッドシートから呼び出します。

関連情報