Función MOD – Ejemplos en Excel, VBA, Google Sheets

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on julio 13, 2022
Descargar Libro de Ejemplo

Download the example workbook

Este tutorial demostrará cómo utilizar la Función RESIDUO en Excel y Google Sheets para calcular el resto después de dividir.

Función Residuo en Excel

 

Visión Feneral de la Función RESIDUO

La función RESIDUO devuelve el resto, o módulo, de un número después de realizar la división.

Sin embargo, la función RESIDUO no es estrictamente para ayudarnos con nuestros problemas de división. Se vuelve aún más poderosa para cuando queremos buscar cada enésimo elemento en una lista, cada «n» fila, o cuando necesitamos generar un patrón de repetición.

RESIDUO Matemáticas Básicas

Cuando tratas de dividir 13 entre 4, puedes decir que la respuesta es 3 y el resto 1. El «1» en este caso se conoce específicamente como el módulo (de ahí el nombre de la funciónen inglés MOD => RESIDUO). En una fórmula entonces, podríamos escribir

=RESIDUO(13;4)

Residuo 13/4

Y la salida sería 1.

Mirando esta tabla se pueden ver más ilustraciones de cómo funcionará la entrada/salida de RESIDUO.

=RESIDUO(A2;3)

Residuo de 3

Observe que cuando la entrada era 3, no había ningún resto y por lo tanto la salida de la fórmula era 0. También, en nuestra tabla usamos la función FILA para generar nuestros valores. Gran parte de la potencia de RESIDUO vendrá dada por el uso de la función FILA (o COLUMNA) como veremos en los siguientes ejemplos.

RESIDUO Suma Cada Dos Filas

Considere esta tabla:

Tabla para Ejemplo Función RESIDUO

 

A modo de ilustración, la segunda columna tiene la fórmula

=RESIDUO(A2;2)

Residuo de 2

 

Para añadir todas las filas pares, podría escribir una fórmula SUMAR.SI y hacer que el criterio busque valores 0 en la columna B. O, para añadir todas las filas impares, haga que el criterio busque valores 1.

Sin embargo, no necesitamos crear la columna auxiliar en absoluto. Puedes combinar el poder de RESIDUO dentro de la función SUMAPRODUCTO para hacerlo todo en un solo paso. Nuestra fórmula para esto sería

