XNPV() devuelve el valor actual neto agregado de una planificación de flujos de efectivo (no necesariamente periódicos) representado por números pareados en pmt y date. Todos los pagos son descontados según una base de un año de 365 días.
Sintaxis:
XNPV(discount_rate, pmt,
date)
Tipo de datos que devuelve: numérico
Nota informativaDe forma predeterminada, el resultado recibirá el formato de moneda.
La fórmula para calcular el XNPV se muestra a continuación:
donde:
Pi= Entradas y salidas de efectivo netas durante un solo periodo i
d1= la primera fecha de pago
di = la iª fecha de pago
rate = la tasa de descuento
El valor actual neto, VAN (NPV en inglés), se utiliza para calcular el valor total actual de una corriente futura de flujos de efectivo dada una tasa de descuento. Para calcular el XNPV, necesitamos estimar los flujos de efectivo futuros con las fechas correspondientes. Después de esto, para cada pago, aplicamos la tasa de descuento compuesta basada en la fecha del pago.
Realizar la agregación XNPV sobre una serie de pagos es similar a realizar una agregación Sum sobre esos pagos. La diferencia es que cada cantidad es modificada (o “descontada”) de acuerdo a la tasa de descuento elegida (similar a la tasa de interés) y a cuánto tiempo está el pago en el futuro. Realizar el XNPV con el parámetro discount_rate configurado en cero hará que XNPV sea equivalente a una operación Sum (los pagos no se modificarán antes de sumarlos). Por lo general, cuanto más se acerque a cero la tasa de descuento discount_rate, más similar será el resultado de XNPV al de una agregación Sum.
Argumentos
Argumento
Descripción
discount_rate
discount_rate es la tasa anual a la que se deben descontar los pagos.
Un valor de 0,1 indicaría una tasa de descuento del 10%.
pmt
Pagos. La expresión o campo que contiene los flujos de caja correspondientes a la programación de pagos proporcionada en date. Se da por sentado que los valores positivos son entradas de efectivo y los valores negativos son salidas de efectivo.
Nota informativaXNPV() no descuenta el flujo de caja inicial ya que siempre ocurrirá en la fecha de inicio. Los pagos posteriores se descuentan sobre una base anual de 365 días. Esto es diferente de NPV(), donde también se descuenta el primer pago.
date
La expresión o campo que contiene la planificación de fechas correspondientes a los pagos de efectivo proporcionados en pmt. El primer valor se utiliza como fecha de inicio para calcular las compensaciones de los flujos de caja futuros.
Al trabajar con esta función, se aplican las siguientes limitaciones:
Los valores de texto, valores NULL y los valores perdidos en cualquiera o ambas partes de un par de datos dan como resultado que el par de datos completo no se tenga en cuenta.
Cuándo se utiliza
XNPV() se utiliza en modelos financieros para calcular el valor actual neto (VAN o NPV en inglés) de una oportunidad de inversión.
Debido a su mayor precisión, se prefiere XNPV sobre NPV para todo tipo de modelos financieros.
Configuraciones regionales
A menos que se especifique algo distinto, los ejemplos de este tema utilizan el siguiente formato de fecha: MM/DD/YYYY. El formato de fecha se especifica en la sentencia SET DateFormat de su script de carga de datos. El formato de fecha predeterminado puede ser diferente en su sistema, debido a su configuración regional y otros factores. Puede cambiar el formato en los ejemplos a continuación para ajustarlo a sus necesidades. O puede cambiar los formatos en su script de carga para que coincidan con estos ejemplos.
La configuración regional predeterminada en las aps se basa en la configuración del sistema regional de la computadora o servidor donde esté instalado Qlik Sense. Si el servidor de Qlik Sense al que está accediendo está configurado en Suecia, el editor de carga de datos utilizará la configuración regional sueca para las fechas, la hora y la moneda. Estos ajustes de formato regional no están relacionados con el idioma mostrado en la interfaz de usuario de Qlik Sense. Qlik Sense se mostrará en el mismo idioma que esté utilizando su navegador.
Ejemplo 1: pago único (script)
Vista general
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
Un conjunto de datos de un proyecto y su flujo de caja durante un año, cargado en una tabla denominada CashFlow. La fecha inicial para el cálculo se establece en el 1 de julio de 2022, con un flujo de caja neto de 0. Después de un año, se produce un flujo de caja de $1000.
Una carga residente de la tabla CashFlow, que se utiliza para calcular el campo XNPV del proyecto en una tabla denominada XNPV.
Se utiliza una tasa de descuento codificada del 10% (0,1) en el cálculo del XNPV.
Se utiliza una sentencia Group By para agrupar todos los pagos del proyecto.
Script de carga
CashFlow:
Load
*
Inline
[
PrjId,Dates,Values
1,'07/01/2022',0
1,'07/01/2023',1000
];
XNPV:
Load
PrjId,
XNPV(0.1,Values,Dates) as XNPV //Discount Rate of 10%
Resident CashFlow
Group By PrjId;
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
PrjId
XNPV
Tabla de resultados
PrjId
XNPV
1
$909.09
Según la fórmula, el valor XNPV para el primer registro es 0 y para el segundo registro, el valor XNPV es $909,09 . Por lo tanto, el XNPV total es de $909,09 .
Ejemplo 2: múltiples pagos (script)
Vista general
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
Un conjunto de datos de un proyecto y su flujo de caja durante un año, cargado en una tabla denominada CashFlow.
Una carga residente de la tabla CashFlow, que se utiliza para calcular el campo XNPV del proyecto en una tabla denominada XNPV.
Se utiliza una tasa de descuento codificada del 10% (0,1) en el cálculo del XNPV.
Se utiliza una sentencia Group By para agrupar todos los pagos del proyecto.
Script de carga
CashFlow:
Load
*
Inline
[
PrjId,Dates,Values
1,'07/01/2022',0
1,'07/01/2024',500
1,'07/01/2023',1000
];
XNPV:
Load
PrjId,
XNPV(0.1,Values,Dates) as XNPV //Discount Rate of 10%
Resident CashFlow
Group By PrjId;
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
PrjId
XNPV
Tabla de resultados
PrjId
XNPV
1
$1322.21
En este ejemplo, se recibe un pago de $1000 al final del primer año y un pago de $500 al final del segundo año. Con una tasa de descuento del 10% por período, el XNPV efectivo es igual a $1322,21.
Tenga en cuenta que solo la primera fila de datos debe hacer referencia a la fecha base para los cálculos. Para el resto de las filas, el orden no es importante, ya que el parámetro de fecha se usa para calcular el período transcurrido.
Ejemplo 3 – Múltiples pagos y flujos de caja irregulares (script)
Vista general
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
Tasas de descuento para dos proyectos en una tabla llamada Project.
Flujos de caja de múltiples períodos para cada proyecto por ID de proyecto y fechas. Se utiliza el campo Dates para calcular la duración durante la cual se aplica la tasa de descuento al flujo de caja. Aparte del primer registro (flujo de caja inicial y fecha), el orden de los registros no es importante y cambiarlo no debería afectar los cálculos.
Mediante una combinación de NoConcatenate, cargas residentes y la función Left Join, se crea una tabla temporal, tmpNPVque combina los registros de las tablas Project y CashFlow en una tabla plana. Esta tabla tendrá tasas de descuento repetidas para cada flujo de caja.
Una carga residente de la tabla tmpNPV, que se utiliza para calcular el campo XNPV para cada proyecto en una tabla denominada XNPV .
La tasa de descuento de valor único asociada a cada proyecto, que se recupera mediante la función only() y se utiliza en el cálculo del XNPV para cada proyecto.
Se utiliza una sentencia Group By, que agrupa por ID de proyecto, para agrupar todos los pagos y fechas correspondientes para cada proyecto.
Para evitar que se carguen datos sintéticos o redundantes en el modelo de datos, la tabla tmpXNPV se elimina al final del script.
Script de carga
Project:
Load * inline [
PrjId,Discount_Rate
1,0.1
2,0.15
];
CashFlow:
Load
*
Inline
[
PrjId,Dates,Values
1,'07/01/2021',0
1,'07/01/2022',1000
1,'07/01/2023',1000
2,'07/01/2020',0
2,'07/01/2023',500
2,'07/01/2024',1000
2,'07/01/2022',500
];
tmpXNPV:
NoConcatenate Load *
Resident Project;
Left Join
Load *
Resident CashFlow;
XNPV:
Load
PrjId,
XNPV(Only(Discount_Rate),Values,Dates) as XNPV //Discount Rate will be 10% for Project 1 and 15% for Project 2
Resident tmpXNPV
Group By PrjId;
Drop table tmpXNPV;
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
PrjId
XNPV
Tabla de resultados
PrjId
XNPV
1
$1735.54
2
$278.36
El proyecto ID 1 tiene un flujo de caja inicial de $0 el 1 de julio de 2021. Hay dos pagos de $1000 que se han de recibir al final de dos años subsiguientes, a una tasa de descuento del 10% por período. Por lo tanto, el NPV efectivo es igual a $1735,54.
El proyecto ID 2 tiene una salida inicial de $1000 (por lo tanto, el signo negativo) el 1 de julio de 2020. Después de dos años, se espera un pago de $500. Después de tres años, se espera un pago de $500. Finalmente, el 1 de julio de 2024 se espera un pago de $1000. Con la tasa de descuento del 15%, el XNPV efectivo es igual a $278,36.
No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.