1. Cumulative budgeted totals by category
| Category | Month | Budgeted | Actual | Variance |
| Groceries | Jan | 400 | 450 | 50 |
| Rent | Jan | 1200 | 1200 | 0 |
| Utilities | Jan | 150 | 130 | -20 |
| Entertainment | Jan | 100 | 150 | 50 |
=LET(data,{ {"Category","Month","Budgeted","Actual","Variance"};{"Groceries","Jan",400,450,50};{"Rent","Jan",1200,1200,0};{"Utilities","Jan",150,130,-20};{"Entertainment","Jan",100,150,50} }, SCAN(0, INDEX(data,,3), LAMBDA(acc,val, acc+val) ) )
Result: {400;1600;1750;1850}
The formula extracts the third column (Budgeted) from the literal dataset, then SCAN starts at 0. For each row the lambda adds the current budgeted amount to the running total, producing 400 after the first row, 1600 after adding 1200, 1750 after adding 150, and finally 1850 after the last 100. The result spills vertically as a single column.
2. Running net variance (budgeted vs actual)
| Category | Month | Budgeted | Actual | Variance |
| Groceries | Jan | 400 | 450 | 50 |
| Rent | Jan | 1200 | 1200 | 0 |
| Utilities | Jan | 150 | 130 | -20 |
| Entertainment | Jan | 100 | 150 | 50 |
=LET(data,{ {"Category","Month","Budgeted","Actual","Variance"};{"Groceries","Jan",400,450,50};{"Rent","Jan",1200,1200,0};{"Utilities","Jan",150,130,-20};{"Entertainment","Jan",100,150,50} }, SCAN(0, INDEX(data,,5), LAMBDA(acc,val, acc+val) ) )
Result: {50;50;30;80}
Here the fifth column (Variance) is fed to SCAN. Starting at 0, the lambda adds each variance to the accumulator. After the first row the net variance is 50, stays 50 after the second row (0 added), drops to 30 after the -20 from Utilities, and rises to 80 after the final +50 from Entertainment. The output shows the cumulative over-/under-budget position after each category.
3. Running cash balance after each expense
| Category | Month | Budgeted | Actual | Variance |
| Groceries | Jan | 400 | 450 | 50 |
| Rent | Jan | 1200 | 1200 | 0 |
| Utilities | Jan | 150 | 130 | -20 |
| Entertainment | Jan | 100 | 150 | 50 |
=LET(data,{ {"Category","Month","Budgeted","Actual","Variance"};{"Groceries","Jan",400,450,50};{"Rent","Jan",1200,1200,0};{"Utilities","Jan",150,130,-20};{"Entertainment","Jan",100,150,50} }, SCAN(2000, INDEX(data,,4), LAMBDA(bal,expense, bal-expense) ) )
Result: {1550;350;220;70}
The fourth column (Actual) represents cash outflows. Starting with an initial balance of 2000, the lambda subtracts each expense. After Groceries the balance falls to 1550, after Rent to 350, after Utilities to 220, and after Entertainment to 70. The spill array therefore tracks the remaining cash after each line item.