Atsisiųskite darbaknygės pavyzdį
Ši „Excel“ pamoka parodo, kaip naudotis „Excel MOD“ funkcija padalijimui apskaičiuoti likusią dalį.
MOD funkcijų apžvalga
Funkcija MOD grąžina skaičiaus likutį arba modulį atlikus padalijimą. Tačiau MOD funkcija nėra skirta padėti mums suskirstymo problemoms spręsti. Jis tampa dar galingesnis, kai norime ieškoti kiekvieno N sąrašo elemento arba kai reikia sukurti pasikartojantį modelį.
Norėdami naudoti „MOD Excel“ darbalapio funkciją, pasirinkite langelį ir įveskite:
MOD funkcijos sintaksė ir įėjimai:
1 | = MOD (skaičius, daliklis) |
skaičius - Skaičius.
daliklis - Skaičius, kurį reikia padalyti.
Kas yra MOD funkcija?
Funkcija MOD grąžina skaičiaus likutį arba modulį atlikus padalijimą. Tačiau MOD funkcija nėra skirta padėti mums suskirstymo problemoms spręsti. Jis tampa dar galingesnis, kai norime ieškoti kiekvieno N sąrašo elemento arba kai reikia sukurti pasikartojantį modelį.
MOD Basic matematika
Kai bandote padalinti 13 iš 4, galite pasakyti, kad atsakymas yra 3 likutis 1. „1“ šiuo atveju yra specialiai žinomas kaip modulis (taigi ir MOD funkcijos pavadinimas). Tada galėtume parašyti formule
1 | = MOD (13, 4) |
Ir išvestis būtų 1.
Pažvelgus į šią lentelę pateikiama daugiau iliustracijų, kaip veiks MOD įvestis/išvestis.
1 | = MOD (A2,3) |
Atkreipkite dėmesį, kad kai įvestis buvo 3, likučių nebuvo, todėl formulės išvestis buvo 0. Be to, mūsų lentelėje savo reikšmėms generuoti naudojome funkciją ROW. Didžiąją MOD galios dalį naudos ROW (arba COLUMN) funkcijos naudojimas, kaip matysime tolesniuose pavyzdžiuose.
MOD Sum kas antrą eilutę
Apsvarstykite šią lentelę:
Iliustracijos tikslais antrame stulpelyje yra formulė
1 | = MOD (A2, 2) |
Jei norite pridėti visas lygias eilutes, galite parašyti SUMIF formulę ir kriterijai ieškoti 0 reikšmių stulpelyje B. Arba, jei norite pridėti visas nelygines eilutes, kriterijai turi būti 1 reikšmių paieška.
Tačiau mums visai nereikia kurti pagalbinio stulpelio. Galite sujungti MOD galią „SUMPRODUCT“, kad padarytumėte viską vienu žingsniu. Mūsų formulė būtų tokia
1 | = SUMPRODUCT (A2: A5, -(MOD (B2: B2, 2) = 0) |
Kadangi tai yra „SUMPRODUCT“, funkcija MOD galės valdyti mūsų masyvo įvestį. Išvestį jau matėme pagalbinėje stulpelyje, tačiau mūsų formulės masyvas šioje formulėje bus {0, 1, 0, 1}. Patikrinus reikšmes, kurios lygios 0, taikant dvigubą vienetą, masyvas bus {1, 0, 1, 0}. Tada „SUMPRODUCT“ daro stebuklą arba padaugina masyvus, kad gautų {2, 0, 4, 0}, tada sumuoja, kad gautų norimą 6 rezultatą.
MOD Sum kiekvienoje N eilutėje
Kadangi MOD (x, N) formulė kiekvienoje N -toje reikšmėje išves 0, mes galime tai panaudoti, norėdami padėti formulėms pasirinkti ir pasirinkti, kurias reikšmes naudoti kitose funkcijose. Pažvelkite į šią lentelę.
Mūsų tikslas yra paimti vertes iš kiekvienos eilutės, pažymėtos „Iš viso“. Atminkite, kad „Total“ rodomas kas 3rd eilutę, bet pradedant nuo 4 eilutės. Taigi mūsų MOD funkcija naudos 3 kaip 2antra argumentas, o iš pirmo argumento turime atimti 1 (nes 4 -1 = 3). Tokiu būdu norimos eilutės (4, 7, 10) bus 3 (3, 6, 9) kartotinės. Mūsų formulė, skirta sumuoti norimas vertes, bus tokia
1 | = SUMPRODUCT (C2: C10, -(MOD (ROW (A2: A10) +2, 3) = 0)) |
Sukurtas masyvas pasikeis taip:
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}{Netiesa, melas, tiesa, melas, melas, tiesa, melas, melas, tiesa}{0, 0, 1, 0, 0, 1, 0, 0, 1} |
Mūsų „SUMPRODUCT“ kriterijų masyvas dabar nustato, kaip mums reikia griebtis kas 3rd vertės, ir gausime norimą rezultatą - 90 USD.
MOD suma stulpeliuose
Iki šiol naudojome pavyzdžius, kurie eina vertikaliai ir naudoja ROW, tačiau taip pat galite eiti horizontaliai naudodami funkciją COLUMN. Apsvarstykite šį išdėstymą:
Mes norime apibendrinti visus elementus. Mūsų formulė tam gali būti
1 | = SUMPRODUCT (B2: E2*(MOD (COLUMN (B2: E2), 2) = 0) |
Šiuo atveju mes ruošiamės paimti kas 2antra stulpelį mūsų diapazone, todėl SUMPRODUCT išsaugos tik nulines B ir D stulpelių reikšmes. Pateikiame lentelę, kurioje rodomi stulpelių numeriai ir atitinkama jų vertė, paėmus MOD 2.
Paryškinkite kiekvieną N eilutę
Kita įprasta MOD funkcijos naudojimo vieta yra tada, kai norite, kad paryškinta eilutė būtų rodoma kiekvienoje N eilutėje. Bendra forma bus tokia
1 | = MOD (ROW () ± Offset, N) = 0 |
Kur N yra eilučių skaičius tarp kiekvienos paryškintos eilutės (t. y. paryškinti kas 3rd eilutė, N = 3) ir Poslinkis pasirinktinai yra skaičius, kurį turime pridėti arba atimti, kad pirmoji paryškinta eilutė atitiktų N (t. y. paryškinti kas 3rd eilutę, bet pradėkite nuo 5 eilutės, turėtume atimti 2, nes 5 -2 = 3). Atminkite, kad naudojant funkciją ROW, praleidus bet kokius argumentus, ji grąžins eilutės numerį iš langelio, kuriame yra formulė.
Panaudokime savo lentelę iš anksčiau:
Norėdami pritaikyti paryškinimą visoms eilutėms Iš viso, sukursime naują sąlyginio formatavimo taisyklę su formule
1 | = MOD (EILUTĖ ()-1, 3) = 0 |
Kai sąlyginis formatavimas taiko šią formulę, bus rodoma 2 eilutė
1234 | = MOD (2-1, 3) = 0= MOD (1, 3) = 0= 1 = 0= Netiesa |
3 eilutė turės panašią išvestį, bet tada bus matoma 4 eilutė
1234 | = MOD (4-1, 3) = 0= MOD (3, 3) = 0= 0 = 0= Tiesa |
Taigi mūsų taisyklė veikia teisingai, kaip parodyta čia:
Paryškinkite sveikus skaičius arba lyginius skaičius
Užuot paryškinę konkrečias eilutes, taip pat galite patikrinti faktines langelių reikšmes. Tai gali būti naudinga, kai norite rasti skaičių, kurie yra N kartotiniai. Pavyzdžiui, norint rasti 3 kartotinius, jūsų sąlyginio formato formulė būtų
1 | = MOD (A2, 3) = 0 |
Iki šiol mes susidūrėme su sveikais skaičiais. Tačiau galite įvesti dešimtainį skaičių (pvz., 1,234) ir tada padalinti iš 1, kad gautumėte tik dešimtainę dalį (pvz., 0,234). Ši formulė atrodo taip
1 | = MOD (A2, 1) |
Žinant, kad norint paryškinti tik sveikuosius skaičius, būtų sąlyginio formato formulė
1 | = MOD (A2, 1) = 0 |
Sujunkite kiekvieną N ląstelę
Anksčiau mes naudojome MOD, norėdami pasakyti kompiuteriui, kada griebtis vertės už kiekvieną N elementą. Taip pat galite naudoti jį, kad suaktyvintumėte didesnę vykdytiną formulę. Apsvarstykite šį išdėstymą:
Mes norime kartu sujungti vardus, bet tik kas 3rd eilutė, prasidedanti 2 eilute. Tam naudojama formulė
1 | = IF (MOD (ROW ()+1, 3) = 0, CONCATENATE (A2, "", A3, "", A4), "") |
Mūsų MOD funkcija yra visos IF funkcijos kriterijus. Šiame pavyzdyje turėjome pridėti 1 prie savo EILĖS, nes pradedame nuo 2 eilutės (2 + 1 = 3). Kai MOD išvestis yra 0, formulė sujungia. Priešingu atveju jis tiesiog grįžta tuščias.
Skaičiuokite lygias/nelygines vertes
Jei kada nors reikėjo suskaičiuoti, kiek lygių ar nelyginių verčių yra diapazone, žinosite, kad COUNTIF neturi galimybės to padaryti. Tačiau mes galime tai padaryti su MOD ir SUMPRODUCT. Pažvelkime į šią lentelę:
Formulė, kurią naudosime nelyginėms vertėms rasti, bus tokia
1 | = SUMPRODUCT (1*(MOD (A2: A7, 2) = 1)) |
Užuot įkėlęs kai kuriuos eilučių numerius, mūsų MOD į masyvą įkelia faktines ląstelių vertes. Bendra transformacija vyks taip:
1234 | {5, 5, 3, 3, 2, 1}{1, 1, 1, 1, 0, 1} <- paėmė 2 mod{Tiesa, tiesa, tiesa, tiesa, tiesa, melas, tiesa} <- Tikrinama, ar vertė 0{1, 1, 1, 1, 0, 1} <- padaugintas iš 1, kad konvertuotumėte iš „True/False“ į 1/0 |
Tada SUMPRODUCT susumuoja mūsų masyvo vertes ir pateikia norimą atsakymą: 5.
Pasikartojantis modelis
Visi ankstesni pavyzdžiai tikrino MOD išvesties vertę. Taip pat galite naudoti MOD, kad sukurtumėte pasikartojantį skaičių modelį, o tai savo ruožtu gali būti labai naudinga.
Pirma, tarkime, kad turėjome sąrašą elementų, kuriuos norime pakartoti.
Galite pabandyti rankiniu būdu nukopijuoti ir įklijuoti tiek kartų, kiek reikia, bet tai būtų nuobodu. Vietoj to norėsime naudoti funkciją INDEX, kad gautume savo vertybes. Kad INDEX veiktų, eilutės argumentas turi būti skaičių seka, kuri yra {1, 2, 3, 1, 2, 3, 1 ir tt}. Tai galime padaryti naudodami MOD.
Pirma, pradėsime tik nuo ROW funkcijos. Jei pradėsite nuo
1 | = EILUTĖ (A1) |
Tada nukopijuokite jį žemyn ir gausite pagrindinę skaičių seką {1, 2, 3, 4, 5, 6,…}. Jei taikėme MOD funkciją, kai daliklis yra 3,
1 | = MOD (EILUTĖ (A1), 3) |
gautume {1, 2, 0, 1, 2, 0,…}. Matome, kad pasikartojantis šablonas yra „0, 1, 2“, tačiau pirmoje serijoje trūksta pradinio 0. Norėdami tai išspręsti, sukurkite žingsnio atsarginę kopiją ir atimkite 1 iš eilutės numerio. Pradinė seka bus pakeista į {0, 1, 2, 3, 4, 5,…}
1 | = MOD (EILUTĖ (A1) -1, 3) |
Ir kai jis išeina iš MOD, turime {0, 1, 2, 0, 1, 2,…}. Tai artėja prie to, ko mums reikia. Paskutinis žingsnis yra pridėti 1 prie masyvo.
1 | = MOD (EILUTĖ (A1) -1, 3) +1 |
Kuris dabar sukuria skaičių seką {1, 2, 3, 1, 2, 3,…}. Tai mūsų norima seka! Prijungę jį prie INDEX funkcijos, gauname savo formulę
1 | = INDEKSAS (MyList, MOD (ROW (A1) -1, 3) +1) |
Išvestis dabar atrodys taip:
MOD pavyzdžiai VBA
Taip pat galite naudoti funkciją LINEST VBA.
VBA viduje MOD yra operatorius (kaip ir pliuso, minuso, daugybos ir padalijimo operatoriai). Taigi, vykdydami šiuos VBA teiginius
123456 | Diapazonas ("C2") = Diapazonas ("A2") Mod diapazonas ("B2")Diapazonas ("C3") = Diapazonas ("A3") Mod diapazonas ("B3")Diapazonas ("C4") = Diapazonas ("A4") Mod diapazonas ("B4")Diapazonas ("C5") = Diapazonas ("A5") Mod diapazonas ("B5")Diapazonas ("C6") = Diapazonas ("A6") Mod diapazonas ("B6")Diapazonas ("C7") = Diapazonas ("A7") Mod diapazonas ("B7") |
duos šiuos rezultatus
Funkcijos argumentams (žinomiems_y ir kt.) Galite juos įvesti tiesiai į funkciją arba nustatyti kintamuosius, kuriuos naudoti.
Grįžkite į visų „Excel“ funkcijų sąrašą
„Google“ skaičiuoklių MOD funkcija
Funkcija MOD „Google“ skaičiuoklėse veikia taip pat, kaip ir „Excel“: