Ejemplo:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2
Me gustaría, a partir de la decimoséptima columna, sumar los números hasta el último 1 (16 columnas). Sin embargo, para el segundo 1 y todo lo posterior, no quiero que haya ninguna suma, ya que no cumple con la condición de tener un cero antes. Estaba usando SUMIF
, pero cuando intento extenderlo a lo largo de mi hoja, continúa sumando, por ejemplo, - SUMIF(A1:A16, "=0", A17:A33)
, todavía obtendré un valor distinto de cero para mi segundo 1.
Respuesta1
Respuesta2
Esto encontrará el primero en el rango que no lo es 0
y luego sumará las siguientes 16 columnas.
=SUM(INDEX(A1:AH1,MATCH(0,A1:AH1)+1):INDEX(A1:AH1,MIN(MATCH(0,A1:AH1)+16,COLUMNS(A1:AH1))))
MATCH(0,A1:AH1)
devuelve el número de columna relativo donde está la celda actual 0
y la siguiente es mayor que 0
. Agregamos uno al principio y 17 al final del rango.
Respuesta3
Me gustaría sugerir algunos métodos complicados para usar SUMIF
& SUMPRODUCT
funciones:
Cómo funciona:
- Ambos métodos necesitan valores auxiliares,
1
en34
la fila1
(ver captura de pantalla).
Fórmula en celda
AV3:
=SUMIFS(N2:AU2,N1:AU1,">=17",N1:AU1,"<=32")
Ingrese esta fórmula en la celda
AV4:
=SUMPRODUCT(SMALL(N2:AU2,{17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32}))
Si se trata de un conjunto de datos enorme, puede utilizar esta fórmula.
=SUM(INDEX(N2:AU2,0,COLUMNS(N2:AU2)-(L$6-3)):INDEX(N2:AU2,0,COLUMNS(N2:AU2)))
La celda
L6
lleva el recuento de1s
, es mejor usar esta fórmula en la celdaL6
.=COUNTIF(N2:AU2,1)
Puede ajustar las referencias de celda en la Fórmula según sea necesario.