Formula in row 2:
Code:
=CHOOSE(MIN(MONTH($B2)-MONTH($A2)+1,2),INDEX($D2:$O2,MONTH($A2))*(DAY($B2)-DAY($A2)+1)/DAY(EOMONTH($A2,0)),INDEX($D2:$O2,MONTH($A2))*(1-(DAY($A2)-1)/DAY(EOMONTH($A2,0)))+INDEX($D2:$O2,MONTH($B2))*DAY($B2)/DAY(EOMONTH($B2,0))+IF(MONTH($B2)-MONTH($A2)>1,SUM(INDEX($D2:$O2,MONTH($A2)+1):INDEX($D2:$O2,MONTH($B2)-1)),0))
Copied down.
See attached. (Row 6 was my test row.)