Download het voorbeeldwerkboek
Deze Excel-zelfstudie laat zien hoe u de Excel MOD-functie om de rest na het delen te berekenen.
Overzicht MOD-functie
De MOD-functie retourneert de rest, of modulus, van een getal na het uitvoeren van deling. De MOD-functie is echter niet alleen bedoeld om ons te helpen met onze divisieproblemen. Het wordt nog krachtiger wanneer we naar elk N-de item in een lijst willen zoeken, of wanneer we een herhalend patroon moeten genereren.
Om de MOD Excel-werkbladfunctie te gebruiken, selecteert u cel en typt u:
MOD-functiesyntaxis en ingangen:
1 | =MOD(getal,deler) |
nummer - Een getal.
deler - Een getal om door te delen.
Wat is de MOD-functie?
De MOD-functie retourneert de rest, of modulus, van een getal na het uitvoeren van deling. De MOD-functie is echter niet uitsluitend bedoeld om ons te helpen met onze divisieproblemen. Het wordt nog krachtiger wanneer we naar elk N-de item in een lijst willen zoeken, of wanneer we een herhalend patroon moeten genereren.
MOD Basis wiskunde
Wanneer u 13 door 4 probeert te delen, kunt u zeggen dat het antwoord 3 rest 1 is. De "1" is in dit geval specifiek bekend als de modulus (vandaar de MOD-functienaam). In een formule zouden we dan kunnen schrijven
1 | =MOD(13, 4) |
En de output zou 1 zijn.
Als je naar deze tabel kijkt, krijg je wat meer illustraties van hoe de input/output van MOD zal werken.
1 | =MOD(A2,3) |
Merk op dat wanneer de invoer 3 was, er geen rest was en dus de uitvoer van de formule 0 was. Ook hebben we in onze tabel de RIJ-functie gebruikt om onze waarden te genereren. Een groot deel van de kracht van MOD komt van het gebruik van de ROW (of COLUMN) -functie, zoals we in de volgende voorbeelden zullen zien.
MOD Som om de andere rij op
Beschouw deze tabel:
Ter illustratie heeft de tweede kolom de formule:
1 | =MOD(A2, 2) |
Om alle even rijen toe te voegen, kunt u een SUMIF-formule schrijven en de criteria laten zoeken naar 0-waarden in kolom B. Of, om alle oneven rijen toe te voegen, de criteria laten zoeken naar 1-waarden.
We hoeven echter helemaal geen helperkolom te maken. Je kunt de kracht van MOD binnen SUMPRODUCT combineren om alles in één stap te doen. Onze formule hiervoor zou zijn:
1 | =SOMPRODUCT(A2:A5, --(MOD(B2:B2, 2)=0) |
Omdat het zich in SOMPRODUCT bevindt, kan de MOD-functie onze array-invoer afhandelen. We hebben de uitvoer al in de helperkolom gezien, maar de array van onze MOD in deze formule is {0, 1, 0, 1}. Na het controleren op waarden die gelijk zijn aan 0 door de dubbele unaire toe te passen, wordt de array {1, 0, 1, 0}. Het SOMPRODUCT doet dan zijn magie of vermenigvuldigt de arrays om {2, 0, 4, 0} te produceren en vervolgens op te tellen om de gewenste output van 6 te krijgen.
MOD Som elke N-de rij op
Aangezien een formule van MOD(x, N) bij elke N-de waarde een 0 zal opleveren, kunnen we dit gebruiken om formules te helpen kiezen welke waarden in andere functies moeten worden gebruikt. Kijk naar deze tafel.
Ons doel is om de waarden uit elke rij met de markering "Totaal" te pakken. Houd er rekening mee dat het totaal elke 3 . verschijntrd rij, maar beginnend bij rij 4. Onze MOD-functie gebruikt dus 3 als de 2nd argument, en we moeten 1 aftrekken van het eerste argument (sinds 4 -1 = 3). Op deze manier zullen de gewenste rijen (4, 7, 10) veelvouden zijn van 3 (3, 6, 9). Onze formule om de gewenste waarden op te tellen is:
1 | =SOMPRODUCT(C2:C10, --(MOD(RIJ(A2:A10)+2, 3)=0)) |
De geproduceerde array zal als volgt transformeren:
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}{Fals, False, True, False, False, True, False, False, True}{0, 0, 1, 0, 0, 1, 0, 0, 1} |
De criteriareeks van onze SUMPRODUCT is nu ingesteld hoe we elke 3 . moeten pakkenrd waarde, en we krijgen ons gewenste resultaat van $ 90.
MOD-som op kolommen
We hebben tot nu toe voorbeelden gebruikt die verticaal gaan en RIJ gebruiken, maar je kunt ook horizontaal gaan met de KOLOM-functie. Overweeg deze lay-out:
We willen alle items samenvatten. Onze formule hiervoor zou kunnen zijn:
1 | =SOMPRODUCT(B2:E2*(MOD(COLUMN(B2:E2), 2)=0) |
In dit geval zijn we ingesteld om elke 2 . te pakkennd kolom binnen ons bereik, dus de SOMPRODUCT behoudt alleen niet-nulwaarden voor kolommen B & D. Ter referentie is hier een tabel met kolomnummers en hun bijbehorende waarde na het nemen van MOD 2.
Markeer elke N-de rij
Een andere veel voorkomende plaats om de MOD-functie te gebruiken, is wanneer u elke N-de rij een gemarkeerde rij wilt laten verschijnen. De algemene vorm hiervoor is:
1 | =MOD(RIJ() ± verschuiving, N)=0 |
Waar N is het aantal rijen tussen elke gemarkeerde rij (d.w.z. om elke 3 . te markerenrd rij, N = 3), en offset is optioneel het getal dat we moeten optellen of aftrekken om onze eerste gemarkeerde rij uit te lijnen met N (d.w.z. om elke 3 te markerenrd rij maar begin bij rij 5, we zouden 2 moeten aftrekken omdat 5 -2 = 3). Merk op dat met de RIJ-functie, door eventuele argumenten weg te laten, het rijnummer wordt geretourneerd uit de cel waarin de formule zich bevindt.
Laten we onze tabel van vroeger gebruiken:
Om een markering toe te passen op alle rijen Totaal, maken we een nieuwe regel voor voorwaardelijke opmaak met de formule
1 | =MOD(RIJ()-1, 3)=0 |
Wanneer de voorwaardelijke opmaak deze formule toepast, ziet rij 2
1234 | =MOD (2-1, 3)=0=MOD (1, 3) = 0=1=0=Onwaar |
Rij 3 zal een vergelijkbare output ervaren, maar dan zal rij 4 het zien
1234 | =MOD(4-1, 3)=0=MOD(3, 3) = 0=0=0= Waar |
We hebben dus onze regel correct werkend, zoals hier getoond:
Markeer gehele of even getallen
In plaats van specifieke rijen te markeren, kunt u ook de werkelijke waarden in de cellen controleren. Dit kan handig zijn als u getallen wilt vinden die veelvouden zijn van N. Als u bijvoorbeeld veelvouden van 3 wilt vinden, zou uw formule voor voorwaardelijke opmaak zijn
1 | =MOD(A2, 3)=0 |
Tot nu toe hebben we te maken gehad met hele getallen. U kunt echter een decimaal invoeren (bijv. 1,234) en vervolgens delen door 1 om alleen het decimale deel te krijgen (bijv. 0,234). Deze formule ziet eruit als:
1 | =MOD(A2, 1) |
Wetende dat, om alleen gehele getallen te markeren, zou de formule voor voorwaardelijke opmaak zijn:
1 | =MOD(A2, 1)=0 |
Voeg elke N-cellen samen
We hebben eerder MOD gebruikt om de computer te vertellen wanneer hij bij elk N-de item naar waarde moet grijpen. U kunt het ook laten gebruiken om een grotere formule te activeren die moet worden uitgevoerd. Overweeg deze lay-out:
We willen de namen samenvoegen, maar alleen op elke 3rd rij die begint op rij 2. De formule die hiervoor wordt gebruikt is
1 | =ALS(MOD(RIJ()+1, 3)=0, SAMENVOEGEN(A2," ", A3," ", A4), "") |
Onze MOD-functie is wat fungeert als de criteria voor de algemene ALS-functie. In dit voorbeeld moesten we 1 toevoegen aan onze RIJ, omdat we beginnen bij rij 2 (2 + 1 = 3). Wanneer de uitvoer van de MOD 0 is, doet de formule de aaneenschakeling. Anders wordt het gewoon leeg geretourneerd.
Even/oneven waarden tellen
Als je ooit hebt moeten tellen hoeveel even of oneven waarden in een bereik zijn, weet je dat AANTAL.ALS niet de mogelijkheid heeft om dit te doen. We kunnen het echter doen met MOD en SUMPRODUCT. Laten we naar deze tabel kijken:
De formule die we zullen gebruiken om de oneven waarden te vinden, is:
1 | =SOMPRODUCT(1*(MOD(A2:A7, 2)=1)) |
In plaats van enkele rijnummers te laden, laadt onze MOD de waarden van de werkelijke cellen in de array. De algehele transformatie verloopt dan als volgt:
1234 | {5, 5, 3, 3, 2, 1}{1, 1, 1, 1, 0, 1} <- Nam de mod van 2{ True, True, True, True, False, True } <- Gecontroleerd of de waarde 0 was{1, 1, 1, 1, 0, 1} <- Vermenigvuldigd met 1 om te converteren van Waar/Onwaar naar 1/0 |
Het SOMPRODUCT telt vervolgens de waarden in onze array op, en geeft het gewenste antwoord van: 5.
Herhalend patroon
Alle voorgaande voorbeelden hebben de uitvoer van MOD gecontroleerd op een waarde. U kunt MOD ook gebruiken om een herhalend patroon van getallen te genereren, wat op zijn beurt zeer nuttig kan zijn.
Laten we eerst zeggen dat we een lijst hadden met items die we wilden herhalen.
Je zou kunnen proberen en handmatig kopiëren en plakken, hoe vaak je maar wilt, maar dat zou vervelend worden. In plaats daarvan willen we de INDEX-functie gebruiken om onze waarden op te halen. Om de INDEX te laten werken, moeten we het rijargument een reeks getallen hebben die luidt {1, 2, 3, 1, 2, 3, 1, enz.}. We kunnen dit bereiken met behulp van MOD.
Eerst beginnen we met alleen de ROW-functie. Als je begint met
1 | =RIJ(A1) |
En kopieer dit dan naar beneden, je krijgt de basisnummerreeks van {1, 2, 3, 4, 5, 6,… }. Als we de MOD-functie toepassen met 3 als deler,
1 | =MOD(RIJ(A1), 3) |
we zouden {1, 2, 0, 1, 2, 0,… } krijgen. We zien dat we een herhalend patroon hebben van "0, 1, 2", maar de eerste reeks mist de eerste 0. Om dit op te lossen, gaat u een stap achteruit en trekt u 1 af van het rijnummer. Dit zal onze startvolgorde veranderen in {0, 1, 2, 3, 4, 5,… }
1 | =MOD(RIJ(A1)-1, 3) |
En nadat het uit de MOD komt, hebben we {0, 1, 2, 0, 1, 2,… }. Dit komt in de buurt van wat we nodig hebben. De laatste stap is om 1 toe te voegen aan de array.
1 | =MOD(RIJ(A1)-1, 3)+1 |
Wat nu een getallenreeks oplevert van {1, 2, 3, 1, 2, 3,… }. Dit is onze gewenste volgorde! Als we het in een INDEX-functie steken, krijgen we onze formule van
1 | =INDEX(MijnLijst, MOD(RIJ(A1)-1, 3)+1) |
De uitvoer ziet er nu als volgt uit:
MOD-voorbeelden in VBA
U kunt ook de LIJNSCH-functie in VBA gebruiken.
Binnen VBA is MOD een operator (net als plus-, min-, vermenigvuldigings- en delingsoperatoren). Dus, het uitvoeren van de volgende VBA-instructies:
123456 | Bereik ("C2") = Bereik ("A2") Mod Bereik ("B2")Bereik ("C3") = Bereik ("A3") Mod Bereik ("B3")Bereik ("C4") = Bereik ("A4") Mod Bereik ("B4")Bereik ("C5") = Bereik ("A5") Mod-bereik ("B5")Bereik ("C6") = Bereik ("A6") Mod Bereik ("B6")Bereik ("C7") = Bereik ("A7") Mod Bereik ("B7") |
zal de volgende resultaten opleveren:
Voor de functieargumenten (bekende_y's, enz.), kunt u ze rechtstreeks in de functie invoeren of variabelen definiëren om in plaats daarvan te gebruiken.
Keer terug naar de lijst met alle functies in Excel
Google Spreadsheets MOD-functie
De MOD-functie werkt in Google Spreadsheets precies hetzelfde als in Excel: