The other solution posted here did not work for me because the =WEEKDAY(A1,x)=1 function only allows x to be number 1 to 4 instead of 1 to 7
Example: 10 rows; Column A is the Date, Column B is Number Assigned to the Day of Week Number, Column C is the number you want averaged based on day of week.
Create new column (B) to assign a number for each day of the week.
B
=WEEKDAY(A1)
=WEEKDAY(A2)
=WEEKDAY(A3)
etc...
Sunday = 1, Monday = 2, Tuesday = 3, etc.
Then use the AVERAGEIF function for each day of the week.
Sunday
=AVERAGEIF(B1:B10,"1",C1:C10)
Monday
=AVERAGEIF(B1:B10,"2",C1:C10)
Tuesday
=AVERAGEIF(B1:B10,"3",C1:C10)
etc.
This solution only requires you to add one additional column for numeric value of the day of the week.