Funzione MOD in Excel - Calcola il resto della divisione

Scarica esempio di cartella di lavoro

Scarica la cartella di lavoro di esempio

Questo tutorial di Excel mostra come usare il Funzione MOD di Excel calcolare il resto dopo la divisione.

Panoramica della funzione MOD

La funzione MOD restituisce il resto, o modulo, di un numero dopo aver eseguito la divisione. Tuttavia, la funzione MOD non è strettamente per aiutarci con i nostri problemi di divisione. Diventa ancora più potente per quando vogliamo cercare ogni ennesimo elemento in una lista, o quando dobbiamo generare un pattern ripetuto.

Per utilizzare la funzione MOD Foglio di lavoro Excel, selezionare la cella e digitare:

Sintassi e input della funzione MOD:

1 =MOD(numero,divisore)

numero - Un numero.

divisore - Un numero per cui dividere.

Che cos'è la funzione MOD?

La funzione MOD restituisce il resto, o modulo, di un numero dopo aver eseguito la divisione. Tuttavia, la funzione MOD non è strettamente per aiutarci con i nostri problemi di divisione. Diventa ancora più potente quando vogliamo cercare ogni ennesimo elemento in una lista, o quando dobbiamo generare un pattern ripetuto.

MOD Matematica di base

Quando provi a dividere 13 per 4, puoi dire che la risposta è 3 resto 1. L'"1" in questo caso è specificamente noto come modulo (da cui il nome della funzione MOD). In una formula quindi, potremmo scrivere

1 =MOD(13, 4)

E l'output sarebbe 1.

Guardando questa tabella vengono fornite ulteriori illustrazioni di come funzionerà l'input/output di MOD.

1 =MOD(A2,3)

Nota che quando l'input era 3, non c'era resto e quindi l'output della formula era 0. Inoltre, nella nostra tabella abbiamo usato la funzione ROW per generare i nostri valori. Gran parte della potenza di MOD deriverà dall'utilizzo della funzione ROW (o COLUMN) come vedremo negli esempi seguenti.

MOD Somma ogni due righe

Considera questa tabella:

A scopo illustrativo, la seconda colonna ha la formula

1 =MOD(A2, 2)

Per aggiungere tutte le righe pari, puoi scrivere una formula SOMMA.SE e fare in modo che i criteri cerchino i valori 0 nella colonna B. Oppure, per aggiungere tutte le righe dispari, i criteri devono cercare i valori 1.

Tuttavia, non è affatto necessario creare la colonna helper. Puoi combinare la potenza di MOD all'interno di SUMPRODUCT per fare tutto in un solo passaggio. La nostra formula per questo sarebbe

