Kevin necesita crear una fórmula que sume cada cuarta celda consecutiva. Sabe que puede usar una fórmula como = A6 + E6 + I6 + M6, etc., pero esto se vuelve complicado si hay muchas columnas en la hoja de trabajo.

Hay varias formas de abordar este problema. Una forma es agregar información adicional a la hoja de trabajo para designar qué celdas deben incluirse en la suma. Por ejemplo, en el ejemplo, le interesa sumar celdas en la fila 6 de la hoja de trabajo. Si puede agregar algunos indicadores en la fila 5, estos podrían usarse como «disparadores» en una fórmula. Coloque el número 1, por ejemplo, encima de cada celda que desee incluir en la suma (columnas A, E, I, M, etc.). Luego, puede usar una fórmula como la siguiente:

=SUMPRODUCT(A5:X5, A6:X6)

La fórmula básicamente multiplica lo que está en la fila 5 con la fila 6 y luego suma los resultados. Como solo hay 1 en las columnas que desea sumar, estos son todos los que se incluyen en la suma final.

Si no desea agregar una fila de indicador a su hoja de trabajo, entonces debe buscar diferentes soluciones. Aún puede usar la función SUMPRODUCTO en una fórmula como la siguiente:

=SUMPRODUCT((MOD(COLUMN(6:6),4)=1)*(6:6))

Esta fórmula se basa en la función MOD para devolver el resto de una división. En este caso, lo que se divide es el número de columna de una celda por el valor 4. Esto dará como resultado un resto de 0, 1, 2 o 3. Cada cuarta celda de una fila tendrá el mismo resto. Por lo tanto, la columna A (también conocida como columna 1) tendrá un valor MOD de 1 (1 dividido por 4 es 0, con 1 sobrante), al igual que las columnas E, I, M, etc.

Tenga en cuenta que la fórmula compara si el valor MOD es 1 o no. Si es así, la comparación devuelve True (1); si no es así, devuelve False (0). Luego, esto se multiplica contra la celda de la sexta fila.

Finalmente, SUMPRODUCT suma todas estas multiplicaciones y da el resultado deseado.

Si bien esta fórmula proporciona la suma de cada cuarta celda en la sexta fila, se podría cambiar fácilmente para proporcionar la suma de cada tercera celda, quinta celda o cualquier intervalo que desee. Simplemente cambie el 4 en la función MOD al intervalo deseado.

Si desea seleccionar una celda diferente en cada «grupo» de cuatro celdas para sumar, entonces todo lo que necesita hacer es cambiar el valor que se compara en la función MOD. En este ejemplo, solo la primera celda de cada grupo de cuatro tendrá un MOD de 1 (A, E, I, M, etc.). Si, en cambio, desea sumar cada cuarta celda comenzando con, digamos, la celda C, entonces cambiaría el valor de comparación de 1 a 3. ¿Por qué? Porque C es la tercera celda del grupo y tendrá una MOD de 3, al igual que cada cuarta celda a partir de entonces (G, K, O, etc.).

El único «problema» para esta regla general es si desea sumar la cuarta celda en cada grupo de cuatro celdas. Por ejemplo, es posible que desee sumar las celdas D, H, L, P, etc. En este caso, el valor de comparación utilizado no sería 4, ya que nunca habrá un resto de 4 al realizar una operación MOD que implique dividir por 4 En su lugar, el valor de comparación sería 0, como en el siguiente:

=SUMPRODUCT((MOD(COLUMN(6:6),4)=0)*(6:6))

Si prefiere trabajar con fórmulas de matriz, puede usar una variación un poco más corta de la fórmula anterior:

=SUM(IF(MOD(COLUMN(6:6),4)=1,6:6))

Tenga en cuenta que la fórmula debe ingresarse presionando Ctrl + Shift + Enter.

Luego aparecerá en la barra de fórmulas con llaves (\ {}) alrededor de la fórmula. Las mismas notas de modificación relativas al divisor MOD y al valor de comparación se aplican aquí como lo hicieron con la función SUMPRODUCT.

Ambos enfoques de fórmulas (SUMPRODUCT y la fórmula de matriz)

suma cada cuarta celda en toda la fila. Si, en cambio, desea limitar las celdas de las que se deriva la suma a una parte de la fila, simplemente reemplace 6: 6 (ambas instancias) con el rango adecuado. Por lo tanto, si solo quisiera sumar cada cuarta celda en el rango de A6: Z6, usaría ese rango en la fórmula.

Si realiza muchas sumas de esta manera y las aplica no solo a los rangos en una fila sino también a los rangos en una columna, es posible que desee considerar la posibilidad de crear una función definida por el usuario para hacer la suma. La siguiente función simple hará el truco:

Function SumEveryFourth(MyRange As Range)

Dim x As Integer     SumEveryFourth = 0     For x = 1 To MyRange.Cells.Count         If (x Mod 4) = 1 Then             SumEveryFourth = SumEveryFourth + MyRange.Cells(x).Value         End If     Next x End Function

La función examina el rango que se le ha pasado y luego suma cada cuarta celda comenzando con la primera celda del rango. Si prefiere que sume cada segunda celda del rango, cambie el valor de comparación en la instrucción If, como se discutió anteriormente en este consejo. (Dado que la operación Mod se usa en esta función, y opera de la misma manera que la función de la hoja de trabajo MOD, entonces entran en juego los mismos valores de comparación para determinar qué celda en cada grupo se debe sumar).

La función definida por el usuario funcionará bien en las celdas de una fila o en las celdas de una columna. Simplemente debes asegurarte de pasarle el rango que deseas, como se demuestra aquí:

=SumEveryFourth(C3:C57)

Si lo desea, puede hacer que la macro sea aún más flexible haciendo que el valor del «paso» sea una variable que se pasa a la función. Esta macro alterada podría usarse para sumar por cada celda de 2, 3, 4, 5, etc.

Function SumEveryNth(MyRange As Range, N As Integer)

Dim x As Integer     SumEveryFourth = 0     For x = 1 To MyRange.Cells.Count         If (x Mod N) = 1 Then             SumEveryNth = SumEveryNth + MyRange.Cells(x).Value         End If     Next x End Function

Esta función se llama igual que la función anterior, con la excepción de que agrega el valor de paso deseado. Por ejemplo, esto dará como resultado que cada tercera celda del rango C3: C57 se sume:

=SumEveryNth(C3:C57, 3)

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (3234) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:

link: / excelribbon-Summing_Every_Fourth_Cell_in_a_Row [Suma de cada cuarta celda en una fila].