
Lo que me gustaría hacer es
=AVERAGE(col(2)2:col(2):5, col(5)2:col(5):5,, col(9)2:col(9):5)
Como puede ver, en lugar de usarlo B2
para hacer referencia a una celda, cambié B
por una ficticia col(2)
donde el número 2 = B
es posible?
Contexto si es útil:
Tengo algunos datos que se ven así (este es el resultado de una encuesta)
A B C D
1 ID Q1 Q2 Q3
2 1 3 1 2
3 2 4 5 4
En este caso, Q = pregunta y el número es la puntuación otorgada a la pregunta.
Quiero calcular el promedio en función de columnas específicas. En este caso, solo quiero sumar toda la columna B y la columna D.
Sé cómo hacerlo usando average
, pero lo que me atasca es cómo tomo la columna por un número. Como puede ver, B es la pregunta 1, C es la pregunta 2, D es la pregunta 3 (y esto llega hasta AZ).
Pensé en agregar una fila adicional para representar la pregunta.
A B C D
1 1 2 3
2 ID Q1 Q2 Q3
3 1 3 1 2
4 2 4 5 4
Y luego tal vez lo use match
, pero me perdí tanto que no vale la pena compartir lo que probé aquí.
Respuesta1
Para promediar ciertas columnas por número, puede usar INDEX
con un argumento de matriz para columns
.
p.ej. en tu ejemplo:
=AVERAGE(INDEX($A2:$D2,1,{2,4}))
promediaría las columnas 2 y 4
Si los números de las columnas son aleatorios, necesitará codificarlos como muestro en una matriz constante; Si existe una relación matemática, puede ser más conveniente una fórmula para generar la matriz de números de columna.
Dado que INDEX
solo devuelve las columnas relevantes, puede usar cualquier función que tome una matriz como argumento.
Más tempranoLas versiones de Excel pueden requerir una fórmula diferente, así que vuelva a publicar si este enfoque no le funciona y indique exactamente qué no funciona (o mensaje de error).