엑셀 PV 함수(현재가치) 구현문의 0 2 2,589

by 권사마 [SQL Query] [2019.03.15 11:39:18]


PV.xlsx (120,863Bytes)

안녕하세요.. 엑셀에서 사용하는 PV 함수를 쿼리로 구현하여,

아래와 같이 "PV금액"을 산출하고 싶은데요..

쿼리로 어떻게 구현해야 할지 막막하여 고수님들 문의 드립니다.

엑셀 수식은 ROUND(PV(이자율,횟수,-금액),-1)  <-- 이거 인데요.. 오라클 쿼리로 구현이 가능할까요?  첨부파일로 엑셀 자료 첨부합니다.

고수님들 도움이 필요합니다 ^^;'

횟수 이자율 금액 PV  금액
2     \19,937,180
1 0.21% 10,000,000 \9,979,040
0 0.21% 10,000,000 \0
by 이준환 [2019.03.15 13:24:46]
/*
적금의 현재가치 엑셀산식
=ROUND(PV(0.0021, 1, -10000000), -1)
=ROUND(PV(0.0021, 2, -10000000), -1)
=ROUND(PV(0.0021, 3, -10000000), -1)
=ROUND(PV(0.0021, 4, -10000000), -1)
=ROUND(PV(0.0021, 5, -10000000), -1)
=ROUND(PV(0.0021, 6, -10000000), -1)
=ROUND(PV(0.0021, 7, -10000000), -1)
=ROUND(PV(0.0021, 8, -10000000), -1)
=ROUND(PV(0.0021, 9, -10000000), -1)
=ROUND(PV(0.0021, 10, -10000000), -1)
=ROUND(PV(0.0021, 11, -10000000), -1)
=ROUND(PV(0.0021, 12, -10000000), -1)
2019.03.15, Jun H. Lee
*/
SELECT
  LEVEL AS SEQ /*회차*/
, ROUND(SUM(CF / POWER(1+INT, LEVEL))OVER(ORDER BY LEVEL ASC), -1) AS PV /*현재가치*/
FROM
(
    SELECT
      1E7 AS CF /*현금흐름(cash-flow)*/
    , 0.21E-2 AS INT /*이율*/
    FROM DUAL
)
CONNECT BY LEVEL <= 12
;

 


by 마농 [2019.03.15 15:28:36]
SELECT amt
     , rat
     , lv
     , ROUND(SUM(amt / POWER(1 + rat/100, lv)) OVER(ORDER BY lv), -1) pv
  FROM (SELECT 10000000 amt, 0.21 rat FROM dual)
     , (SELECT LEVEL lv FROM dual CONNECT BY LEVEL <= 12)
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입