A family of Microsoft spreadsheet software with tools for analyzing, charting, and communicating data.
Your NPV formula is incorrect. It should be =NPV(B3,C10:L10)+B10. Same result in this case because B10 equals -B9. But it's the "principal" of the matter. (smile)
NPV assumes that each period is equal; one year, in you example.
XNPV uses the exact difference in days/365.
So, for example, NPV(B3,C10)+B10 returns exactly the same value as XNPV(B3,B10:C10,B7:C7) because 2019 has exactly 365 days.
On the other hand, NPV(B3,C10:D10)+B10 differs from XNPV(B3,B10:D10,B7:D7) because 2020 has 366 days.
BTW, I would not say that XNPV is a "big improvement". For no good reason, XNPV does not allow negative discount rates. NPV does.
(That is true for Excel 2010 and earlier. I believe someone confirmed that is still true for Excel 2016. But you might want to double-check yourself.)