Kako umetnuti modul u Excel. Modulno zbrajanje u Excelu. Korištenje znaka funkcije


Makroi (VBA procedure) (63)
razno (39)
Greške i greške u Excelu (4)

Šta je modul? Koje vrste modula postoje?

Sav VBA kod treba negdje pohraniti. Za pohranjivanje kodova u VBA koriste se moduli koji se pohranjuju u radnu knjigu. Knjiga može sadržavati onoliko modula koliko želite. Svaki modul, zauzvrat, može sadržavati mnogo procedura (makroa).
Svi moduli dostupni u knjizi mogu se pogledati preko VBA editora ( Alt+F11). Dostupni moduli su prikazani na lijevoj strani uređivača u Project Exploreru.
Fig.1
Istraživač objekata možda neće biti prikazan po defaultu i tada mora biti prikazan: kliknite Ctrl+R ili u VBA editor meniju- Pogled-Project Explorer

Moduli su podijeljeni u pet glavnih tipova:

Općenito, da budemo precizniji, postoje samo dvije vrste modula - redovni i moduli klase, jer Sheet modul, Book modul, Modul prilagođenog obrasca I Modul razreda su u suštini moduli klase. Ali ja sam ih posebno podijelio u nekoliko tipova, jer... Ove vrste se često koriste za objašnjenja u raznim udžbenicima i na raznim forumima, a u samim Excel knjigama se razlikuju po izgledu i po nekoj funkcionalnosti.

Da biste kreirali novu standardni modul, modul klase (ClassModule) ili korisnički obrazac (UserForm) Potrebno je samo da kliknete desnim tasterom miša na prozor Project Explorer i izaberete Insert a zatim tip objekta koji se dodaje ( Modul, ClassModule, UserForm). Modul možete dodati i kroz meni: Insert-tip modula.
Uklanjanje je također jednostavno: desnim klikom miša kliknite na željeni modul u prozoru projekta i odaberite Ukloni. Više detalja o brisanju na kraju ovog članka:

STANDARDNI MODUL
na sl. 1 Modul1 .
Najčešći tip modula koji se koristi u većini slučajeva. U njima snimač makroa stvara makroe za snimanje. Svi kodovi i procedure u takvim modulima su napisani ručno ili kopirani iz drugih izvora (drugi modul, sa ovog sajta, itd.). U osnovi, većina koda je sadržana u standardnim modulima. Dizajnirani su za skladištenje glavnih procedura i javnih varijabli, kojima se kasnije može pristupiti iz bilo kojeg modula. Kako kreirati standardni modul: u prozoru istraživača objekata, kliknite desnim tasterom miša - Insert-Modul. Kada snimate pomoću makro snimača, moduli se automatski kreiraju i automatski imenuju.
Mnogi kodovi objavljeni u člancima na stranici moraju biti smješteni u standardne module. Da biste to učinili, samo kreirajte novi standardni modul, kopirajte tekst koda sa stranice i zalijepite ga.

LIST MODULE
List1 ili List1 - na slici 1: Sheet1(list 1), Sheet2(list 2), Sheet3(list 3).
Svaki list knjige ima svoj poseban modul. Ulazak u modul listova je lakši od ulaska u druge module. Da biste to učinili, samo kliknite desnom tipkom miša na prečicu lista i odaberite stavku iz kontekstnog izbornika Izvorni tekst (Pogledajte kod)
Ovisno o verziji Excela, ova stavka na ruskom može imati isto ime: Pogledaj kod ili Izvor :

Možete krenuti težim putem - kroz VBA editor: Alt+F11 i u prozoru Project Explorer dvaput kliknite na objekat sa imenom lista ili desnim klikom na modul lista - Pogledaj kod.
Prilikom postavljanja koda u modul lista, treba imati na umu da će se kod kopiranja ili prijenosa ovog lista u drugu radnu knjigu i kod kopirati, jer je dio lista. Ovo je istovremeno i plus i minus. Prednost je u tome što postavljanjem koda u modul lista možete koristiti ovaj list kao predložak za distribuciju s vlastitim gumbima za pozivanje ovih kodova (uključujući kreiranje knjiga sa kodom) i sve funkcionalnosti će biti dostupne. Loša strana su neke nijanse pristupa ćelijama (više detalja možete pronaći u ovom članku: Kako pristupiti rasponu iz VBA) i potreba da se SVE korištene procedure smjeste u ovaj list, inače kodovi mogu raditi s greškama kada se prebace u druge radne knjige .

