A family of Microsoft spreadsheet software with tools for analyzing, charting, and communicating data.
Create a totals query.
Add the field(s) that you want to group by.
Add a calculated column:
WeightedAverage: Sum([Weight]*[Score])/Sum([Weight])
where Weight is the field containing the weights and Score is the field whose values you want to average.