¿Cómo crear una matriz de valores en LibreOffice Calc?

¿Cómo crear una matriz de valores en LibreOffice Calc?

Estoy usandoLibreOffice 5.1.4.2 Calcy es necesario calcular eltasa interna de retornopara un pago determinado (por ejemplo, en la celda A1), una determinada cantidad de veces (por ejemplo, 100).

Si tuviera el valor repetido 100 veces (por ejemplo, en A1:A100), podría hacer:

=IRR(A1:A100)

Pero parece extraño (¿y si son 100.000 veces?).

El problema es que la función IIRespera"una matriz que contiene los valores".

¿Cómo puedo pasar a IRRuna matriz del valor A1repetidamente 100?

Respuesta1

Creo que le está pidiendo a Libreoffice Calc que haga algo que no puede hacer.

En LibreOffice Calc, una matriz es "un rango vinculado de celdas en una hoja de cálculo que contiene valores" (segúnArtículo de ayudaFunciones de matriz). Existe algo llamado "Constante de matriz en línea", pero eso es para poner valores en una matriz. IRR()no es una función de matriz, es una función de un solo valor que toma una matriz como argumento.

Creo que LibreOffice Calc quiere que usted asigne esas 100 (o 100.000) celdas con el mismo valor.

Puede poblar las celdas de varias maneras. Pondría el valor en la primera celda, luego le daría a la segunda celda una fórmula que se lea desde la primera celda con una referencia absoluta, luego llenaría esa segunda celda 100 (o 100,000) veces para obtener la matriz que necesitaba. Todo lo que tengo que cambiar es el valor de la primera celda y se propaga a través de la matriz.

Si realmente desea escribir una fórmula concisa para calcular la tasa interna de rendimiento para 100.000 pagos del mismo monto, tal vez LibreOffice no sea la mejor herramienta para el trabajo. Es una hoja de cálculo. Un lenguaje de programación, como el lenguaje Python y elnumpy.irr()funcionar, podría funcionar mejor.

Respuesta2

Sí, es posible escribir la matriz directamente en su fórmula.
Calc se refiere a esto como un"constante de matriz en línea".

Un ejemplo simple de 3x2 es

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

Documentación de Calctiene todos los detalles...

Respuesta3

Escriba una función que cree una matriz repetida basada en celdas de la hoja de cálculo.

No he escrito ningún código para Calc, por lo que no estoy familiarizado con la sintaxis utilizada, pero en pseudocódigo:

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

... luego llama a este código desde TIR.

Alternativamente, cree una función que haga todo:

function repeatIrr( value, amount ) -> value

... y llamarlo desde la hoja de cálculo.

información relacionada