Modul lista sadrži ugrađene procedure događaja, od kojih je svaka odgovorna za rukovanje određenim događajem na tom listu. Možete ih vidjeti ovako: odaberite objekt (na slici ispod lista je na lijevoj strani) Radni list i izaberite događaj na desnoj listi (ova lista sadrži sve procedure dostupne za odabrani list):


Procedure za koje se događaji već koriste označeni su podebljanim slovima.

Nazivi procedura događaja su prilično informativni i većina njih ne zahtijeva pažljivo dekodiranje. Ali smatram potrebnim opisati najvažnije dijelove koji se koriste u svakom slučaju:

  • Aktiviraj- javlja se kada se aktivira sam list (ali se ne događa ako postoji prijelaz iz jedne radne knjige u drugu i ovaj list je tamo aktivan)
  • BeforeDoubleClick- javlja se kada dvaput kliknete na bilo koju ćeliju lista. Važno je obratiti pažnju na argumente koji su prošli: Target i Cancel. Cilj - veza do ćelije u kojoj je izvršena radnja; Otkaži - odgovoran je za otkazivanje načina uređivanja
  • Prije desnog klika- javlja se kada desnom tipkom miša kliknete bilo koju ćeliju lista. Važno je obratiti pažnju na argumente koji su prošli: Target i Cancel. Cilj - veza do ćelije u kojoj je izvršena radnja; Cancel - odgovoran je za otkazivanje prikaza iskačućeg menija
  • Izračunati- javlja se prilikom ponovnog izračunavanja funkcija i formula na listu
  • Promjena- Pojavljuje se kada se mijenjaju vrijednosti ćelija na listu. Važno je obratiti pažnju na argument Target koji se prenosi. Cilj - referenca na ćeliju koja je promijenjena. Može se razlikovati od aktivne ćelije u vrijeme obrade
  • Deaktiviraj- javlja se prilikom prelaska sa ovog lista na drugi list iste radne sveske
  • FollowHyperlink- javlja se kada slijedite hipervezu kreiranu na ovom listu
  • SelectionChange- javlja se kada se promijeni adresa odabrane ćelije/područja. Važno je obratiti pažnju na argument Target koji se prenosi. Cilj - referenca na raspon ćelija koje su odabrane. Odgovara trenutno odabranim ćelijama

Prilično važna tačka: Ako želite da se bolje upoznate s procedurama događaja, uvijek obratite pažnju na varijable koje se prosljeđuju kao argumenti proceduri. U većini slučajeva preporučujem korištenje ovih varijabli umjesto izmišljanja svih vrsta mogućnosti za izračunavanje objekta koji je izazvao događaj. Za događaj lista Radni list_Promjena ovo je varijabla Target. Kao primjer, zalijepite donji kod u bilo koji modul lista:

Privatni pod radni list_Change(ByVal Target As Range) MsgBox "Promijenjena adresa ćelije: "& Target.Adresa & _ "; Aktivna adresa ćelije: "& Selection.Address, vbInformation, "www.site" Kraj pod

Private Sub Worksheet_Change(ByVal Target As Range) MsgBox "Promijenjena adresa ćelije: " & Target.Address & _ "; Aktivna adresa ćelije: " & Selection.Address, vbInformation, "www.site" Kraj pod

Nakon toga upišite vrijednost 5 u ćeliju A1 i pritisnite Enter. Događaj Promjena će se pokrenuti kada se uređivanje završi - tj. u trenutku kada pritisnete Enter. U tom slučaju će se izvršiti prijelaz na ćeliju A2 (u većini slučajeva, osim ako nije drugačije navedeno u postavkama) i pojavit će se poruka koja će pokazati da je ćelija A1 promijenjena i da je A2 sada odabrana. One. Cilj je uvijek veza do promijenjene ćelije, bez obzira na to što je trenutno odabrano. Ovaj događaj (Worksheet_Change) neće se pokrenuti kada se promijene vrijednosti ćelija sa formulama. Samo ručni unos.

