Forum Discussion

YashR1994's avatar
YashR1994
Copper Contributor
Jan 22, 2022
Solved

YTD Dynamic Calculation

Hi,

 

I want a help to calculate YTD dynamically in which it should always start calculate from January month only no matter January month falls in which cell or column in a provided range (here i want the solution in automatic manner in which i don't need to increase/decrease any range)

 

 

Thanks in advance 🙂

 

 

  • YashR1994 

    1) Make sure that the cell with the formula is not formatted as text.

    2) If you use comma as decimal separator, use semicolon in the formula:

     

    =SUM(INDEX(B2:M2;MATCH(1;MONTH(B1:M1);0)):M2)

     

    3) Try confirming the formula with Ctrl+Shift+Enter.

8 Replies

  • CalcPave's avatar
    CalcPave
    Tin Contributor

    The dynamic approach is useful because it avoids having to manually change the range when the position of January changes. Using functions such as INDEX/MATCH or XMATCH makes the calculation much more flexible, especially when working with longer datasets.

    I also find this same principle useful in engineering calculations: keeping the input range and calculation logic flexible makes tools easier to reuse for different projects. For example, I use a similar input-driven approach for pavement material estimation with CalcPave, where users can enter road dimensions, thickness, density, and binder content to calculate the required bitumen quantity.

    You can see the calculator here: https://calcpave.com/

    For Excel users, the key takeaway from this discussion is that the formula should identify the January starting point dynamically rather than relying on a fixed column.

  • SnowMan55's avatar
    SnowMan55
    Bronze Contributor

    For those who might be interested in the latest YTD total (or average, etc.) for a period covering more than 12 months (including running YTD totals, averages, etc.), a slightly different formula will be useful:

    =SUM(INDEX( B2:M2, XMATCH(1,MONTH(B1:M1),0,-1) ):M2)

    (The included spaces are optional.  The XMATCH function requires Excel 2021 or a later version.)  In some cases it will be necessary to fix (prepend a $ to) the row number or column letter of the starting cells.
    See the attached workbook for examples.

    • PeterBartholomew1's avatar
      PeterBartholomew1
      Silver Contributor

      The same idea as you except that I used DROP to return the range

      = SUM(
          DROP(
            amountA,,
            XMATCH(1, MONTH(dateA),,-1) - 1
          )
        )

       

  • Sidney_Tremblay's avatar
    Sidney_Tremblay
    Copper Contributor

     

    Hi, for automating YTD calculations that always begin from January regardless of the cell placement, you might consider using dynamic array formulas or a helper column with month extraction logic. Also, if you're dealing with academic metrics and need an efficient way to compute your semester scores, the https://calculatesgpa.vercel.app/ offers a reliable method. It’s a great tool to streamline academic evaluations. Hope this helps!

     

  • YashR1994 

    Let's say that the months are in B1:M1, and the numbers in B2:M2.

    The YTD is given by

    =SUM(INDEX(B2:M2,MATCH(1,MONTH(B1:M1),0)):M2)
      • HansVogelaar's avatar
        HansVogelaar
        MVP

        YashR1994 

        1) Make sure that the cell with the formula is not formatted as text.

        2) If you use comma as decimal separator, use semicolon in the formula:

         

        =SUM(INDEX(B2:M2;MATCH(1;MONTH(B1:M1);0)):M2)

         

        3) Try confirming the formula with Ctrl+Shift+Enter.