Consider this workaround:
- Change column B to actual dates.
- Then reserve an extra column to determine which date column to use (in this example I used column I).
Cell I7: =MAX(($D$1:$H$1<=B7)*$D$1:$H$1)
This is an array formula and needs to be confirmed with Ctrl+Shift+Enter. Drag formula down.
- In cell D7: =IF($I7=D$1,Your amount,"")
Drag formula to the right and then down.
Your amount could be (for example) a cell reference or a sum function.
Consider hiding or, changing text color to white, on the extra formula column.