Bilješka: za sve kodove date na sajtu, potrebno je samo da otvorite traženi modul (knjiga ili list) i zalijepite predloženi kod. Prilagodba može biti potrebna samo u slučajevima kada modul Sheet ili Workbook vaše datoteke već ima kod u potrebnoj proceduri događaja.

BOOK MODULE
Ova knjiga ili ova radna sveska - na slici 1: Ova knjiga .
Modulu knjige može se pristupiti samo preko Project Explorer-a VBA editora - dvaput kliknite na Ova knjiga (ova radna sveska) ili desnom tipkom miša na modulu - Pogledaj kod. Modul knjige takođe sadrži „ugrađene“ procedure događaja. Baš kao i za list, odaberite sa liste objekata (gore lijevo) Radna sveska. U desnom prozoru za izbor procedura, kao i kod modula lista, biće sve procedure dostupne za objekat Ova knjiga. Primjer korištenja procedura za događaje u knjizi možete pronaći u članku Kako pratiti događaj (na primjer, odabir ćelije) u bilo kojoj knjizi?
Ali tu vrijede sva ista pravila - glavna stvar je ne zaboraviti na argumente dostupne iz ovih procedura i koje im je proslijedio sam Excel. Na primjer, događaj Workbook_BeforeClose ima dostupan argument Otkaži. Ovo se može koristiti ako ne želite da korisnik zatvori radnu knjigu bez popunjavanja ćelije A1. Evo primjera takvog koda:

Private Sub Workbook_BeforeClose(Cancel As Boolean) If Me.Sheets("Report").Range("A1").Value = "" Zatim MsgBox "Morate popuniti ćeliju A1 na listu "Izvještaj", vbCritical, "www .site" Cancel = Tačno "otkažite zatvaranje knjige End If End Sub

Iz koda možete vidjeti da na listu “Izvještaj” mora postojati neprazna ćelija A1 (list “Izvještaj” također mora postojati u ovoj radnoj knjizi). Ali postoji još jedna stvar - neke Ja. Ovo je kratak poziv objektu modula klase, u ovom slučaju je ekvivalentan pozivu ThisWorkbook. I još jedan primjer koda za modul ThisBook, koji zabranjuje spremanje originalne knjige, dozvoljavajući da se ona sačuva samo preko stavke Sačuvaj kao:

Privatna pod radna knjiga_BeforeSave(ByVal SaveAsUI kao Boolean, Cancel As Boolean) Ako je SaveAsUI = False Tada "koristi jednostavan MsgBox za spremanje "Ova radna sveska je predložak. Možete je sačuvati samo putem Save As", vbCritical, "www.site" Cancel = Tačno "otkažite spremanje knjige End If End Sub

Ovo može biti neophodno ako je radna sveska predložak sa poljima za popunjavanje i želite da sprečite slučajno čuvanje originalnog dokumenta. Iako se to može učiniti i bez makronaredbi - knjiga se može sačuvati uz dozvole samo za čitanje.

FORMSKI MODULI
Korisnički obrazac - na sl. 1 UserForm1 .
Sadrži unutar korisničkog obrasca i njegovih objekata. U Korisničkim obrascima, u osnovi je sve vezano upravo za procedure događaja same forme i za elemente ove forme (dugmad, tekstualni okviri, ComboBoxovi (padajuće liste) itd.). Vrlo je zgodno koristiti korisničke obrasce u svojim aplikacijama za komunikaciju s korisnikom. Jer Putem obrazaca vrlo je zgodno pratiti radnje korisnika i možete zabraniti pristup listovima sa podacima tako što ćete ih sakriti. Forma se kreira na isti način kao i modul: u prozoru istraživača objekata kliknite desnim tasterom miša - Insert-UserForm. Primjeri kodova koji koriste forme možete pronaći u člancima: Svaki korisnik ima svoj list/opseg, Kako ostaviti samo brojeve ili samo tekst u ćeliji?

