Como criar uma matriz de valores no LibreOffice Calc?

Como criar uma matriz de valores no LibreOffice Calc?

estou a usarLibreOffice 5.1.4.2 Calce preciso calculartaxa interna de retornopor um determinado pagamento (digamos, na célula A1), um certo número de vezes (digamos, 100).

Se eu repetisse o valor 100 vezes (digamos, em A1:A100), eu poderia fazer:

=IRR(A1:A100)

Mas parece estranho (e se for 100.000 vezes?).

O problema é que a função IIRespera“uma matriz contendo os valores”.

Como posso passar para IRRuma matriz do valor A1repetidas 100vezes?

Responder1

Acho que você está pedindo ao Libreoffice Calc para fazer algo que não pode.

No LibreOffice Calc, uma matriz é um "intervalo vinculado de células em uma planilha contendo valores" (porArtigo de ajudaFunções de matriz). Existe uma "constante de array inline", mas serve para colocar valores em um array. IRR()não é uma função de array, é uma função de valor único que recebe um array como argumento.

Acho que o LibreOffice Calc deseja que você aloque essas 100 (ou 100.000) células com o mesmo valor.

Você pode preencher as células de várias maneiras. Eu colocaria o valor na primeira célula, depois daria à segunda célula uma fórmula lida a partir da primeira célula com uma referência absoluta e, em seguida, preencheria a segunda célula 100 (ou 100.000) vezes para obter a matriz necessária. Tudo o que preciso alterar é o valor na primeira célula e ele é propagado pelo array.

Se você realmente deseja digitar uma fórmula concisa para calcular a Taxa Interna de Retorno para 100.000 pagamentos do mesmo valor, talvez o LibreOffice não seja a melhor ferramenta para o trabalho. É uma planilha. Uma linguagem de programação, como a linguagem Python e onumpy.irr()função, pode funcionar melhor.

Responder2

Sim, é possível escrever o array diretamente na sua fórmula.
Calc se refere a isso como um"constante de matriz embutida".

Um exemplo simples de 3x2 é

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

Documentação do Calctem detalhes completos...

Responder3

Escreva uma função que crie um array repetido com base nas células da planilha.

Não escrevi nenhum código para Calc, então não estou familiarizado com a sintaxe usada, mas em pseudocódigo:

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

... então chame esse código da IRR.

Alternativamente, crie uma função que faça tudo:

function repeatIrr( value, amount ) -> value

... e chame isso da planilha.

informação relacionada