엑셀 / 함수 / XIRR / 비정기적인 현금 흐름의 내부수익률 계산하는 함수

XIRR 함수는 불규칙한 날짜에 발생하는 현금흐름의 내부수익률을 계산합니다. 금액과 실제 발생 날짜를 함께 입력하며 결과는 365일 기준으로 할인 계산한 연 단위 수익률입니다. 기간 간격이 일정한 자료에 사용하는 IRR과 구분해서 선택하세요.

XIRR 구문과 준비할 데이터

=XIRR(values, dates, [guess])

values에는 지출을 음수, 수입을 양수로 입력합니다. dates에는 각 금액에 대응하는 날짜를 같은 순서로 입력하고 두 범위의 개수를 맞춥니다. 적어도 하나의 양수와 음수가 필요합니다.

첫 날짜는 계산의 기준일입니다. 다른 현금흐름에 그 날짜보다 이전 날짜가 있으면 #NUM! 오류가 나므로 금액과 날짜를 한 쌍으로 유지한 채 시간순으로 정리하는 편이 안전합니다. 날짜는 실제 Excel 날짜 값으로 입력하고 문자열이 섞이지 않았는지 확인하세요.

guess를 생략하면 10%를 출발점으로 반복 계산합니다. XIRR이 특정 수익률을 보장하는 의미는 아닙니다.

구문과 지원 제품은 Microsoft의 XIRR 함수 설명에서 확인할 수 있습니다.

금액과 날짜로 계산하기

A2:A6에 금액, B2:B6에 날짜가 있다면 다음 수식을 사용합니다. 결과 셀은 백분율로 표시하세요.

=XIRR(A2:A6,B2:B6)

현금흐름의 금액과 발생 날짜를 대응시켜 XIRR을 계산하는 예제입니다. 날짜와 금액을 서로 다른 기준으로 따로 정렬하면 잘못된 결과가 나옵니다.

현금흐름의 금액과 발생 날짜를 대응시켜 XIRR을 계산하는 예제입니다. 날짜와 금액을 서로 다른 기준으로 따로 정렬하면 잘못된 결과가 나옵니다.

발생 기간이 다른 자료로 XIRR 결과의 연 단위 성격을 비교한 예입니다. 기간이 짧은 투자에서는 총 수익률과 연환산 수익률이 크게 다를 수 있습니다.

발생 기간이 다른 자료로 XIRR 결과의 연 단위 성격을 비교한 예입니다. 기간이 짧은 투자에서는 총 수익률과 연환산 수익률이 크게 다를 수 있습니다.

예를 들어 2025년 1월 1일에 -100, 2026년 1월 1일에 110을 입력하면 두 날짜의 간격이 365일이므로 XIRR은 10%입니다. 같은 10을 벌었더라도 회수 날짜가 달라지면 연 단위 수익률은 달라집니다. 윤년을 포함한 실제 일수도 계산에 영향을 줍니다.

오류가 날 때 확인할 조건

  • #NUM!: 양수·음수의 존재, 범위 개수, 첫 날짜보다 이른 날짜, 반복 계산의 수렴 여부를 확인합니다.
  • #VALUE!: dates에 유효하지 않은 날짜나 텍스트가 섞였는지 확인합니다.
  • 예상과 다른 값: 금액 부호, 날짜 대응 관계, 누락된 수수료·추가 지출 등을 확인합니다.

원자료가 맞는데 계산이 수렴하지 않으면 guess를 달리하여 확인할 수 있습니다. 현금흐름의 부호가 여러 번 바뀌면 해가 여러 개일 수 있으므로 결과 하나를 절대적인 투자 평가로 사용하지 마세요. 이 글의 설명은 함수 계산 원리이며 투자 수익을 보장하지 않습니다.

정기적인 기간별 자료의 계산은 IRR 사용법에서 확인할 수 있습니다.

같은 카테고리의 다른 글
엑셀 / 함수 / DAYS / 두 날짜 사이의 일수를 계산하는 함수

엑셀 / 함수 / DAYS / 두 날짜 사이의 일수를 계산하는 함수

DAYS의 종료일·시작일 순서와 날짜 차이 계산을 설명합니다. 양끝 날짜 포함 여부, 실제 날짜 값과 업무일 계산의 차이도 확인할 수 있습니다.

엑셀 / 함수 / IFERROR / 에러 메시지를 변경하는 함수

엑셀 / 함수 / IFERROR / 에러 메시지를 변경하는 함수

IFERROR로 오류를 다른 값이나 문구로 표시하는 방법을 설명합니다. 빈 문자열·0의 차이와 실제 수식 오류를 숨기지 않는 사용 기준도 다룹니다.

엑셀 / 함수 / UPPER, LOWER, PROPER / 대문자로 또는 소문자로 변환하는 함수

엑셀 / 함수 / UPPER, LOWER, PROPER / 대문자로 또는 소문자로 변환하는 함수

UPPER·LOWER·PROPER의 변환 결과를 비교합니다. 영문 약어와 이름에서 PROPER가 기대와 다르게 작동하는 경우 및 원본에 값으로 반영하는 방법도 안내합니다.

엑셀 / 이메일 앞 부분 추출하는 방법

엑셀 / 이메일 앞 부분 추출하는 방법

이메일의 @ 앞 사용자 부분을 추출하는 수식과 예제를 안내합니다. 누락·중복 @ 및 공백 처리와 개인정보 식별의 한계도 설명합니다.

엑셀 / 함수 / LEN, LENB / 문자열의 문자 수, 바이트 수 구하는 함수

엑셀 / 함수 / LEN, LENB / 문자열의 문자 수, 바이트 수 구하는 함수

LEN의 문자 수 계산과 공백·숫자·빈 문자열 처리 예제를 안내합니다. LENB가 파일의 UTF-8 바이트 크기와 다른 점과 이모지의 호환성 차이도 설명합니다.

엑셀 / 월별 합계 구하는 방법 두 가지

엑셀 / 월별 합계 구하는 방법 두 가지

보조 열과 SUMIF로 월별 합계를 구하는 방법, SUMIFS 날짜 구간으로 연도까지 구분하는 방법을 설명합니다. 기존 배열 수식의 버전별 입력 차이도 다룹니다.

엑셀 / 함수 / EVEN, ODD / 짝수 또는 홀수로 올림 또는 내림하는 함수

엑셀 / 함수 / EVEN, ODD / 짝수 또는 홀수로 올림 또는 내림하는 함수

EVEN과 ODD가 0에서 멀어지는 방향으로 짝수·홀수를 만드는 원리를 설명합니다. 음수와 0 예제로 ISEVEN·ISODD의 판별 기능과 구분할 수 있습니다.

엑셀 / 틀 고정 하는 방법, 틀 고정 취소하는 방법

엑셀 / 틀 고정 하는 방법, 틀 고정 취소하는 방법

선택 셀 위·왼쪽의 행·열을 틀 고정하는 방법을 설명합니다. 첫 행·첫 열 고정, 취소와 인쇄 제목 설정의 차이도 안내합니다.

엑셀 / 함수 / LARGE, SMALL / k번째로 큰 값, 작은 값 구하는 함수

엑셀 / 함수 / LARGE, SMALL / k번째로 큰 값, 작은 값 구하는 함수

LARGE·SMALL로 k번째 값을 구하고 MAX·MIN과 비교합니다. 중복 숫자의 순위 처리, 잘못된 k와 빈 범위에서 발생하는 오류도 설명합니다.

엑셀 / VBA / 매크로 단축키 만들기, 매크로 실행 버튼 만들기

엑셀 / VBA / 매크로 단축키 만들기, 매크로 실행 버튼 만들기

기존 매크로에 단축키, 도형과 양식 컨트롤 단추를 연결하는 방법을 설명합니다. 기본 단축키 충돌과 다른 파일을 참조하는 버튼의 점검 방법도 안내합니다.