# Need Help with Update to Budget Plan

**URL:** <https://community.tiller.com/t/need-help-with-update-to-budget-plan/16172>\
**Category:** Google Sheets\
**Created:** [January 22, 2023, 5:32pm UTC](https://community.tiller.com/t/need-help-with-update-to-budget-plan/16172 "2023-01-22T17:32:40Z")\
**Posts on this page:** 1\
**Showing post:** 43

<div class="post-metadata">

**Author:** ![1Email2RuleThemAll](https://sea2.discourse-cdn.com/flex020/user_avatar/community.tiller.com/1email2rulethemall/32/11774_2.png) [@1Email2RuleThemAll](https://community.tiller.com/u/1Email2RuleThemAll)\
**Post date:** [June 5, 2024, 1:57am UTC](https://community.tiller.com/t/need-help-with-update-to-budget-plan/16172/43 "2024-06-05T01:57:55Z")

</div>

@jpfieber: I’m just now starting to dive into the Budget Plan and figure out how it works. I was hoping to marry the functionality of this sheet and my [Recurring Expense Entry](https://community.tiller.com/t/documentation-recurring-expense-entry-sheet/20792)/[Generated Expenses](https://community.tiller.com/t/upcoming-recurring-expense-account-health-dashboard/20972) sheets. They’re ultimately holding the same data, and they’re surprisingly similar under the hood! It turns out that I use a lot of similar functions in my `Generated Expenses` sheet.

One of the similarities I find amusing is our conclusion to use the `REPT()` function iterated over an occurrence row (cell `AF3` on your `Budget Plan`; cell `M7` on my `Generated Expenses - Upcoming` sheet). Working that out was tedious, but ended up being the key to bust my solution wide open! Then going through your solution just now, I noticed you already did it. I reinvented the wheel for nothing! Lol. But I did notice that the formula I came up with was different than yours.

_ **Your formula:** _

```auto
={"Description"; ARRAYFORMULA(
   TRIM(
      TRANSPOSE(
         SPLIT(
            QUERY(
               IFERROR(REPT(
                  OFFSET(B4,0,0,COUNTA(B4:B),1)&"♥",
                  J4:J
               )),
               ,
               999^99
            ), 
            "♥"
         )
      )
   )
)}

```

I also noticed that your formula spits out an extra row that’s being covered up by an IFERROR check. This also makes the “Occurrences” column show a **1** after the last occurrence row.

 ![image](https://us1.discourse-cdn.com/flex020/uploads/tillermoney/original/3X/1/8/18f3dd72ac0058a6f6f8ce3a19d51dcd21fd98e1.png)

My formula does not do this, If you would like to give it a try and use it in your template? I replaced it in my local copy and everything looks great!

_ **My formula:** _

```auto
={"Description";INDEX(
    SPLIT(
        FLATTEN(
            SPLIT(
                JOIN(
                    ""
                    ,INDEX(
                        REPT(
                            BYROW(
                                 $B$4:INDEX($B$4:$B,MATCH("zzz",$B$4:$B))
                                ,LAMBDA(x,TEXTJOIN("|",0,x))
                            )&"@"
                            ,$J$4:INDEX($J$4:$J,MATCH(9^9,$J$4:$J))
                        )
                    )
                )
                ,"@"
            )
        )
        ,"|"
    )
)}

```

 ![image](https://us1.discourse-cdn.com/flex020/uploads/tillermoney/original/3X/f/5/f5649a5e3cf28c1d910809bac7d01e5b99903ed3.png)

---

_[View the full topic](https://community.tiller.com/t/need-help-with-update-to-budget-plan/16172)._