MODUL ČASA
ClassModule - na sl. 1 Class1 .
U većini slučajeva kreiran je posebno za praćenje događaja različitih objekata. Malo je verovatno da će početnici morati da uče VBA, iako sve zavisi od zadatka koji se radi. Ali obično je početnicima previše teško naučiti. U svakom slučaju, prije rada s modulima klase, bolje je naučiti barem malo raditi s redovnim modulima i sami napisati procedure. Kako dodati takav modul: u prozoru istraživača objekata, kliknite desnim tasterom miša - Insert-Class Module. Više o modulima klase i radu s njima možete pročitati u ovom članku: Rad s modulima klase. Tu su opisani svi osnovni principi i priložen je primjer datoteke.

UKLANJANJE MODULA
Koraci za uklanjanje bilo kojeg od modula isti su za sve tipove. Da biste to uradili, potrebno je da odete na VBA projekat željene knjige, izaberete željeni modul, kliknete desnim tasterom miša na njega i izaberete iz menija koji se pojavi Ukloni (ime modula)...(Ukloni Module1, Ukloni UserForm1, Ukloni Class1, itd.). Nakon toga će se pojaviti prozor sa pitanjem „Želite li izvesti (ime modula) prije nego što ga uklonite?“. To znači da VBA pita: Želite li zadržati kopiju koda modula prije nego što ga izbrišete? Po pravilu treba birati br. Ali ako želite da sačuvate tekst kodova iz uklonjenog modula u zasebnu datoteku, onda se složite tako što ćete kliknuti na Da. Od vas će biti zatraženo da odaberete folder za spremanje modula, a možete mu čak dati i zasebno ime.

MODUL TRANSFER, UVOZ i IZVOZ
Ponekad morate premjestiti modul iz jedne knjige u drugu. Postoji nekoliko načina da to učinite. Najjednostavniji je da otvorite obje knjige, idite na istraživač projekta - pronađite traženi modul - zgrabite ga lijevom tipkom miša i, ne puštajući dugme, prevucite ga na projekat druge knjige:


Treba imati na umu da se na ovaj način mogu prenijeti i kopirati samo standardni modul, modul klase i modul UserForm. Šifre modula lista i knjige će se morati prenijeti kao običan tekst: idite na modul ThisBook (odakle želimo kopirati) - kopirajte cijeli kod - idite na modul ThisBook druge knjige i zalijepite ono što je kopirano :


Izvoz modula (snimanje u posebnu datoteku)
Ako trebate da sačuvate standardni modul, modul klase ili modul obrasca, a ne da ga odmah prenesete u drugu radnu svesku, tada možete izvesti modul. Zašto bi ovo moglo biti potrebno? Po pravilu, da biste prenijeli kodove od kuće do posla, pošaljite ih nekome na drugom računaru (slanje datoteke sa makroima može biti zabranjeno sigurnosnom politikom kompanije) itd. To se radi jednostavno: desnim klikom na modul - Izvezi datoteku.
Izvezeni moduli imaju različite ekstenzije, ovisno o vrsti modula. Za standardne module to je .bas(Module1.bas), za module klase - .cls(Klasa1.cls). Ali za module obrazaca biće kreirana dva fajla: UserForm1 .frm i UserForm1 .frx. Važno je da ih pohranite zajedno - jedno bez drugog se ne može kasnije uvesti u datoteku. Datoteka .frx pohranjuje informacije o vizuelnom prikazu obrasca i njegovih elemenata, da tako kažem. Datoteka .frm direktno pohranjuje tekstove koda za obrazac i informacije o uslugama (ime i dimenzije obrasca, neke globalne direktive i vezu do .frx datoteke). Stoga se ne preporučuje preimenovanje ove dvije datoteke bez odgovarajućih vještina u nadi da će sve kasnije funkcionirati.
Uvoz modula (prenos prethodno izvezenog u novu knjigu)
Da biste prenijeli izvezeni modul u drugu radnu knjigu, jednostavno trebate odabrati željeni projekat desnim gumbom miša u pretraživaču objekata - Uvozni modul-odaberite traženi modul u dijaloškom okviru.
Možete izvesti bilo koji modul, ali ga ne možete uvesti. Iako se moduli lista i radne sveske izvoze u zasebne datoteke (usput, sa ekstenzijom .cls), ne mogu se uvesti u obliku koji je predviđen. Oni će biti uvezeni kao moduli nove klase i ništa više. Stoga, da biste prenijeli kodove iz modula listova i radne knjige, i dalje ćete morati koristiti kopiranje i lijepljenje samih kodova.
I kao vrhunac, možete automatski prenijeti module koristeći VBA kodove: kako programski dodati kod procedure, kopirati modul

