¿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>


¿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)

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.