Povprečno VBA - POVPREČNO, POVPREČNO, POVPREČNO

Ta vadnica vam bo pokazala, kako uporabljati funkcijo Excel Average v VBA.

ExcelOVA POVPREČNA funkcija se uporablja za izračun povprečja iz celic obsega na vašem delovnem listu, ki vsebujejo vrednosti. V VBA do njega dostopate z metodo WorksheetFunction.

POVPREČNA Funkcija delovnega lista

Objekt WorksheetFunction lahko uporabite za klic večine Excelovih funkcij, ki so na voljo v pogovornem oknu Vstavi funkcijo v Excelu. Ena izmed njih je funkcija AVERAGE.

123 Sub TestFunctionObseg ("D33") = Application.WorksheetFunction.Average ("D1: D32")End Sub

V funkciji AVERAGE imate lahko do 30 argumentov. Vsak od argumentov se mora sklicevati na obseg celic.

Ta spodnji primer bo povzročil povprečje vsote celic B11 do N11

123 Sub TestAverage ()Obseg ("O11") = Application.WorksheetFunction.Average (Range ("B11: N11"))End Sub

Spodnji primer bo povzročil povprečje vsote celic v B11 do N11 in vsoto celic v B12: N12. Če ne vnesete predmeta aplikacije, bo predpostavljeno.

123 Sub TestAverage ()Obseg ("O11") = Funkcija delovnega lista. Povprečje (Razpon ("B11: N11"), Obseg ("B12: N12"))End Sub

Dodelitev povprečnega rezultata spremenljivki

Rezultat svoje formule boste morda želeli uporabiti drugje v kodi, namesto da bi ga zapisali neposredno v obseg Excel. V tem primeru lahko rezultat dodelite spremenljivki, ki jo boste uporabili pozneje v kodi.

1234567 Sub AssignAverage ()Zatemni rezultat kot celo število'Dodelite spremenljivkoresult = WorksheetFunction.Average (obseg ("A10: N10"))'Pokaži rezultatMsgBox "Povprečje celic v tem območju je" & rezultatEnd Sub

POVPREČNO z objektom obsega

Objektu Range lahko dodelite skupino celic, nato pa ta predmet Range uporabite z Funkcija delovnega lista predmet.

123456789 Sub TestAverageRange ()Dim rng As Range'dodelite obseg celicNastavi rng = območje ("G2: G7")"uporabite obseg v formuliRazpon ("G8") = Funkcija delovnega lista. Povprečje (rng)'spustite predmet obsegaNastavi rng = NičEnd Sub

POVPREČNO Več objektov obsega

Podobno lahko izračunate povprečje celic iz več objektov obsega.

123456789101112 Sub TestAverageMultipleRanges ()Dim rngA As RangeZatemni rngB kot obseg'dodelite obseg celicNastavite rngA = območje ("D2: D10")Nastavi rngB = Razpon ("E2: E10")"uporabite obseg v formuliRazpon ("E11") = Funkcija delovnega lista. Povprečje (rngA, rngB)'spustite predmet obsegaNastavi rngA = NičNastavi rngB = NičEnd Sub

Uporaba zdravila AVERAGEA

Funkcija AVERAGEA se od funkcije AVERAGE razlikuje po tem, da ustvari povprečje iz vseh celic v obsegu, tudi če ima ena od celic besedilo - besedilo nadomesti z ničlo in to vključi v izračun povprečja. Funkcija AVERAGE bi to celico prezrla in je ne bi upoštevala pri izračunu.

123 Podvprečni povprečjeA ()Obseg ("B8) = Application.WorksheetFunction.AverageA (Range (" A10: A11 "))End Sub

V spodnjem primeru funkcija AVERAGE vrne drugačno vrednost funkciji AVERAGEA, če se izračun uporablja za celice A10 do A11

Odgovor za formulo AVERAGEA je nižji od formule AVERAGE, saj besedilo v A11 nadomesti z ničlo, zato je povprečje več kot 13 vrednosti in ne 12 vrednosti, ki jih povprečje izračuna.

Uporaba AVERAGEIF

Funkcija AVERAGEIF vam omogoča povprečenje vsote obsega celic, ki izpolnjujejo določena merila.

123 PodpovprečjeIf ()Obseg ("F31") = Funkcija delovnega lista.AverageIf (Razpon ("F5: F30"), "Prihranki", Obseg ("G5: G30"))End Sub

Zgornji postopek bo povprečil le celice v območju G5: G30, kjer ima ustrezna celica v stolpcu F besedo "prihranki". Merila, ki jih uporabljate, morajo biti v narekovajih.

Slabosti delovanja delovnega lista

Ko uporabljate Funkcija delovnega lista za povprečje vrednosti v razponu na vašem delovnem listu se vrne statična vrednost, ne prilagodljiva formula. To pomeni, da ko se vaše številke v Excelu spremenijo, vrednost, ki jo je vrnil Funkcija delovnega lista se ne bo spremenilo.

V zgornjem primeru je postopek TestAverage postopek ustvaril povprečje B11: M11 in odgovor postavil v N11. Kot lahko vidite v vrstici s formulami, je ta rezultat številka in ne formula.

Če se torej katera koli vrednost spremeni v območju (B11: M11), se bodo rezultati v N11 spremenili NE spremeniti.

Namesto da uporabite Delovni list Funkcija. Povprečje, lahko z VBA uporabite funkcijo POVPREČNO za celico s pomočjo Formula ali Formula R1C1 metode.

Z uporabo metode formule

Metoda formule vam omogoča, da posebej pokažete na vrsto celic, na primer: B11: M11, kot je prikazano spodaj.

123 Sub TestAverageFormula ()Razpon ("N11"). Formula = "= povprečje (B11: M11)"End Sub

Z uporabo metode FormulaR1C1

Metoda FomulaR1C1 je bolj prilagodljiva, saj vas ne omejuje na določeno območje celic. Spodnji primer nam bo dal enak odgovor kot zgornji.

123 Sub TestAverageFormula ()Razpon ("N11"). Formula = "= povprečje (RC [-12]: RC [-1])"End Sub

Da pa bi bila formula bolj prilagodljiva, bi lahko kodo spremenili takole:

123 Sub TestCountFormula ()ActiveCell.FormulaR1C1 = "= Štetje (R [-11] C: R [-1] C)"End Sub

Kjer koli ste na svojem delovnem listu, bo formula nato povprečila vrednosti v 12 celicah neposredno levo od njega in odgovor postavila v vašo ActiveCell. Na obseg znotraj funkcije AVERAGE se je treba sklicevati s sintakso vrstice (R) in stolpca (C).

Obe metodi vam omogočata uporabo formul Dynamic Excel v VBA.

Namesto vrednosti bo zdaj v N11 formula.

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave