Skip to content
WealthTicker

How to calculate your SIP's XIRR in a spreadsheet

A 12-instalment SIP in a Nifty 50 index fund, worked in Excel: the cash-flow table, signs, dates, =XIRR(), and why it shows -14.56% when the loss was 8.2%.

·

A calculator resting on printed financial paperwork with a pen beside it

Why do it yourself

Your account statement prints an XIRR for every SIP. So do the fund house's app and every portfolio tracker. They do not always agree, and when they don't, the quickest way to find out who is right is to rebuild the number yourself from the raw cash flows. It takes a dozen rows and one function.

This is a worked example on real NAVs, with the mistakes that make the answer go wrong. For what XIRR is and how it differs from CAGR and absolute return, read Absolute return, CAGR and XIRR first. This post covers how to calculate it.

The example SIP

The fund is the UTI Nifty 50 Index Fund, Direct Growth, one of the large index funds from UTI Mutual Fund. It is a plain choice: it tracks the Nifty 50, so the result says something about the market rather than about a manager. It is not a recommendation.

The SIP is ₹10,000 a month on the 5th, twelve instalments from October 2025 to September 2026. When the 5th was a weekend or a market holiday, the units were bought at the next business day's NAV, which is how the fund allots them (see cut-off timings and unit allotment). The holding is valued at the NAV of Friday 9 October 2026, ₹158.5759.

Date NAV (₹) Amount (₹) Units bought
6 Oct 2025 174.9961 10,000 57.1441
6 Nov 2025 178.1603 10,000 56.1292
5 Dec 2025 182.9773 10,000 54.6516
5 Jan 2026 183.3876 10,000 54.5293
5 Feb 2026 179.2369 10,000 55.7921
5 Mar 2026 173.1538 10,000 57.7521
6 Apr 2026 160.5573 10,000 62.2831
5 May 2026 168.0127 10,000 59.5193
5 Jun 2026 163.6713 10,000 61.0981
6 Jul 2026 171.6185 10,000 58.2688
5 Aug 2026 173.3618 10,000 57.6828
7 Sep 2026 167.4764 10,000 59.7099
Total 1,20,000 694.5604

694.5604 units at ₹158.5759 are worth ₹1,10,141. You put in ₹1,20,000, so the position is down ₹9,859, an absolute return of -8.22%.

Build the cash-flow table

Open a blank sheet. Two columns, thirteen rows.

  1. Column A, dates. Type each instalment date as a real date (06-10-2025), not as text. If Excel left-aligns it, it is text and the formula will fail.
  2. Column B, amounts. Every instalment goes in as negative: -10000. Money leaving your bank account is a cash outflow.
  3. Row 14, the closing value. Today's date (or the valuation date), and the current value as a positive number: 110141. This row stands in for selling everything. Without it there is nothing to measure the outflows against.
  4. The formula. In any empty cell: =XIRR(B2:B14, A2:A14). Format the cell as a percentage.

Excel returns -14.56%. Google Sheets and LibreOffice use the same function and give the same answer. Our XIRR calculator gives -14.57%, because it counts a year as 365.25 days and Excel counts 365. That second-decimal difference is all you should expect between two correct tools.

Why -14.56% and not -8.22%

The two numbers measure different things. The -8.22% is the loss on the money, with no reference to time. XIRR is an annual rate, and it weights every rupee by how long it was actually invested.

Here, the first ₹10,000 was invested for a full year, but the last ₹10,000 for only 32 days. On average, each rupee was in the fund for about 201 days, a little over half a year. Losing 8.2% in about half a year is a much faster rate of loss than losing 8.2% over a whole year, so the annualised figure is larger.

The fund's own one-year return to 9 October 2026 was -9.76%, a point-to-point figure for a single lump sum. A lump sum of ₹1.2 lakh on 6 October 2025 would be worth ₹1,08,740 now, down 9.38%. The SIP lost less in rupees because its later instalments bought cheaper units, and it shows a worse XIRR because its money was exposed for a shorter time. Both are true at once. Why your SIP return differs from the fund's return walks through the same gap in a rising market.

The mistakes that give nonsense answers

Mistake What you get
Instalments typed as positive, or the closing value left out #NUM! (no sign change, no solution)
Dates stored as text #VALUE!
Closing value dated a year late (2027 instead of 2026) -5.38%: the loss is spread over an extra year
Treating ₹1.2 lakh as invested on day one (CAGR) -8.15%: understates the rate, because most money went in later
Quoting the absolute return as "my annual return" -8.22%: right number, wrong label

A few more to watch:

  • The first row must be the earliest date. Excel measures every other date from it, and a date before it returns #NUM!.
  • Use the allotment date, not the debit date. A SIP debited on a Friday evening may be allotted on Monday. A day or two moves the second decimal place; across a long SIP it hardly matters, but it is the usual reason two trackers differ.
  • Count the stamp duty. 0.005% of each purchase is deducted before units are allotted, so ₹10,000 buys ₹9,999.50 worth of units. Here it lowers the value to ₹1,10,135 and moves XIRR from -14.56% to -14.57%. Small, but it is why your statement's units never match a clean calculation.
  • Don't annualise a month. XIRR on three instalments will turn a 2% move into a startling annual rate. Under a year, read the absolute return; past a year, the XIRR starts to mean something.
  • Add redemptions as positive rows on their own dates, and reduce the closing value by what you sold. Leaving a withdrawal out makes the return look worse than it was.

A habit worth keeping

Download your consolidated account statement once a year and rebuild the table. It takes ten minutes and gives you a number you understand, rather than one you have to trust. If you want to see what the same SIP would have done in a different fund, the MF calculator backtests it on real NAVs and reports the XIRR, and the SIP calculator projects one forward at an assumed rate.

None of this is a view on the fund or on the market. One year of a Nifty 50 SIP that is currently under water says nothing about the next one; it is simply a clean set of cash flows to practise on.

Frequently asked questions

How do I calculate XIRR for a SIP in Excel?

Put each instalment date in column A and each amount in column B as a negative number, then add one last row with today's date and the current value of your units as a positive number. Then type =XIRR(B2:B14, A2:A14). Excel returns a decimal; format it as a percentage.

Why does Excel's XIRR show #NUM! for my SIP?

Usually because every amount has the same sign. XIRR needs at least one negative cash flow (money you paid in) and one positive one (money back, or the current value). Forgetting the current-value row, or typing the instalments as positive, gives #NUM!. Dates stored as text give #VALUE!.

Why is my SIP's XIRR worse than its absolute loss?

Because XIRR is annual and your money was not all invested for the full year. In our example, ₹1.2 lakh invested over 12 months lost 8.22%, but each rupee was invested for about 201 days on average, so the annual rate works out to -14.56%.

This is commentary on published data, not investment advice. WealthTicker is not a SEBI-registered adviser or distributor. Figures are as of the dates stated and can be revised by their source.