=SUMAPRODUCTO(A2:A5; --(RESIDUO(B2:B2; 2)=0)

Como está dentro de SUMAPRODUCTO, la función RESIDUO podrá manejar nuestra entrada de array. Ya hemos visto la salida en la columna auxiliar, pero el array de nuestro RESIDUO en esta fórmula será {0, 1, 0, 1}. Después de comprobar los valores iguales a 0 aplicando el doble unario, el array será {1, 0, 1, 0}. El SUMAPRODUCTO entonces hace su magia o multiplica las matrices para producir {2, 0, 4, 0} y luego suma para obtener la salida deseada de 6.

 

RESIDUO Suma Cada Enésima Fila

Dado que una fórmula de RESIDUO(x; N) dará como resultado un cero (0) en cada n valor, podemos usar esto para ayudar a las fórmulas a elegir qué valores usar en otras funciones. Mira esta tabla.

Tabla para Ejemplo Función RESIDUO con SUMAPRODUCTO en Excel

Nuestro objetivo es tomar los valores de cada fila marcada como «Total». Observa que el Total aparece cada 3 filas, pero a partir de la fila 4. Por lo tanto, nuestra función RESIDUO utilizará el 3 como 2do argumento, y tenemos que restar 1 al primer argumento (ya que 4 -1 = 3). De este modo, las filas deseadas (4, 7, 10) serán múltiplos de 3 (3, 6, 9). Nuestra fórmula para sumar los valores deseados será

=SUMAPRODUCTO(C2:C10; --(RESIDUO(FILA(A2:A10)+2; 3)=0))

Función RESIDUO con SUMAPRODUCTO en Excel

 

El array producido se transformará así:

{2; 3; 4; 5; 6; 7; 8; 9; 10}
{1; 2; 3; 4; 5; 6; 7; 8; 9}
{1; 2; 0; 1; 2; 0; 1; 2; 0}
{Falso; Falso; Verdadero; Falso; Falso; Verdadero; Falso; Verdadero}
{0; 0; 1; 0; 0; 1; 0; 0; 1}

La matriz de criterios de nuestro SUMAPRODUCTO está ahora configurada de la manera en que necesitamos tomar cada tercervalor, y obtendremos nuestro resultado deseado de $90.

MOD Suma en Columnas

Hasta ahora hemos estado usando ejemplos que van verticalmente y usan FILA, pero también puedes ir horizontalmente con la función COLUMNA. Considere esta disposición:

Tabla para Ejemplo RESIDUO Suma en Columnas

 

Queremos sumar todos los elementos. Nuestra fórmula para ello podría ser

=SUMAPRODUCTO(B2:E2*(RESIDUO(COLUMNA(B2:E2); 2)=0)

En este caso, estamos configurados para tomar cada segunda columna dentro de nuestro rango, por lo que el SUMAPRODUCTO sólo retendrá los valores distintos de cero para las columnas B y D. Como referencia, aquí hay una tabla que muestra los números de las columnas y su valor correspondiente después de tomar RESIDUO 2.

Ejemplo RESIDUO Suma en Columnas

 

Resaltar Cada N Fila

Otro uso común de la función RESIDUO es resaltar cada n fila. La forma general para esto será

=RESIDUO(FILA() ± Desplazamiento; N)=0

Donde N es el número de filas entre cada fila resaltada (es decir, para resaltar cada 3era fila, N = 3), y Desplazamiento es opcionalmente el número que necesitamos sumar o restar para conseguir que nuestra primera fila resaltada se alinee con N (es decir, para resaltar cada 3era fila pero empezar en la fila 5, necesitaríamos restar 2 ya que 5 -2 = 3). Tenga en cuenta que con la función FILA, al omitir cualquier argumento, devolverá el número de fila de la celda en la que se encuentra la fórmula.

Usemos nuestra tabla de antes:

Resaltar Cada n Filas en Excel

 

Para aplicar un resaltado a todas las filas de Total, crearemos una nueva regla de Formato Condicional con una fórmula de

=RESIDUO(FILA()-1; 3)=0

Cuando el formato condicional aplique esta fórmula, la fila 2 verá

=RESIDUO(2-1; 3)=0
=RESIDUO(1; 3) = 0
=1=0
=Falso

La fila 3 experimentará una salida similar, pero entonces la fila 4 verá

=RESIDUO(4-1; 3)=0
=RESIDUO(3; 3) = 0
=0=0
=Verdadero

Resultado Resaltar Cada n Filas en Excel

 

Resaltar números enteros o pares

En lugar de resaltar filas específicas, también podría comprobar los valores reales dentro de las celdas. Esto podría ser útil para cuando quiera encontrar números que sean múltiplos de N. Por ejemplo, para encontrar múltiplos de 3 su fórmula de formato condicional sería

=RESIDUO(A2; 3)=0

Hasta este punto, hemos estado tratando con números enteros. Sin embargo, puedes tener una entrada de un decimal (por ejemplo, 1,234) y luego dividir por 1 para obtener sólo la parte decimal (por ejemplo, 0,234). Esta fórmula tiene el siguiente aspecto

=RESIDUO(A2; 1)

Sabiendo esto, para resaltar sólo los enteros la fórmula de formato condicional sería

=RESIDUO(A2; 1)=0

Concatenar Cada N Celdas

Anteriormente hemos estado usando RESIDUO para decirle a la computadora cuando debe tomar el valor en cada N elementos. También se puede utilizar para activar una fórmula más grande que se ejecute. Considere esta disposición:

Tabla para Ejemplo Concatenar Cada n Filas

 

Queremos concatenar los nombres juntos, pero sólo en cada 3era fila a partir de la fila 2. La fórmula utilizada para ello es

=SI(RESIDUO(FILA()+1; 3)=0; CONCATENAR(A2;" "; A3;" "; A4); "")

Ejemplo Concatenar Cada n Filas

 

Nuestra función RESIDUO es la que actúa como criterio para la función SI general. En este ejemplo, añadimos 1 a nuestra FILA, porque estamos empezando en la fila 2 (2 + 1 = 3). Cuando la salida de RESIDUO es 0, la fórmula hace la concatenación. En caso contrario, sólo devuelve el espacio en blanco.

 

Contar Valores Pares / Impares

Si alguna vez has necesitado contar cuántos valores pares o impares hay en un rango, sabrás que CONTAR.SI no tiene la capacidad de hacerlo. Sin embargo, podemos hacerlo con RESIDUO y SUMAPRODUCTO. Veamos esta tabla:

Tabla para Ejemplo Contar Celdas Impares

 

La fórmula que utilizaremos para encontrar los valores impares será

=SUMAPRODUCTO(1*(RESIDUO(A2:A7; 2)=1))

Ejemplo Contar Celdas Impares

 

En lugar de cargar algunos números de fila, nuestro RESIDUO va a cargar los valores reales de las celdas en el array. La transformación general progresará entonces así:

{5; 5; 3; 3; 2; 1}
{1; 1; 1; 1; 0; 1} <- Tomó el residuo de 2
{ Verdadero, Verdadero, Verdadero, Falso, Verdadero } <- Comprobó si el valor era 0
{1; 1; 1; 1; 0; 1} <- Multiplicado por 1 para convertir de Verdadero/Falso a 1/0

El SUMAPRODUCTO entonces suma los valores en nuestra matriz, dando respuesta deseada de: 5.

 

Patrón de Repetición

Todos los ejemplos anteriores han estado comprobando la salida de RESIDUO para un valor. También se puede utilizar RESIDUO para generar un patrón de repetición de números, que a su vez puede ser muy útil.

Primero, digamos que tenemos una lista de elementos que queremos que se repitan.

Lista Inicial

Podríamos intentar copiar y pegar manualmente todas las veces que necesitemos, pero eso sería tedioso. En su lugar, vamos a querer utilizar la función INDICE para recuperar nuestros valores. Para que el INDICE funcione, necesitamos que el argumento de la fila sea una secuencia de números que vaya {1, 2, 3, 1, 2, 3, 1, etc.}. Podemos lograr esto usando residuo.

Primero, empezaremos con la función FILA. Si empiezas con

=FILA(A1)

Y luego lo copias hacia abajo, obtienes la secuencia numérica básica de {1; 2; 3; 4; 5; 6; …}. Si aplicamos la función RESIDUO con el 3 como divisor

=RESIDUO(FILA(A1); 3)

obtendríamos {1; 2; 0; 1; 2; 0; …}. Vemos que tenemos un patrón repetitivo de «0; 1; 2», pero a la primera serie le falta el 0 inicial. Esto cambiará nuestra secuencia inicial a {0; 1; 2; 3; 4; 5; …}

=RESIDUO(FILA(A1)-1; 3)

Y después de salir de la función RESIDUO, tenemos {0; 1; 2; 0; 1; 2; …}. Esto se acerca a lo que necesitamos. El último paso es añadir 1 al array.

=RESIDUO(FILA(A1)-1; 3)+1

Lo que ahora produce una secuencia de números de {1; 2; 3; 1; 2; 3; …}. Esta es nuestra secuencia deseada. Introduciéndola en una función INDICE, obtenemos nuestra fórmula de:

=INDICE(MyList;RESIDUO(FILA(A1)-1;3)+1)

La salida se verá así:

Partrón de Repetición en Excel

 

Ejemplos de MOD (RESIDUO) en VBA

También puede utilizar la función MOD (RESIDUO) en VBA.

Dentro de VBA, MOD es un operador (al igual que los operadores de más, menos, multiplicación y división). Así, ejecutando las siguientes sentencias VBA

Range("C2") = Range("A2") Mod Range("B2")
Range("C3") = Range("A3") Mod Range("B3")
Range("C4") = Range("A4") Mod Range("B4")
Range("C5") = Range("A5") Mod Range("B5")
Range("C6") = Range("A6") Mod Range("B6")
Range("C7") = Range("A7") Mod Range("B7")

producirá los siguientes resultados

Ejemplo Resultado Residuo en VBA

Para los argumentos de la función (known_y’s, etc.), puedes introducirlos directamente en la función, o definir variables para utilizarlos en su lugar.

Función RESIDUO de Google Sheets

La función RESIDUO funciona exactamente igual en Google Sheets que en Excel:

Función RESIDUO en Google Sheets

AI Formula Generator

Pruébelo Gratis

Excel Practice Worksheet

practice excel worksheet

Practice Excel functions and formulas with our 100% free practice worksheets!

  • Automatically Graded Exercises
  • Learn Excel, Inside Excel!

Free Download

Return to List of Excel Functions