Saya menggunakan LibreOffice 5.1.4.2 Calc dan perlu menghitung tingkat pengembalian internal untuk pembayaran tertentu (katakanlah, dalam sel A1
), beberapa kali (katakanlah 100
).
Jika nilai saya diulang 100 kali (katakanlah, dalam A1:A100
), saya bisa melakukan:
=IRR(A1:A100)
Tapi sepertinya aneh (bagaimana kalau 100.000 kali?).
Masalahnya adalah, fungsi IIR
mengharapkan "array yang mengandung nilai-nilai" .
Bagaimana saya bisa meneruskan ke IRR
array nilai dalam waktu yang A1
berulang 100
?
Jawaban:
Saya pikir Anda meminta Libreoffice Calc untuk melakukan sesuatu yang tidak bisa dilakukan.
Dalam LibreOffice Calc, array adalah "rentang sel tertaut pada spreadsheet yang berisi nilai" (per artikel Bantuan Fungsi Array ). Ada yang namanya "Inline Array Constant", tapi itu untuk menempatkan nilai ke dalam array.
IRR()
bukan fungsi array, itu adalah fungsi bernilai tunggal yang mengambil array sebagai argumen.Saya pikir LibreOffice Calc ingin Anda mengalokasikan 100 (atau 100.000) sel dengan nilai yang sama.
Anda dapat mengisi sel dengan berbagai cara. Saya akan meletakkan nilainya di sel pertama, lalu memberikan sel kedua formula yang membaca dari sel pertama dengan referensi absolut, kemudian mengisi sel kedua turun 100 (atau 100.000) kali untuk mendapatkan array yang saya butuhkan. Yang harus saya ubah adalah nilai di sel pertama, dan itu disebarkan melalui array.
Jika Anda benar-benar ingin mengetikkan rumus ringkas untuk menghitung Tingkat Pengembalian Internal untuk 100.000 pembayaran dengan jumlah yang sama, mungkin LibreOffice bukan alat terbaik untuk pekerjaan itu. Ini spreadsheet. Bahasa pemrograman, seperti bahasa Python dan
numpy.irr()
fungsinya, mungkin bekerja lebih baik.sumber
Ya, dimungkinkan untuk menulis array secara langsung dalam rumus Anda.
Calc menyebut ini sebagai "konstanta array inline" .
Contoh 3x2 sederhana adalah
Dokumentasi Calc memiliki detail lengkap ...
sumber
Tulis fungsi yang membuat larik berulang berdasarkan sel dalam spreadsheet.
Saya belum menulis kode untuk Calc, jadi saya tidak familiar dengan sintaks yang digunakan, tetapi dalam pseudo-code:
... lalu panggil kode ini dari IRR.
Atau, buat fungsi yang melakukan segalanya:
... dan panggil itu dari spreadsheet.
sumber