Obtener promedio basado en el valor en otra fila

Tengo valores en un archivo de Excel como este:

QR  |  QR AVG  |  val1  |
q1                5
q1                3
q1                4
q2                7
q2                9
q3                10
q3                11
q3                12
q3                11
q4                5
q5                5
q5                7

Y me gustaría que el campo AVG de QR represente el valor promedio particionado por diferentes valores de QR. En otras palabras, me gustaría tener los siguientes valores después de mi cálculo:

QR  |  QR AVG  |  val1  |
q1     4          5
q1     4          3
q1     4          4
q2     8          7
q2     8          9
q3     11         10
q3     11         11
q3     11         12
q3     11         11
q4     5          5
q5     6          5
q5     6          7

Donde no sé el número exacto de filas que tendré, y estaré agregando filas aleatoriamente en la tabla.

Preferiría no escribir una macro para hacer esto si es posible. ¿Alguna idea de cómo podría hacer esto?

Respuestas a la pregunta(3)

Su respuesta a la pregunta