¿Cómo usar INDIRECTO con SUMIFS para el rango de criterios?

0

Estoy trabajando en una hoja de Excel que tiene un rango elástico. En lugar de usar A: A como rango, quiero usar INDIRECTO y 2 celdas para determinar el rango.

Actualmente estoy atascado con esto = SUMIFS (INDIRECTO ("$ B" y B9): INDIRECTO ("$ B" y B10), $ A $ 12: $ A $ 33, D $ 11)

¿Cuál sería la forma correcta de usar INDIRECTO para determinar un rango con 2 celdas?

<img> http://i.stack.imgur.com/LyYNp.png </img>

Damian
fuente
¿Qué hay de malo con la fórmula que escribiste?
Fixer1234
@fixer ¿Quizás eso no funciona?
teylyn
@teylyn, estaba enfocado en lo INDIRECTO y ni siquiera entendí eso. Buena respuesta.
fijador1234

Respuestas:

1

Su fórmula devuelve un error porque los rangos en Sumifs deben ser del mismo tamaño, pero el primer rango es de longitud variable, debido a la construcción con Indirecto (), mientras que el segundo rango es un rango fijo.

Indirecto () es una posibilidad para construir rangos variables, y puede aplicar la misma técnica al segundo rango, de esta manera:

=SUMIFS(INDIRECT("$B"&$B9):INDIRECT("$B"&$B10),INDIRECT("$A"&$B9):INDIRECT("$A"&$B10),D$11)

Tenga en cuenta que agregué $ signos para las referencias B9 y B10, por lo que la columna no cambia cuando se copia la fórmula.

Tenga en cuenta que Indirect es volátil, sin embargo, y el uso excesivo de este en libros de trabajo grandes puede conducir a la lentitud. Otra forma de escribir la fórmula es con el Índice no volátil (), así:

=SUMIFS(INDEX($B:$B,$B9):INDEX($B:$B,$B10),INDEX($A:$A,$B9):INDEX($A:$A,$B10),D$11)
teylyn
fuente
La hoja principal en la que estoy trabajando tiene unas 150K filas, ¡me diste más de lo que pedí y te lo agradezco! La razón por la que estaba pensando en usar un rango variable es por el rendimiento.
Damian
Sumifs () es súper rápido y se complace en procesar columnas enteras. No es necesario saltar a través de los aros para restringir el rango que lo alimenta, de hecho, eso podría afectar negativamente el rendimiento. En cualquier caso, si eso resolvió su problema,
márquelo
En la hoja en la que estoy trabajando, estoy tratando de hacer referencia al ÍNDICE en otra página, el código original es este: = COUNTIFS ('Stay Data'! $ A $ 2: $ A $ 200000, 'Stay Report'! $ A6 , 'Datos de estadía'! $ F $ 2: $ F $ 200000, "> =" & $ A $ 1, 'Datos de estadía'! $ F $ 2: $ F $ 200000, "<=" & $ B $ 1, 'Datos de estadía'. $ P $ 2: $ P $ 200000, 'Informe de estadía' (D $ 5)
Damián
Estoy tratando de hacer esto: = COUNTIFS ('Stay Data'! Setup! Index ($ B: $ B, $ B $ 31): index ($ B: $ B, $ B $ 32), 'Stay Report'! $ A6, 'Datos de estadía'! Configuración! Index ($ B: $ B, $ B $ 31): índice ($ B: $ B, $ B $ 32), "> =" & $ A $ 1, 'Datos de estadía'! Configuración ! index ($ B: $ B, $ B $ 31): index ($ B: $ B, $ B $ 32), "<=" & $ B $ 1, 'Stay Data'! Setup! index ($ B: $ B , $ B $ 31): índice ($ B: $ B, $ B $ 32), 'Informe de permanencia'! D $ 5) ¿Cómo hago esta porción correctamente?
Damian
Intenté usar sumifs con un rango completo usando A: A pero eso afectó gravemente el rendimiento. ¿Tiene alguna sugerencia para filas de aproximadamente 200,000?
Damian