Da li je članak pomogao? Podijelite link sa svojim prijateljima! Video lekcije

("Donja traka":("textstyle":"static","textpositionstatic":"bottom","textautohide":true,"textpositionmarginstatic":0,"textpositiondynamic":"bottomleft","textpositionmarginleft":24," textpositionmarginright":24,"textpositionmargintop":24,"textpositionmarginbottom":24,"texteffect":"slide","texteffecteasing":"easeOutCubic","texteffectduration":600,"texteffectslidedirection":"left","texteffectslidedistance :30,"texteffectdelay":500,"texteffectseparate":false,"texteffect1":"slide","texteffectslidedirection1":"desno","texteffectslidedistance1":120,"texteffecteasing1":"easeOutCubic","texteffectduration1" ,"texteffectdelay1":1000,"texteffect2":"slide","texteffectslidedirection2":"desno","texteffectslidedistance2":120,"texteffecteasing2":"easeOutCubic","texteffectduration2":600,"texteffect5delay0 textcss":"display:block; padding:12px; text-align:left;","textbgcss":"display:block; position:apsolute; top:0px; lijevo:0px; širina:100%; visina:100% ; background-color:#333333; neprozirnost:0.6; filter:alpha(opacity=60);","titlecss":"display:block; pozicija:relativna; font:bold 14px \"Lucida Sans Unicode\",\"Lucida Grande\",sans-serif,Arial; color:#fff;","descriptioncss":"display:block; pozicija:relativna; font:12px \"Lucida Sans Unicode\",\"Lucida Grande\",sans-serif,Arial; boja:#fff; margin-top:8px;","buttoncss":"display:block; pozicija:relativna; margin-top:8px;","texteffectresponsive":true,"texteffectresponsivesize":640,"titlecssresponsive":"font-size:12px;","descriptioncssresponsive":"display:none !important;","buttoncssresponsive": "","addgooglefonts":false,"googlefonts":"","textleftrightpercentforstatic":40))

Radeći u Excelu, možete obavljati mnogo različitih zadataka, uključujući i matematičke. Širok raspon programskih alata omogućava vam da izvršite potrebne radnje bez potrebe za dodatnim aplikacijama. Jedna od ovih funkcija je modul - ne koristi se često u Excelu, ali ima važnu svrhu.

Šta je modul

Prema definiciji, modul je matematička operacija koja vraća apsolutnu vrijednost broja, odnosno sam broj bez njegovog predznaka. Unatoč specifičnostima, primjena modula se može naći ne samo u rješavanju matematičkih problema, već iu ekonomskim modelima, fizici i mnogim drugim egzaktnim naukama.

Kako izračunati modul u Excelu?

Da biste izračunali modul u Excelu, možete koristiti nekoliko metoda, od kojih je najjednostavnija funkcija ABS. Vraća apsolutnu vrijednost odabranog broja ili matematičkog izraza.

Sintaksa funkcije modula je vrlo jednostavna - u Excelu samo trebate postaviti "=ABS" u traku formule, zatim u zagradama navesti argument, koji može biti broj, referenca ćelije, kao i neku funkciju koja vraća numerička vrijednost. Ovu operaciju možete izvršiti i klikom na dugme „Ubaci funkciju“, gde birate odgovarajuću funkciju, ili korišćenjem pretrage, navodeći reč „modul“ ili „ABS“.

Izračunavanje zbira modula

Jedna od uobičajenih operacija u Excel-u je modulo zbroj. Omogućava vam da dodate vrijednosti ćelija bez uzimanja u obzir njihovog predznaka. Da biste izvršili ovu radnju, ne morate prvo izračunati modul svakog broja, a zatim koristiti funkciju zbroja.

Kada izvodite operaciju koja uključuje više vrijednosti, modul u Excelu može raditi na cijelom skupu ili rasponu ćelija istovremeno. Dakle, za izračunavanje modulo sume dovoljno je koristiti sljedeću konstrukciju upita:

=SUM(ABS(A1:A4))

Ovdje, u koloni A, prva četiri reda označavaju vrijednosti za koje treba izvršiti modulo zbrajanje.

Primjeri

Da biste konsolidirali svoje razumijevanje opisa modula u Excelu i principa njegovog rada, vrijedi razmotriti nekoliko jednostavnih primjera koji pokazuju rad funkcije.

Da biste izračunali modul datog broja ili matematičkog primjera, na primjer, razliku između 2 i 5, trebali biste koristiti sljedeću notaciju:

=ABS(2-5)

Rezultat ovog upita će biti broj "3".

Ako trebate izračunati zbir modula matričnih elemenata, čije su vrijednosti zapisane u tabeli, s rasponom A1:C3, najbrži način da pronađete odgovor je konstrukcija.

Jedan moj kolega me je jednom pitao kako koristiti Excel formule za izračunavanje sume apsolutnih vrijednosti u datom rasponu. Ovo pitanje se prilično redovno pojavljuje na forumima, a mnogi korisnici često imaju velikih poteškoća s ovom naizgled jednostavnom radnjom.

Nažalost, u Microsoft Excelu nema ugrađene funkcije koja može izvršiti modulo zbrajanje, tako da morate malo poraditi da biste dobili tačan odgovor.

Evo naših podataka:

Vidimo da je zbir brojeva u opsegu A2:A8 daje rezultate -60 :

10 + 10 + 20 + -20 + 30 + -40 + -50 = -60

Ako bismo razmatrali apsolutne vrijednosti (brojeve bez znaka „-“), rezultat bi bio 180 :

10 + 10 + 20 + 20 + 30 + 40 + 50 = 180

Opcija 1 – Korištenje pomoćne kolone

Po mom mišljenju, najbolji način da se izračuna zbir apsolutnih vrijednosti u Excelu je korištenje pomoćne kolone. Na ćeliju B2 unesite formulu:

Zatim ga rastegnite do ćelije B8. Funkcija ABS vraća modul broja. Dakle, sada možemo samo zbrojiti raspon B2:B8 i to će nam dati rezultat 180 .

ZBIR (B2:B8)
=SUM(B2:B8)

U mom primjeru raspon A1:A8 je puna tabela podataka. Stoga, prilikom dodavanja formule =ABS(A2) u ćeliju U 2 Excel je proširio tabelu i automatski popunio sve ćelije u koloni. Zatim sam otišao na karticu Konstruktor(Dizajn), koji se nalazi u grupi kartica Rad sa tabelama(Tabelarni alati) i stavite kvačicu pored opcije Totalna linija(Ukupni red). Sve vrijednosti u koloni B su automatski sumirani, a rezultat je prikazan u posebnom redu.

Da biste izračunali iznos u ukupnom redu, koristite funkciju SUBTOTALS(SUBTOTAL). Ovo je generička funkcija koja može izvršiti sumiranje, baš kao i funkcija SUMA(SUMA). Ali postoje i značajne razlike, npr. SUBTOTALS(SUBTOTAL) potpuno zanemaruje brojeve koji su skriveni ručno ili filtriranjem. Postoji još nekoliko razlika, ali one nemaju mnogo veze s temom ovog članka.

Dobra stvar kod metode pomoćnih kolona je što vam daje veću fleksibilnost ako u budućnosti trebate koristiti podatke, na primjer, u obliku tabele ili zaokretne tabele. Dodatno, pomoćna kolona se može koristiti za sortiranje brojeva po modulu.

Ovo je nesumnjivo jako dobar način, ali šta učiniti kada trebate sve uklopiti u jednu formulu bez ikakvih pomoćnih kolona?

Opcija 2 – Upotreba funkcije SUM u formuli niza ili SUMPRODUCT

Koristite formulu niza ili SUMPRODUCT(SUMPROIZVOD) rješavanje takvog problema je vrlo grub pristup!

Funkcija SUMA u formuli niza:

ZBIR (ABS(A2:A8))
=SUM(ABS(A2:A8))

Prilikom unosa formule niza, obavezno pritisnite Ctrl+Shift+Enter.

Formula sa SUMMPROOK:

SUMPROIZVOD(ABS(A2:A8))
=SUMPROIZVOD(ABS(A2:A8))

S obzirom da se može koristiti efikasnija funkcija SUMIF(SUMIF) da biste dobili isti rezultat (pogledajte opciju 3), putanja koja koristi ove dvije formule postaje nepoželjna. Obje formule odlično rade s malim rasponima podataka, siguran sam da nećete ni primijetiti razliku. Ako trebate zbrojiti veliki broj vrijednosti, brzina rada će se značajno usporiti.

Opcija 3 - Korištenje SUMIF

Mislim da je ovaj pristup najpogodniji od svih prethodno navedenih. Korištenje funkcije SUMIF(SUMIF) vrijednosti su podijeljene u 2 niza: sa pozitivnim i negativnim brojevima i zbrojenim. Nula se zanemaruje iz očiglednih razloga. Tada jednostavno oduzimamo negativnu vrijednost od pozitivnog zbira (tj. zbrojimo ih). Formula izgleda ovako:

SUMIF(A2:A8,">0")-SUMIF(A2:A8,"<0")
=SUMIF(A2:A8,">0")-SUMIF(A2:A8,"<0")

Može se napisati i u ovom obliku:

ZBIR(SUMIF(A2:A8,(">0","<0"})*{1,-1})
=SUM(SUMIF(A2:A8,(">0","<0"})*{1,-1})

Ako uzmemo prvu verziju formule, dobićemo sljedeće:

60-(-120) = 180

Da bismo upotpunili sliku, izračunajmo iznos koristeći drugu opciju:

SUM((60,-120)*(1,-1)) = SUM((60,120)) = 180

Mislim da sada znate sve osnovne načine izračunavanja zbira apsolutnih vrijednosti u Excelu. Ako koristite drugačiji pristup zbroju brojeva po modulu, podijelite ga u komentarima. Sretno!

U Excelu. Danas ćemo analizirati formulu za pisanje “modula u Excelu”. Modul broja se koristi za određivanje apsolutne vrijednosti broja, na primjer dužine segmenta. U nastavku dajemo nekoliko načina za izračunavanje modula broja u Excelu, glavna funkcija je ABS, a dodatna izračunavanja pomoću funkcija IF i SQRT.

Kao što slijedi iz definicije, modul broja je nenegativan broj, vrijednost samog broja. One. ako imamo negativan broj -7, tada će po modulu biti jednak 7. Modul se piše kao dvije okomite linije:

|-7| = 7

Za šta se koristi? Ako imamo vektorsku vrijednost jednaku -7, gdje minus označava njegov suprotni smjer, tada da bismo pronašli dužinu samog vektora, moramo izračunati apsolutnu vrijednost broja (pošto dužina ne može biti negativna vrijednost ).

Također se prilično često može naći korištenje modula prilikom izračunavanja negativne vremenske vrijednosti, ali imamo poseban odjeljak o tome.

U većini programskih jezika, modul broja se nalazi pomoću ABS funkcije (iz apsolutne vrijednosti, Abs olute). Naš voljeni Excel nije izuzetak.

Unesite formulu u ćeliju:

Kao što slijedi iz opisa funkcije, vrijednost takve formule bit će jednaka 7.

Kako izračunati modul koristeći IF, alternativnu metodu

U suštini, radnja funkcije Modul je da odredi da li je broj negativan ili ne i da prenese njegovu vrijednost. To jest, funkcija glavnog uslova =IF() je laka za rukovanje.

IF(A1<0;A1*-1;A1)

Ja lično uvijek zaboravim na ABS i pišem preko IF-a.

Brojni modul i SQRT

Kao što mi je neko predložio, postoji posebno pametan način da se pronađe modul broja koristeći SQRT funkciju. Podižemo broj na drugi stepen i nalazimo korijen izraza.

SQRT(A1*A1)

Ni sam se ne bih setio tome.

Prilažem primjer fajla sa 3 proračuna.

Modul brojeva u VBA

Kao što smo već rekli u većini programskih jezika, pronalaženje modula se vrši pomoću ABS funkcije. VBA nije izuzetak.

Da zapišete izračun u kodu, napišite nešto poput ovoga:

A=Abs(-7)

Ovdje će A biti jednako 7.

Generalno, ovako je, ako vam treba pojašnjenje, pišite u komentarima i nemojte se stidjeti.

Podijelite naš članak na svojim društvenim mrežama:

ABS funkcija pronalazi apsolutnu vrijednost broja koji je proslijeđen kao argument i vraća odgovarajuću vrijednost.

Primjeri korištenja ABS funkcije u Excelu

Odrediti dužinu projekcije segmenta na osu Ox, koja je određena koordinatama početne (-7;-4) i krajnje (19;44) tačke.

Početni podaci:

Da bismo odredili dužinu projekcije na os Ox, koristimo sljedeću formulu:


B4 i B2 su početne i krajnje koordinate. Razlika između ovih koordinata je željena dužina projekcije. Slično, nalazimo vrijednost projekcije na osu Oy. Rezultati:

Kao rezultat izračunavanja modulo formule, određena je projekcija segmenta na os Ox.



Izračunajte razliku između najmanjeg negativnog i pozitivnog broja

Pronađite razliku između najmanje i najmanje apsolutne vrijednosti elemenata niza.

Početni podaci:

Za izračunavanje koristite sljedeću formulu (formula niza CTRL+SHIFT+Enter):

Funkcija MIN pronalazi najmanju vrijednost u rasponu. Da biste pronašli najmanji nenegativni broj, koristite izraz MIN(ABS(B3:B12)).

rezultat:


Zbir modula u Excelu za negativne brojeve

Excel tabela beleži sve transakcije preduzeća tokom određenog vremenskog perioda. Negativne vrijednosti odgovaraju transakcijama troškova. Izračunajte iznos troškova za navedeni period.

Početni podaci:

Za izračunavanje koristimo sljedeću formulu niza (CTRL+SHIFT+Enter):

Algoritam proračuna:

  1. Prilikom iteracije kroz elemente raspona B3:B12, svaka vrijednost se provjerava da li pripada rasponu negativnih brojeva.
  2. Funkcija SUM vraća zbir apsolutnih vrijednosti (kroz korištenje ABS funkcije) uzetih iz raspona odabranih negativnih brojeva.
  3. Ako nema negativnih brojeva (transakcije troškova), bit će vraćena vrijednost 0 (nula).

Rezultati proračuna:


Odnosno, ukupni rashodi preduzeća za navedeni period iznosili su 29.020.

Značajke korištenja ABS funkcije u Excelu

Funkcija ima sljedeću sintaksu:

ABS (broj)

Jedini argument ove funkcije (obavezno) je broj. Karakterizira određeni realni broj čija će se apsolutna vrijednost odrediti.

Napomene 1:

  1. ABS funkcija uzima argumente koji su numeričke vrijednosti, tekstualni prikazi brojeva ili logički podaci (TRUE, FALSE).
  2. Ako je tekstualni niz proslijeđen kao argument dotičnoj funkciji, koji se ne može pretvoriti u numerički tip podataka (na primjer, =ABS("text")), rezultat izvršenja će biti kod greške #VALUE!.
  3. Ova funkcija se može koristiti kao formula niza za rad s velikim rasponima podataka.

Napomene 2:

  1. Modul broja vam omogućava da odredite bilo koju fizičku veličinu koja se može matematički odrediti kao negativan broj, ali u stvarnom svijetu je predstavljena samo apsolutnom (nenegativnom) vrijednošću, na primjer, dužinom segmenta.
  2. Kada pišete makro, možda ćete morati izračunati i apsolutne vrijednosti nekih brojeva. VBA koristi funkciju ABS() istog imena (kao i mnogi drugi programski jezici).
  3. U Excel-u postoje dva alternativna načina da se dobije apsolutna vrijednost količine:
  • koristeći funkcije SQRT i POWER s eksponentom 2. Na primjer, rezultat izračuna =SQRT(POWER(A1,2)) uvijek će biti broj iz raspona pozitivnih vrijednosti (pod uslovom da ćelija A1 sadrži numeričke podaci);
  • koristeći funkciju IF. Na primjer, da biste vratili modul broja -5, možete koristiti zapis =IF(A1<0;A1*(-1);A1), где A1 – ячейка, в которой хранится значение -5.