1 =SOMMA.PRODOTTO(A2:A5, --(MOD(B2:B2, 2)=0)

Poiché è all'interno di SUMPRODUCT, la funzione MOD sarà in grado di gestire l'input dell'array. Abbiamo già visto l'output nella colonna helper, ma l'array della nostra MOD in questa formula sarà {0, 1, 0, 1}. Dopo aver verificato i valori uguali a 0 applicando il doppio unario, l'array sarà {1, 0, 1, 0}. Il SUMPRODUCT quindi fa la magia o moltiplica gli array per produrre {2, 0, 4, 0} e quindi somma per ottenere l'output desiderato di 6.

MOD Somma ogni N riga

Poiché una formula di MOD(x, N) produrrà uno 0 ad ogni ennesimo valore, possiamo usarlo per aiutare le formule a scegliere quali valori utilizzare in altre funzioni. Guarda questa tabella.

Il nostro obiettivo è prendere i valori da ogni riga contrassegnata con "Totale". Prendi nota che il Totale appare ogni 3rd riga, ma a partire dalla riga 4. La nostra funzione MOD utilizzerà quindi 3 come 2ns argomento e dobbiamo sottrarre 1 dal primo argomento (poiché 4 -1 = 3). In questo modo le righe desiderate (4, 7, 10) saranno multipli di 3 (3, 6, 9). La nostra formula per sommare i valori desiderati sarà

1 =SOMMA.PRODOTTO(C2:C10, --(MOD(RIGA(A2:A10)+2, 3)=0))

L'array prodotto si trasformerà in questo modo:

12345 {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, VERO, FALSO, FALSO, VERO, FALSO, FALSO, VERO}{0, 0, 1, 0, 0, 1, 0, 0, 1}

L'array di criteri del nostro SUMPRODUCT è ora impostato su come dobbiamo prendere ogni 3rd valore e otterremo il risultato desiderato di $90.

Somma MOD su colonne

Finora abbiamo usato esempi che vanno in verticale e usano ROW, ma puoi anche andare in orizzontale con la funzione COLUMN. Considera questo layout:

Vogliamo riassumere tutti gli elementi. La nostra formula per questo potrebbe essere

1 =SOMMA.PRODOTTO(B2:E2*(MOD(COLUMN(B2:E2), 2)=0)

In questo caso, siamo impostati per prendere ogni 2ns colonna all'interno del nostro intervallo, quindi SUMPRODUCT manterrà solo valori diversi da zero per le colonne B e D. Per riferimento, ecco una tabella che mostra i numeri di colonna e il loro valore corrispondente dopo aver preso la MOD 2.

Evidenzia ogni ennesima riga

Un altro luogo comune in cui utilizzare la funzione MOD è quando si desidera che una riga evidenziata appaia ogni N riga. La forma generale per questo sarà

1 =MOD(ROW() ± Offset, N)=0

In cui si n è il numero di righe tra ogni riga evidenziata (cioè, per evidenziare ogni 3rd riga, N = 3), e Compensare è facoltativamente il numero che dobbiamo aggiungere o sottrarre per far sì che la nostra prima riga evidenziata si allinei con N (cioè, per evidenziare ogni 3rd riga ma inizia dalla riga 5, dovremmo sottrarre 2 poiché 5 -2 = 3). Nota che con la funzione RIGA, omettendo qualsiasi argomento, restituirà il numero di riga dalla cella in cui si trova la formula.

Usiamo la nostra tabella di prima:

Per applicare un'evidenziazione a tutte le righe Totali, creeremo una nuova regola di formattazione condizionale con una formula di

1 =MOD(RIGA()-1, 3)=0

Quando la formattazione condizionale applica questa formula, la riga 2 vedrà

1234 =MOD(2-1, 3)=0=MOD(1, 3) = 0=1=0= Falso

La riga 3 sperimenterà un output simile, ma poi la riga 4 vedrà

1234 =MOD(4-1, 3)=0=MOD(3, 3) = 0=0=0= Vero

Abbiamo quindi la nostra regola che funziona correttamente, come mostrato qui:

Evidenzia numeri interi o pari

Invece di evidenziare righe specifiche, puoi anche controllare i valori effettivi all'interno delle celle. Questo potrebbe essere utile quando vuoi trovare numeri che sono multipli di N. Ad esempio, per trovare multipli di 3 la tua formula di formato condizionale sarebbe

1 =MOD(A2, 3)=0

Fino a questo punto, abbiamo avuto a che fare con numeri interi. Puoi comunque inserire un decimale (es. 1.234) e poi dividere per 1 per ottenere solo la parte decimale (es. 0.234). Questa formula sembra

1 =MOD(A2, 1)

Sapendo che, per evidenziare solo i numeri interi la formula del formato condizionale sarebbe

1 =MOD(A2, 1)=0

Concatena ogni N cellule

In precedenza abbiamo utilizzato MOD per dire al computer quando prendere un valore ad ogni ennesimo elemento. Potresti anche usarlo per attivare una formula più grande da eseguire. Considera questo layout:

Vogliamo concatenare i nomi insieme, ma solo ogni 3rd riga che inizia dalla riga 2. La formula utilizzata per questo è

1 =SE(MOD(ROW()+1, 3)=0, CONCATENATE(A2," ", A3," ", A4), "")

La nostra funzione MOD è ciò che funge da criterio per la funzione IF complessiva. In questo esempio, dovevamo aggiungere 1 alla nostra RIGA, perché iniziamo dalla riga 2 (2 + 1 = 3). Quando l'output della MOD è 0, la formula esegue la concatenazione. In caso contrario, restituisce semplicemente vuoto.

Conta i valori pari/dispari

Se hai mai avuto bisogno di contare quanti valori pari o dispari ci sono in un intervallo, saprai che CONTA.SE non ha la capacità di farlo. Possiamo farlo con MOD e SUMPRODUCT però. Diamo un'occhiata a questa tabella:

La formula che useremo per trovare i valori dispari sarà

1 =SOMMA.PRODOTTO(1*(MOD(A2:A7, 2)=1))

Invece di caricare alcuni numeri di riga, la nostra MOD caricherà i valori delle celle effettive nell'array. La trasformazione complessiva procederà in questo modo:

1234 {5, 5, 3, 3, 2, 1}{1, 1, 1, 1, 0, 1} <- Ha preso la mod di 2{ True, True, True, True, False, True } <- Selezionato se il valore era 0{1, 1, 1, 1, 0, 1} <- Moltiplicato per 1 per convertire da Vero/Falso a 1/0

Il SUMPRODUCT quindi somma i valori nel nostro array, dando la risposta desiderata di: 5.

Motivo ripetuto

Tutti gli esempi precedenti hanno controllato l'output di MOD per un valore. Puoi anche usare MOD per generare uno schema ripetitivo di numeri, che a sua volta può essere molto utile.

Innanzitutto, diciamo che abbiamo un elenco di elementi che vogliamo ripetere.

Potresti provare a copiare e incollare manualmente tutte le volte che ti servono, ma diventerebbe noioso. Invece, vorremo usare la funzione INDEX per recuperare i nostri valori. Perché l'INDICE funzioni, abbiamo bisogno che l'argomento riga sia una sequenza di numeri che va {1, 2, 3, 1, 2, 3, 1, ecc.}. Possiamo farlo usando MOD.

Innanzitutto, inizieremo solo con la funzione ROW. Se inizi con

1 =RIGA(A1)

E poi copialo verso il basso, ottieni la sequenza numerica di base di {1, 2, 3, 4, 5, 6,… }. Se applichiamo la funzione MOD con 3 come divisore,

1 =MOD(RIGA(A1), 3)

otterremmo {1, 2, 0, 1, 2, 0,… }. Vediamo che abbiamo uno schema ripetuto di "0, 1, 2", ma alla prima serie manca lo 0 iniziale. Per risolvere questo problema, esegui il backup di un passaggio e sottrai 1 dal numero di riga. Questo cambierà la nostra sequenza di partenza in {0, 1, 2, 3, 4, 5,… }

1 =MOD(RIGA(A1)-1, 3)

E dopo che esce dalla MOD, abbiamo {0, 1, 2, 0, 1, 2,… }. Questo si sta avvicinando a ciò di cui abbiamo bisogno. L'ultimo passaggio consiste nell'aggiungere 1 all'array.

1 =MOD(RIGA(A1)-1, 3)+1

Che ora produce una sequenza numerica di {1, 2, 3, 1, 2, 3,… }. Questa è la nostra sequenza desiderata! Collegandolo a una funzione INDICE, otteniamo la nostra formula di

1 =INDICE(MyList, MOD(ROW(A1)-1, 3)+1)

L'output sarà ora simile a questo:

Esempi MOD in VBA

Puoi anche usare la funzione REGR.LIN in VBA.

All'interno di VBA, MOD è un operatore (proprio come gli operatori più, meno, moltiplicazione e divisione). Quindi, eseguendo le seguenti istruzioni VBA

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

produrrà i seguenti risultati

Per gli argomenti della funzione (y_nota, ecc.), puoi inserirli direttamente nella funzione o definire le variabili da utilizzare invece.

Torna all'elenco di tutte le funzioni in Excel

Funzione MOD Fogli Google

La funzione MOD funziona esattamente allo stesso modo in Fogli Google come in Excel:

wave wave wave wave wave