
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 A
o 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.