Hi,
This will be one of those cases when you can use VLOOKUP with the last parameter being TRUE...
I don't know if you have all staff members in one single table or the have the separate sheets... so I used an example where the staff name can be different and each is checked against separate rate table.
The trick is to have a table separately with the dates of rate changes, it is very important that here the dates have to be order from oldest to newest !
In Excel's menu, you can add a fancy looking data Table on top of this, just click anywhere in this little table and go "Insert -> Table". When this is done, click in the Table, you'll have a new menu on the Ribbon called "Table Tools", look for Table name and give it the same name as one of your staff members. In my example it will be "johnny"
[TABLE="class: grid, width: 147, align: left"]
<tbody>[TR]
[TD]from date[/TD]
[TD]rate[/TD]
[/TR]
[TR]
[TD="align: right"]01/01/2017[/TD]
[TD="align: right"]8.2[/TD]
[/TR]
[TR]
[TD="align: right"]25/09/2017[/TD]
[TD="align: right"]8.5[/TD]
[/TR]
[TR]
[TD="align: right"]28/09/2017[/TD]
[TD="align: right"]9.1[/TD]
[/TR]
</tbody>[/TABLE]
If this is done, you can use a simple VLOOKUP, it will always take the value from your hourly rate table which is the last one before a new change is reached (notice below that rates change on 25th and 28th as configured in the rate table)
[TABLE="class: grid, width: 460"]
<tbody>[TR]
[TD]A[/TD]
[TD]B[/TD]
[TD]C[/TD]
[TD]D[/TD]
[TD]E[/TD]
[/TR]
[TR]
[TD]day[/TD]
[TD]staff[/TD]
[TD]hours[/TD]
[TD]rate[/TD]
[TD]total[/TD]
[/TR]
[TR]
[TD="align: right"]22/09/2017[/TD]
[TD]johnny[/TD]
[TD="align: right"]7.5[/TD]
[TD="align: right"]=VLOOKUP(A3,INDIRECT(B3),2,TRUE)[/TD]
[TD][/TD]
[/TR]
[TR]
[TD="align: right"]23/09/2017[/TD]
[TD]johnny[/TD]
[TD="align: right"]7.5[/TD]
[TD="align: right"]8.2[/TD]
[TD][/TD]
[/TR]
[TR]
[TD="align: right"]24/09/2017[/TD]
[TD]johnny[/TD]
[TD="align: right"]7.5[/TD]
[TD="align: right"]8.2[/TD]
[TD][/TD]
[/TR]
[TR]
[TD="align: right"]25/09/2017[/TD]
[TD]johnny[/TD]
[TD="align: right"]7.5[/TD]
[TD="align: right"]8.5[/TD]
[TD][/TD]
[/TR]
[TR]
[TD="align: right"]26/09/2017[/TD]
[TD]johnny[/TD]
[TD="align: right"]7.5[/TD]
[TD="align: right"]8.5[/TD]
[TD][/TD]
[/TR]
[TR]
[TD="align: right"]27/09/2017[/TD]
[TD]johnny[/TD]
[TD="align: right"]7.5[/TD]
[TD="align: right"]8.5[/TD]
[TD][/TD]
[/TR]
[TR]
[TD="align: right"]28/09/2017[/TD]
[TD]johnny[/TD]
[TD="align: right"]7.5[/TD]
[TD="align: right"]9.1[/TD]
[TD][/TD]
[/TR]
[TR]
[TD="align: right"]29/09/2017[/TD]
[TD]johnny[/TD]
[TD="align: right"]7.5[/TD]
[TD="align: right"]9.1[/TD]
[TD][/TD]
[/TR]
[TR]
[TD="align: right"]30/09/2017[/TD]
[TD]johnny[/TD]
[TD="align: right"]7.5[/TD]
[TD="align: right"]9.1[/TD]
[TD][/TD]
[/TR]
</tbody>[/TABLE]