Excel - Fórmula indirecta

Excel - Fórmula indirecta

Otra pregunta sobre la fórmula indirecta de Excel.

Tengo las columnas E1:J202 llenas con uno de los siguientes:

  • Verde
  • Ámbar
  • Rojo

¿Cómo puedo usar la fórmula indirecta para contar cada uno de los anteriores por separado si se completa una nueva fila o columna?

Nota: Cada vez que agrego una nueva columna en Excel (es decir, si inserto una nueva columna [K]), quiero que el sistema cuente las celdas verde, ámbar y roja de F1:K202 en lugar de E1:J202.

Respuesta1

Utilice ÍNDICE:

=COUNTIFS(INDEX(1:202,1,MATCH(1E+99,1:1)-5):INDEX(1:202,202,MATCH(1E+99,1:1)),"green")

Encontrará la última columna con una fecha verdadera y luego creará un rango que la incluya y 5 columnas a la izquierda.

Si la "fecha" es en realidad texto y no una fecha verdadera, utilice esto:

=COUNTIFS(INDEX(1:202,1,MATCH("zzz",1:1)-5):INDEX(1:202,202,MATCH("zzz",1:1)),"green")

Respuesta2

Lo siento, no leí la pregunta en mi primera respuesta.

Intente utilizar la siguiente fórmula:

=COUNTIFS(INDIRECT(ADDRESS(1,5)&":"&ADDRESS(202,(COLUMNS($A$1:WZG1)-16221))),"green")

esto se descompondrá si agrega una columna a la izquierda column Ao a la derecha decolumn WZF

Respuesta3

Si todas las celdas del rango están llenas, utilice la siguiente fórmula para obtener la última celda del rango lleno:

=ADDRESS(COUNTA(E:E),COUNTA(1:1)-COUNTA(A1:D1)+4)

Si todas las celdas en A1:D1 también están llenas, la fórmula puede ser

=ADDRESS(COUNTA(E:E),COUNTA(1:1))

Utilice esta dirección en su INDIRECTO:

=COUNTIFS(INDIRECT("E1:"&ADDRESS(COUNTA(E:E),COUNTA(1:1)-COUNTA(A1:D1)+4)),"Green")

o, si todas las celdas en A1:D1 están llenas,

=COUNTIFS(INDIRECT("E1:"&ADDRESS(COUNTA(E:E),COUNTA(1:1))),"Green")

Por supuesto, puede utilizar cualquier otra fila y/o columna para la detección de la última celda.

información relacionada