XNPV will take cash flow which do not occur regularly as required by NPV
So the syntax for XNPV is:
XNPV(rate, values, dates)
Rate: Required. The discount rate to apply to the cash flows.
Values: Required. A series of cash flows that corresponds to a schedule of payments in dates. The first payment is optional and corresponds to a cost or payment that occurs at the beginning of the investment. If the first value is a cost or payment, it must be a negative value. All succeeding payments are discounted based on a 365-day year. The series of values must contain at least one positive value and one negative value.
Dates: Required. A schedule of payment dates that corresponds to the cash flow payments. The first payment date indicates the beginning of the schedule of payments. All other dates must be later than this date, but they may occur in any order.