Difference between revisions of "Documentation/SL/How Tos/Pogojno štetje in seštevanje"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Triki in nasveti: seštevanje največjih/najmanjših vrednosti)
 
(36 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
//-->
 
//-->
 
[[Category:Documentation/SL]]  
 
[[Category:Documentation/SL]]  
 +
[[Category:Calc po slovensko]]
 +
[[Category:KakOOojčki]]
 +
{{DISPLAYTITLE:Pogojno štetje in seštevanje}}
  
 
=Pogojno štetje in seštevanje v modulu Calc=
 
=Pogojno štetje in seštevanje v modulu Calc=
 
  
 
To je pregled različnih načinov za štetje in seštevanje vsebine celic glede na pogoje, odvisne od rezultata določenega preizkusa.
 
To je pregled različnih načinov za štetje in seštevanje vsebine celic glede na pogoje, odvisne od rezultata določenega preizkusa.
Line 11: Line 13:
 
==COUNT==
 
==COUNT==
  
[[Documentation/How_Tos/Calc: COUNT function|Funkcija COUNT]] prešteje celice, ki vsebujejo številke in prezre cse druge. Tako so npr. celice z besedilom prezrte.
+
[[Documentation/SL/How_Tos/Calc: funkcija COUNT|Funkcija COUNT]] prešteje celice, ki vsebujejo številke in prezre vse druge. Tako so npr. celice z besedilom prezrte.
  
 
==COUNTA==
 
==COUNTA==
  
[[Documentation/How_Tos/Calc: COUNTA function|Funkcija COUNTA]] prešteje celice, ki vsebujejo karkoli (besedilo, številke, napake, logične vrednosti, formule). Prezre prazne celice.
+
[[Documentation/SL/How_Tos/Calc: funkcija COUNTA|Funkcija COUNTA]] prešteje celice, ki vsebujejo karkoli (besedilo, številke, napake, logične vrednosti, formule). Prezre prazne celice.
  
 
==COUNTBLANK==
 
==COUNTBLANK==
  
[[Documentation/How_Tos/Calc: COUNTBLANK function|Funkcija COUNTBLANK]] prešteje prazne celice.
+
[[Documentation/SL/How_Tos/Calc: funkcija COUNTBLANK|Funkcija COUNTBLANK]] prešteje prazne celice.
  
 
==SUM==
 
==SUM==
  
[[Documentation/How_Tos/Calc: SUM function|Funkcija SUM]] sešteje vse številke v navedenih celicah. Oglejte si slednje za uporabo kot pogojne funkcije.See later for how to use it as a conditional function.
+
[[Documentation/SL/How_Tos/Calc: funkcija SUM|Funkcija SUM]] sešteje vse številke v navedenih celicah. Oglejte si spodaj, kako jih lahko uporabo kot pogojne funkcije.
  
 
==SUBTOTAL==
 
==SUBTOTAL==
  
The [[Documentation/How_Tos/Calc: SUBTOTAL function|SUBTOTAL function]] returns <tt>'''COUNT'''</tt>, <tt>'''COUNTA'''</tt> or <tt>'''SUM'''</tt> results for filtered data, that is data in cells chosen by a '''filter'''.
+
[[Documentation/SL/How_Tos/Calc: funkcija SUBTOTAL|Funkcija SUBTOTAL]] vrne rezultate <tt>'''COUNT'''</tt>, <tt>'''COUNTA'''</tt> ali <tt>'''SUM'''</tt> filtriranih podatkov, t.j. podatke v celicah, izbranih s '''filtrom'''.
  
 
==COUNTIF==
 
==COUNTIF==
  
The [[Documentation/How_Tos/Calc: COUNTIF function|COUNTIF function]] counts those items that meet a single condition. For example <tt>'''COUNTIF(A1:A4; “>4”)'''</tt> counts the cells in <tt>'''A1:A4'''</tt> that are greater than <tt>'''4'''</tt>.
+
[[Documentation/SL/How_Tos/Calc: funkcija COUNTIF|Funkcija COUNTIF]] prešteje elemente, ki ustrezajo podanemu pogoju. Primer: <tt>'''COUNTIF(A1:A4; “>4”)'''</tt> prešteje celice v obsegu <tt>'''A1:A4'''</tt>, ki so večje kot <tt>'''4'''</tt>.
  
 
==SUMIF==
 
==SUMIF==
  
The [[Documentation/How_Tos/Calc: SUMIF function|SUMIF function]] sums those items that meet a single condition. For example <tt>'''SUMIF(A1:A4; ”=red”; B1:B4)'''</tt> sums the values in <tt>'''B1:B4'''</tt> that correspond to “<tt>'''red'''</tt>” entries in <tt>'''A1:A4'''</tt>.
+
[[Documentation/SL/How_Tos/Calc: funkcija SUMIF|Funkcija SUMIF]] sešteje tiste elemente, ki ustrezajo podanemu pogoju. Primer: <tt>'''SUMIF(A1:A4; ”=rdeči”; B1:B4)'''</tt> sešteje vrednosti v obsegu <tt>'''B1:B4'''</tt>, ki ustrezajo vnosom “<tt>'''rdeči'''</tt>” v obsegu in <tt>'''A1:A4'''</tt>.
  
 
==DCOUNT, DCOUNTA, DSUM==
 
==DCOUNT, DCOUNTA, DSUM==
  
The [[Documentation/How_Tos/Calc: DCOUNT function|DCOUNT function]],
+
[[Documentation/SL/How_Tos/Calc: funkcija DCOUNT|Funkcija DCOUNT]],
[[Documentation/How_Tos/Calc: DCOUNTA function|DCOUNTA function]], and
+
[[Documentation/SL/How_Tos/Calc: funkcija DCOUNTA|funkcija DCOUNTA]] in
[[Documentation/How_Tos/Calc: DSUM function|DSUM function]] perform similarly to <tt>'''COUNT'''</tt>, <tt>'''COUNTA'''</tt> and <tt>'''SUM'''</tt>, except that the cells to be counted or summed are chosen according to a table of conditions. For example, <tt>'''DCOUNT(A1:C5; 0; E6:F7)'''</tt> counts the number of rows of <tt>'''A1:C5'''</tt> for which the multiple conditions specified in <tt>'''E6:F7'''</tt> are all true.
+
[[Documentation/SL/How_Tos/Calc: funkcija DSUM|funkcija DSUM]] se vedejo podobno kot <tt>'''COUNT'''</tt>, <tt>'''COUNTA'''</tt> in <tt>'''SUM'''</tt>, le da so celice, ki naj bodo seštete ali preštete, izbrane glede na tabelo pogojev. Primer: <tt>'''DCOUNT(A1:C5; 0; E6:F7)'''</tt> prešteje vrstice v obsegu <tt>'''A1:C5'''</tt>, za katere veljajo vsi pogoji, navedeni v obsegu <tt>'''E6:F7'''</tt>.
  
==Conditions in cell ranges==
+
==Pogoji v obsegih celic==
  
One simple method to count or sum using multiple conditions is to enter those conditions in a new row or column. For example, if <tt>'''A1:A6'''</tt> contains a list of colours and <tt>'''B1:B6'''</tt> a list of sizes, then we can enter in cell <tt>'''D1'''</tt> the formula <tt>'''<nowiki>=(A1=”red”)</nowiki>'''</tt>, which returns <tt>'''TRUE'''</tt> or <tt>'''FALSE'''</tt> depending if cell <tt>'''A1'''</tt> is <tt>'''red'''</tt> or not. Alternatively, we can enter in cell <tt>'''D1'''</tt> the formula <tt>'''<nowiki>=AND(A1=”red”; B1=”big”)</nowiki>'''</tt>, which returns <tt>'''TRUE'''</tt> if cell <tt>'''A1'''</tt> is <tt>'''red'''</tt> AND cell <tt>'''B1'''</tt> is <tt>'''big'''</tt> and <tt>'''FALSE'''</tt> otherwise. Copy and paste this formula to <tt>'''D2:D6'''</tt> and we have a range of cells which are <tt>'''TRUE'''</tt> if the conditions are met and <tt>'''FALSE'''</tt> otherwise.
+
Enostavna metoda za štetje ali seštevanje z več pogoji je vnos teh pogojev v novo vrstico ali stolpec. Primer: če <tt>'''A1:A6'''</tt> vsebuje seznam barv in <tt>'''B1:B6'''</tt> seznam velikosti, lahko v celico <tt>'''D1'''</tt> vnesemo formulo <tt>'''<nowiki>=(A1=”rdeče”)</nowiki>'''</tt>, kar vrne <tt>'''TRUE'''</tt> ali <tt>'''FALSE'''</tt>, odvisno od tega, ali je celica <tt>'''A1'''</tt> <tt>'''rdeče'''</tt> ali ne. Druga pot je, da v celico <tt>'''D1'''</tt> vnesemo formulo <tt>'''<nowiki>=AND(A1=”rdeče”; B1=”veliko”)</nowiki>'''</tt>, ki vrne <tt>'''TRUE'''</tt>, če je celica <tt>'''A1'''</tt> <tt>'''rdeče'''</tt> IN celica <tt>'''B1'''</tt> <tt>'''veliko'''</tt>, sicer vrne <tt>'''FALSE'''</tt>. To formulo kopirajte in prilepite v <tt>'''D2:D6'''</tt>, tako da dobimo obseg celic, ki so <tt>'''TRUE'''</tt>, če ustrezajo pogojem, sicer so <tt>'''FALSE'''</tt>.
  
[[Image:Condsummation_1.png|example]]
+
[[Image:Condsummation_1.png|primer]]
  
In numerical calculations, <tt>'''TRUE'''</tt> is treated as <tt>'''1'''</tt>, and <tt>'''FALSE'''</tt> is treated as <tt>'''0'''</tt>. So entering <tt>'''<nowiki>=SUM(D1:D6)</nowiki>'''</tt> will simply sum those <tt>'''1'''</tt>s and <tt>'''0'''</tt>s, and give us the count of items that are both <tt>'''red'''</tt> AND <tt>'''big'''</tt>.
+
Pri številskih izračunih se <tt>'''TRUE'''</tt> obravnava kot <tt>'''1'''</tt> in <tt>'''FALSE'''</tt> kot <tt>'''0'''</tt>. Z vnosom <tt>'''<nowiki>=SUM(D1:D6)</nowiki>'''</tt> enostavno seštejete te <tt>'''1'''</tt>-ice in <tt>'''0'''</tt>-le, tako dobite število vnosov, ki so <tt>'''rdeče'''</tt> IN <tt>'''veliko'''</tt>.
  
  
In fact, because <tt>'''TRUE'''</tt> and <tt>'''FALSE'''</tt> evaluate as <tt>'''1'''</tt> and <tt>'''0'''</tt>, we do not need the <tt>'''AND'''</tt> function - in <tt>'''D1'''</tt> we can simply write <tt>'''<nowiki>=(A1=”red”)*(B1=”big”)</nowiki>'''</tt>, and copy/paste down to <tt>'''D2:D6'''</tt>.
+
Ker se pravzaprav <tt>'''TRUE'''</tt> in <tt>'''FALSE'''</tt> ovrednotita kot <tt>'''1'''</tt> in <tt>'''0'''</tt>, ne potrebujemo funkcije <tt>'''AND'''</tt> - v <tt>'''D1'''</tt> lahko enostavno zapišemo <tt>'''<nowiki>=(A1=”rdeče”)*(B1=”veliko”)</nowiki>'''</tt> in jo kopiramo/prilepimo navzdol v <tt>'''D2:D6'''</tt>.
  
Now let us say that <tt>'''C1:C6'''</tt> contains a list of weights of these items, and we wish to know the total weight for all <tt>'''big'''</tt> <tt>'''red'''</tt> items. In <tt>'''D1'''</tt> we write <tt>'''<nowiki>=(A1=”red”)*(B1=”big”)*C1</nowiki>'''</tt>, and copy/paste down to <tt>'''D2:D6'''</tt>. <tt>'''D1'''</tt> will contain the weight in <tt>'''C1'''</tt> if the conditions are met (and zero otherwise) and so on for <tt>'''D2:D6'''</tt>, Therefore <tt>'''<nowiki>=SUM(D1:D6)</nowiki>'''</tt> will now give us the total weight.
+
Zdaj pa recimo, da <tt>'''C1:C6'''</tt> vsebuje seznam tež teh vnosov, zanima pa nas skupna teža vsega, kar je <tt>'''veliko'''</tt> <tt>'''rdeče'''</tt>. V <tt>'''D1'''</tt> zapišemo <tt>'''<nowiki>=(A1=”rdeče”)*(B1=”veliko”)*C1</nowiki>'''</tt> in kopiramo/prilepimo navzdol v <tt>'''D2:D6'''</tt>. <tt>'''D1'''</tt> bo vsebovalo težo v <tt>'''C1'''</tt>, če ustreza pogojem (sicer bo teža nič) in tako naprej v <tt>'''D2:D6'''</tt>. Tako bo formula <tt>'''<nowiki>=SUM(D1:D6)</nowiki>'''</tt> vrnila skupno težo.
  
[[Image:Condsummation_2.png|example]]
+
[[Image:Condsummation_2.png|primer]]
  
Alternatively, it is possible to fill <tt>'''D1:D6'''</tt> with an array formula. In <tt>'''D1'''</tt>, write <tt>'''<nowiki>=(A1:A6=”red”)*(B1:B6=”big”)*C1:C6</nowiki>'''</tt>, and enter by pressing Ctrl_Shift_Enter. All the cells in <tt>'''D1:D6'''</tt> now show the desired weights as before.
+
Drug način je, da obseg <tt>'''D1:D6'''</tt> zapolnimo z matrično formulo. V <tt>'''D1'''</tt> vpišemo <tt>'''<nowiki>=(A1:A6=”rdeče”)*(B1:B6=”veliko”)*C1:C6</nowiki>'''</tt> in jo vnesemo z Ctrl+Shift+Enter. Vse celice v <tt>'''D1:D6'''</tt> zdaj kažejo želene teže, kot v prejšnjem primeru.
  
 
==SUMPRODUCT==
 
==SUMPRODUCT==
  
The [[Documentation/How_Tos/Calc: SUMPRODUCT function|SUMPRODUCT function]] can be used to perform the counting and summation calculations in the previous section, without using extra columns. It is necessary to understand array formulas to understand this.
+
[[Documentation/SL/How_Tos/Calc: funkcija SUMPRODUCT|Funkcijo SUMPRODUCT]] lahko uporabite za izvajanje štetja in seštevanja v prejšnjem odseku brez rabe dodatnih stolpcev. Da bi to razumeli, morate razumeti matrične formule.
 
+
  
Using the summation example from the previous section, <tt>'''A1:A6=”red”'''</tt>, <tt>'''B1:B6=”big”'''</tt> and <tt>'''C1:C6'''</tt> may be treated as 3 separate arrays, not displayed but internally calculated.
 
  
<tt>'''<nowiki>=SUMPRODUCT(A1:A6=”red”; B1:B6=”big”; C1:C6)</nowiki>'''</tt> will multiply corresponding elements of the arrays together and return their sum, i.e.:
+
Če uporabimo primer iz gornjega razdelka, lahko <tt>'''A1:A6=”rdeče”'''</tt>, <tt>'''B1:B6=”veliko”'''</tt> in <tt>'''C1:C6'''</tt> obravnavamo kot 3 ločene matrike, ki niso prikazane, temveč le notranje izračunane.  
  
'''(A1=”red”)*(B1=”big”)*C1 + (A2=”red”)*(B2=”big”)*C2 + ...'''
+
<tt>'''<nowiki>=SUMPRODUCT(A1:A6=”rdeče”; B1:B6=”veliko”; C1:C6)</nowiki>'''</tt> pomnoži ustrezne elemente matrik in vrne njihovo vsoto, t.j.:
  
[[Image:Condsummation_3.png|example]]
+
'''(A1=”rdeče”)*(B1=”veliko”)*C1 + (A2=”rdeče”)*(B2=”veliko”)*C2 + ...'''
  
This again gives us the total weight, without requiring an extra column.
+
[[Image:Condsummation_3.png|primer]]
  
 +
To znova vrne skupno težo, pri čemer dodaten stolpec ni potreben.
  
Notice that <tt>'''SUMPRODUCT'''</tt> formulas are simply entered by pressing the Enter key - they do not require Ctrl_Shift_Enter even though arrays are involved.
 
  
 +
Opazite lahko, da forumle <tt>'''SUMPRODUCT'''</tt> enostavno vnesete, če pritisnete tipko Enter - ne zahtevajo Ctrl+Shift+Enter, čeprav gre za matrike.
  
Also, be aware that calculations using very large arrays take a lot of computer processing time, and may slow the spreadsheet down.
 
  
 +
Prav tako upoštevajte, da izračuni z ogromnimi matrikami vzamejo veliko časa za obdelavo, zato lahko zelo upočasnijo delo s preglednico.
  
==SUM with array formulas==
+
==SUM z matričnimi formulami==
  
An alternative to SUMPRODUCT is to use the [[Documentation/How_Tos/Calc: SUM function|SUM function]]. The previous example would be written:
+
Alternativa k SUMPRODUCT je uporaba [[Documentation/SL/How_Tos/Calc: funkcija SUM|funkcije SUM]]. Prejšnji primer bi tako zapisali kot:
  
  '''<nowiki>=SUM( (A1:A6=”red”)*(B1:B6=”big”)*C1:C6) )</nowiki>'''
+
  '''<nowiki>=SUM( (A1:A6=”rdeče”)*(B1:B6=”veliko”)*C1:C6) )</nowiki>'''
  
and entered as an array formula by pressing Ctrl_Shift_Enter. As with SUMPRODUCT, this works by multiplying corresponding elements of the arrays together and returning their sum.
+
in vnesli kot matrično formulo s pritiskom Ctrl+Shift+Enter. Tako kot pri SUMPRODUCT formula deluje kot množenje ustreznih elementov matrik, vrne pa njihov seštevek.
  
See [[Documentation/How_Tos/Using Arrays|'''Using Arrays''']] for details of array formulas and more examples.
+
Več podrobnosti in primerov matričnih formul najdete v kakOOojčku [[Documentation/SL/How_Tos/Uporaba polj|'''Uporaba polj''']].
  
 
==DataPilot==
 
==DataPilot==
  
Another way to approach conditional counting and summation is to use the DataPilot to generate an interactive table, whereby data can be arranged and summarised according to different points of view.
+
Drug pristop k pogojnemu štetju in seštevanju je uporaba DataPilota, s katerim ustvarite interaktivno tabelo, kjer lahko podatke razporedite in seštevate glede na različne vidike.
  
==Tips and Tricks: checking settings==
+
==Triki in nasveti: preverjanje nastavitev==
  
When matching text with some functions (such as <tt>'''SUMIF'''</tt>) , the results may well depend on the settings on the ''Tools menu-> Options-> OpenOffice.org Calc-> Calculate'' page. If the user's settings are incorrect, the results may therefore be wrong.
+
Pri ujemanju besedila z nekaterimi funkcijami (kot je <tt>'''SUMIF'''</tt>) so lahko rezultati odvisni od nastavitev na strani ''meni Orodja -> Možnosti -> OpenOffice.org Calc -> Izračuni''. Če uporabnikove nastavitve niso pravilne, so lahko rezultati napačni.
  
[[Image:Condsummation_4.png|settings]]
+
[[Image:Condsummation_4.png|nastavitve]]
  
One solution is to include prominently in the spreadsheet a check that the settings are correct. For example:
+
Možna rešitev je, da na vidno mesto v preglednico vključimo preverjanje, da so nastavitve pravilne. Primer:
  
  '''<nowiki>=IF(ISERR(SEARCH(".";"a"));"ERROR: please enable regular expressions";"")</nowiki>'''
+
  '''<nowiki>=IF(ISERR(SEARCH(".";"a"));"NAPAKA: prosimo, da omogočite regularne izraze";"")</nowiki>'''
  
will show an error message if regular expressions are disabled.
+
pokaže sporočilo o napaki, če podpora za regularne izraze ni vključena.
  
Another example - in cell <tt>'''A3'''</tt> enter the text:
+
Še en primer - v celico <tt>'''A3'''</tt> vnesite besedilo:
  
  '''Check: '''
+
  '''Preverjeno: '''
  
In cell <tt>'''A4'''</tt> enter:
+
V celico <tt>'''A4'''</tt> vnesite:
  
  '''<nowiki>="Regular expressions are "&IF(COUNTIF(A3;".*"); "enabled"; "disabled")</nowiki>'''
+
  '''<nowiki>="Regularni izrazi so "&IF(COUNTIF(A3;".*"); "omogočeni"; "onemogočeni")</nowiki>'''
  
In cell <tt>'''A5'''</tt> enter:
+
V celico <tt>'''A5'''</tt> vnesite:
  
  '''<nowiki>="Whole cell matching is "&IF(COUNTIF(A3;"<>e"); "enabled"; "disabled")</nowiki>'''
+
  '''<nowiki>="Ujemanje celih celic je "&IF(COUNTIF(A3;"<>e"); "omogočeno"; "onemogočeno")</nowiki>'''
  
[[Image:Condsummation_7.png|checking the settings]]
+
[[Image:Condsummation_7.png|preverjanje nastavitev]]
  
or better, use appropriate error messages.
+
ali še bolje: uporabite ustrezna sporočila o napaki.
  
==Tips and Tricks: items between two dates==
+
==Triki in nasveti: elementi med dvema datumoma==
  
Dates are stored internally as numbers and can thus be compared easily. For example, to count the number of cells in A1:A6 between two dates, you could use:
+
Datumi so interno shranjeni kot številke, zato jih je zelo enostavno primerjati. Če želite npr. prešteti celice v A1:A6 med dvema datumoma, lahko uporabite:
  
 
  '''<nowiki>=SUMPRODUCT(A1:A6>DATEVALUE("5 Nov 06"); A1:A6<DATEVALUE("5 Dec 06"))</nowiki>'''
 
  '''<nowiki>=SUMPRODUCT(A1:A6>DATEVALUE("5 Nov 06"); A1:A6<DATEVALUE("5 Dec 06"))</nowiki>'''
  
  
If you express the dates with slashes (e.g. “<tt>'''1/2/2005'''</tt>”) you can dispense with the <tt>'''DATEVALUE'''</tt> function, as Calc will convert the date. However, be aware that in one country this text may be converted to 1Feb05 and in another to 2Jan05.
+
Če izrazite datume s poševnicami (npr. “<tt>'''1/2/2005'''</tt>”), lahko opustite funkcijo <tt>'''DATEVALUE'''</tt>, ker bo Calc datum pretvoril sam. Vendar bodite pozorni, saj bo takšno besedilo glede na krajevne nastavitve ponekod pretvorjeno v 1Feb05 (npr. Slovenija), drugod pa v 2Jan05 (npr. ZDA).
  
==Tips and Tricks: summing the largest/smallest items==
+
==Triki in nasveti: seštevanje največjih/najmanjših vrednosti==
  
To add up the largest 3 numbers in <tt>'''A1:A5'''</tt>, the most straightforward method is to enter:
+
Če želite sešteti največja tri števila v obsegu <tt>'''A1:A5'''</tt>, to najenostavneje storite tako, da vnesete:
  
<tt>'''<nowiki>=LARGE(A1:A5; 1)</nowiki>'''</tt> in cell <tt>'''B1'''</tt>
+
<tt>'''<nowiki>=LARGE(A1:A5; 1)</nowiki>'''</tt> v celico <tt>'''B1'''</tt>
  
<tt>'''<nowiki>=LARGE(A1:A5; 2)</nowiki>'''</tt> in cell <tt>'''B2'''</tt>
+
<tt>'''<nowiki>=LARGE(A1:A5; 2)</nowiki>'''</tt> v celico <tt>'''B2'''</tt>
  
<tt>'''<nowiki>=LARGE(A1:A5; 3)</nowiki>'''</tt> in cell <tt>'''B3'''</tt>
+
<tt>'''<nowiki>=LARGE(A1:A5; 3)</nowiki>'''</tt> v celico <tt>'''B3'''</tt>
  
  
so that the largest 3 numbers are in <tt>'''B1:B3'''</tt>, and then use the formula:
+
tako da bodo največja 3 števila v obsegu <tt>'''B1:B3'''</tt>, nato pa uporabite formulo:
  
<tt>'''<nowiki>=SUM(B1:B3)</nowiki>'''</tt> to give the result.
+
<tt>'''<nowiki>=SUM(B1:B3)</nowiki>'''</tt>, ki poda rezultat.
  
[[Image:Condsummation_5.png|example]]
+
[[Image:Condsummation_5.png|primer]]
  
This method is very clear, and generally therefore to be recommended.
+
Ta metoda je zelo jasna in jo zato v splošnem priporočamo.
  
  
However if you wish to derive the same result in a single cell, you could use
+
Če želite isti rezultat dobiti v eni sami celici, lahko uporabite:
  
  
 
  '''<nowiki>=SUMPRODUCT(LARGE(A1:A5; ROW(A1:A3)))</nowiki>'''
 
  '''<nowiki>=SUMPRODUCT(LARGE(A1:A5; ROW(A1:A3)))</nowiki>'''
  
[[Image:Condsummation_6.png|example]]
+
[[Image:Condsummation_6.png|primer]]
  
Here <tt>'''ROW(A1:A3)'''</tt> is a 1 column 3 row array containing the numbers <tt>'''1'''</tt>, <tt>'''2'''</tt>, <tt>'''3'''</tt>.
+
Tukaj <tt>'''ROW(A1:A3)'''</tt> predstavlja matriko (polje) z 1 stolpcem in 3 vrsticami, ki vsebuje številke <tt>'''1'''</tt>, <tt>'''2'''</tt>, <tt>'''3'''</tt>.
  
<tt>'''LARGE(A1:A5; ROW(A1:A3))'''</tt> is then a 1 column 3 row array containing the largest 3 numbers and <tt>'''SUMPRODUCT'''</tt> simply adds them up. We could use <tt>'''SUM'''</tt> instead of <tt>'''SUMPRODUCT'''</tt> but in that case the formula must be entered as an array formula by pressing Ctrl_Shift_Enter.
+
<tt>'''LARGE(A1:A5; ROW(A1:A3))'''</tt> je tako 1-stolpčna, 3-vrstična matrika, ki vsebuje največje 3 številke, funkcija <tt>'''SUMPRODUCT'''</tt> pa jih zgolj sešteje. Namesto <tt>'''SUMPRODUCT'''</tt> bi lahko uporabili tudi <tt>'''SUM'''</tt>, vendar je potrebno v tem primeru vnesti formulo kot matrično formulo s pritiskom kombinacije tipk Ctrl+Shift+Enter.
  
  
To add up the largest 4 numbers (say), use <tt>'''...ROW(A1:A4)..'''</tt> instead of <tt>'''...ROW(A1:A3)..'''</tt>
+
Če želite sešteti največje 4 številke (za primer), uporabite <tt>'''...ROW(A1:A4)..'''</tt> namesto <tt>'''...ROW(A1:A3)..'''</tt>
  
  
To add the smallest numbers, use <tt>'''SMALL(...)'''</tt> instead of <tt>'''LARGE(...)'''</tt>.
+
Če želite sešteti najmanjše številke, uporabite <tt>'''SMALL(...)'''</tt> namesto <tt>'''LARGE(...)'''</tt>.
  
==Tips and Tricks: summing matching blank, etc cells==
+
==Triki in nasveti: seštevanje celic, ki ustrezajo praznim v drugem stolpcu itd.==
  
 
  '''<nowiki>=SUMPRODUCT(ISBLANK(A1:A5); B1:B5)</nowiki>'''
 
  '''<nowiki>=SUMPRODUCT(ISBLANK(A1:A5); B1:B5)</nowiki>'''
  
sums those cells in <tt>'''B1:B5'''</tt> corresponding to blank cells in <tt>'''A1:A5'''</tt>.
+
sešteje tiste celice v <tt>'''B1:B5'''</tt>, ki ustrezajo praznim celicam v <tt>'''A1:A5'''</tt>.
  
Other similar functions (e.g. <tt>'''ISTEXT'''</tt>, <tt>'''ISNUMBER'''</tt>) can be used in the same way.
+
Druge podobne funkcije (npr. <tt>'''ISTEXT'''</tt>, <tt>'''ISNUMBER'''</tt>) lahko uporabite na enak način.
  
==Tips and Tricks: summing more than one column==
+
==Triki in nasveti: seštevanje v več kot enem stolpcu==
  
 
  '''<nowiki>=SUMPRODUCT(D1:D6="red";E1:E6+F1:F6)</nowiki>'''
 
  '''<nowiki>=SUMPRODUCT(D1:D6="red";E1:E6+F1:F6)</nowiki>'''
  
will sum cells in <tt>'''E1:E6'''</tt> and in <tt>'''F1:F6'''</tt> which correspond to cells in <tt>'''D1:D6'''</tt> containing <tt>'''red'''</tt>. For example if <tt>'''D2'''</tt> and <tt>'''D4'''</tt> contain red, the result is <tt>'''E2+F2+E4+F4'''</tt>.
+
sešteje vrednosti v celicah <tt>'''E1:E6'''</tt> in v <tt>'''F1:F6'''</tt>, kar ustreza celicam <tt>'''D1:D6'''</tt>, ki vsebujejo <tt>'''rdeče'''</tt>. Če npr. <tt>'''D2'''</tt> in <tt>'''D4'''</tt> vsebujeta rdeče, je rezultat <tt>'''E2+F2+E4+F4'''</tt>.
  
==Tips and Tricks: summing every nth row==
+
==Triki in nasveti: seštevanje vsake n-te vrstice==
  
 
  '''<nowiki>=SUMPRODUCT(MOD(ROW(A1:A8); 2)=0; </nowiki> A1:A8)'''
 
  '''<nowiki>=SUMPRODUCT(MOD(ROW(A1:A8); 2)=0; </nowiki> A1:A8)'''
  
will sum every second row in <tt>'''A1:A8'''</tt>. Change the <tt>'''=0'''</tt> to <tt>'''=1'''</tt> to sum every second row, but starting at the first row. Change the <tt>'''2'''</tt> to <tt>'''3'''</tt> to sum every third row, and so on.  
+
bo seštelo vsake sode vrstice v obsegu <tt>'''A1:A8'''</tt>. Spremenite <tt>'''=0'''</tt> v <tt>'''=1'''</tt> da boste sešteli vse lihe vrstice. Spremenite <tt>'''2'''</tt> v <tt>'''3'''</tt>, da boste sešteli vse tretje vrstice itn.  
  
[[Image:Condsummation_8.png|example]]
+
[[Image:Condsummation_8.png|primer]]
  
==Tips and Tricks: summing items with certain formatting==
+
==Triki in nasveti: seštevanje elementov z določenim oblikovanjem==
  
The CELL function returns information about cells, for instance the format that numbers or dates are displayed in and the column width. It can thus be used with one of the methods above. There is no function that returns the colour or font of a cell. If no independent formula relating to colour or font exists, then it may be necessary to use a macro.
+
Funkcija CELL vrne informacije o celici, npr. obliko številk ali datumov, ki so v njej prikazani, in širino stolpca. Zato jo lahko uporabimo z eno gornjih metod. Funkcija, ki bi vrnila barvo ali pisavo celice, ne obstaja. Če ne obstaja nobena neodvisna formula glede barve ali pisave, je potrebno uporabiti makro.
  
==Tips and Tricks: summing matching items in a separate list==
+
==Triki in nasveti: seštevanje ujemajočih elementov v ločen seznam==
  
Say that <tt>'''A1:A9'''</tt> contains a list of dates, <tt>'''B1:B9'''</tt> contains phone numbers and <tt>'''C1:C9'''</tt> the costs of making phone calls. <tt>'''F1:F5'''</tt> is a list of certain phone numbers, and you want to know the total cost of calls to these numbers.
+
Recimo, da <tt>'''A1:A9'''</tt> vsebuje seznam datumov, <tt>'''B1:B9'''</tt> vsebuje telefonske številke in <tt>'''C1:C9'''</tt> stroške telefonskih klicev. <tt>'''F1:F5'''</tt> je seznam določenih telefonskih števil, zanima pa vas strošek klicev na te številke.
  
  
In cell <tt>'''D1'''</tt> enter:
+
V celico <tt>'''D1'''</tt> vnesite:
  
 
  '''<nowiki>=ISNUMBER(MATCH(B1; F$1:F$5; 0))*C1</nowiki>'''
 
  '''<nowiki>=ISNUMBER(MATCH(B1; F$1:F$5; 0))*C1</nowiki>'''
  
and copy/paste down to <tt>'''D2:D9'''</tt>
+
in kopirajte/prilepite tudi v <tt>'''D2:D9'''</tt>
  
<tt>'''<nowiki>=SUM(D1:D9)</nowiki>'''</tt> now gives the total cost of calls.
+
<tt>'''<nowiki>=SUM(D1:D9)</nowiki>'''</tt> zdaj pove skupen strošek klicev.
  
[[Image:Condsummation_9.png|example]]
+
[[Image:Condsummation_9.png|primer]]
  
To perform this calculation without an extra column, you could use:
+
Če želite ta izračun izvesti brez dodatnega stolpca, lahko uporabite:
  
 
  <nowiki>=SUMPRODUCT(NOT(ISERROR(MATCH(B1:B9; F$1:F$5; 0))); C1:C9)</nowiki>
 
  <nowiki>=SUMPRODUCT(NOT(ISERROR(MATCH(B1:B9; F$1:F$5; 0))); C1:C9)</nowiki>
  
We discussed above how it can be important to check Calc settings; this is a good example - if the user has regular expressions turned on (the default) a telephone number written as (720) 528-1700 is interpreted as a regular expression and might match entries other than (720) 528-1700.  
+
Zgoraj smo razpravljali, kako pomembno je, da preverimo nastavitve programa Calc; to je dober primer - če so regularni izrazi vključeni (privzeta nastavitev), je telefonska številka, zapisana kot (720) 528-1700, interpretirana kot regularni izraz in se lahko ujema z drugačnimi vnosi, kot je dejanski (720) 528-1700.  
  
 
[[fr:Documentation/FR/Calc/Sommes et calculs conditionnels]]  
 
[[fr:Documentation/FR/Calc/Sommes et calculs conditionnels]]  
 
{{PDL1}}
 
{{PDL1}}

Latest revision as of 10:35, 23 July 2008


Pogojno štetje in seštevanje v modulu Calc

To je pregled različnih načinov za štetje in seštevanje vsebine celic glede na pogoje, odvisne od rezultata določenega preizkusa.

COUNT

Funkcija COUNT prešteje celice, ki vsebujejo številke in prezre vse druge. Tako so npr. celice z besedilom prezrte.

COUNTA

Funkcija COUNTA prešteje celice, ki vsebujejo karkoli (besedilo, številke, napake, logične vrednosti, formule). Prezre prazne celice.

COUNTBLANK

Funkcija COUNTBLANK prešteje prazne celice.

SUM

Funkcija SUM sešteje vse številke v navedenih celicah. Oglejte si spodaj, kako jih lahko uporabo kot pogojne funkcije.

SUBTOTAL

Funkcija SUBTOTAL vrne rezultate COUNT, COUNTA ali SUM filtriranih podatkov, t.j. podatke v celicah, izbranih s filtrom.

COUNTIF

Funkcija COUNTIF prešteje elemente, ki ustrezajo podanemu pogoju. Primer: COUNTIF(A1:A4; “>4”) prešteje celice v obsegu A1:A4, ki so večje kot 4.

SUMIF

Funkcija SUMIF sešteje tiste elemente, ki ustrezajo podanemu pogoju. Primer: SUMIF(A1:A4; ”=rdeči”; B1:B4) sešteje vrednosti v obsegu B1:B4, ki ustrezajo vnosom “rdeči” v obsegu in A1:A4.

DCOUNT, DCOUNTA, DSUM

Funkcija DCOUNT, funkcija DCOUNTA in funkcija DSUM se vedejo podobno kot COUNT, COUNTA in SUM, le da so celice, ki naj bodo seštete ali preštete, izbrane glede na tabelo pogojev. Primer: DCOUNT(A1:C5; 0; E6:F7) prešteje vrstice v obsegu A1:C5, za katere veljajo vsi pogoji, navedeni v obsegu E6:F7.

Pogoji v obsegih celic

Enostavna metoda za štetje ali seštevanje z več pogoji je vnos teh pogojev v novo vrstico ali stolpec. Primer: če A1:A6 vsebuje seznam barv in B1:B6 seznam velikosti, lahko v celico D1 vnesemo formulo =(A1=”rdeče”), kar vrne TRUE ali FALSE, odvisno od tega, ali je celica A1 rdeče ali ne. Druga pot je, da v celico D1 vnesemo formulo =AND(A1=”rdeče”; B1=”veliko”), ki vrne TRUE, če je celica A1 rdeče IN celica B1 veliko, sicer vrne FALSE. To formulo kopirajte in prilepite v D2:D6, tako da dobimo obseg celic, ki so TRUE, če ustrezajo pogojem, sicer so FALSE.

primer

Pri številskih izračunih se TRUE obravnava kot 1 in FALSE kot 0. Z vnosom =SUM(D1:D6) enostavno seštejete te 1-ice in 0-le, tako dobite število vnosov, ki so rdeče IN veliko.


Ker se pravzaprav TRUE in FALSE ovrednotita kot 1 in 0, ne potrebujemo funkcije AND - v D1 lahko enostavno zapišemo =(A1=”rdeče”)*(B1=”veliko”) in jo kopiramo/prilepimo navzdol v D2:D6.

Zdaj pa recimo, da C1:C6 vsebuje seznam tež teh vnosov, zanima pa nas skupna teža vsega, kar je veliko rdeče. V D1 zapišemo =(A1=”rdeče”)*(B1=”veliko”)*C1 in kopiramo/prilepimo navzdol v D2:D6. D1 bo vsebovalo težo v C1, če ustreza pogojem (sicer bo teža nič) in tako naprej v D2:D6. Tako bo formula =SUM(D1:D6) vrnila skupno težo.

primer

Drug način je, da obseg D1:D6 zapolnimo z matrično formulo. V D1 vpišemo =(A1:A6=”rdeče”)*(B1:B6=”veliko”)*C1:C6 in jo vnesemo z Ctrl+Shift+Enter. Vse celice v D1:D6 zdaj kažejo želene teže, kot v prejšnjem primeru.

SUMPRODUCT

Funkcijo SUMPRODUCT lahko uporabite za izvajanje štetja in seštevanja v prejšnjem odseku brez rabe dodatnih stolpcev. Da bi to razumeli, morate razumeti matrične formule.


Če uporabimo primer iz gornjega razdelka, lahko A1:A6=”rdeče”, B1:B6=”veliko” in C1:C6 obravnavamo kot 3 ločene matrike, ki niso prikazane, temveč le notranje izračunane.

=SUMPRODUCT(A1:A6=”rdeče”; B1:B6=”veliko”; C1:C6) pomnoži ustrezne elemente matrik in vrne njihovo vsoto, t.j.:

(A1=”rdeče”)*(B1=”veliko”)*C1 + (A2=”rdeče”)*(B2=”veliko”)*C2 + ...

primer

To znova vrne skupno težo, pri čemer dodaten stolpec ni potreben.


Opazite lahko, da forumle SUMPRODUCT enostavno vnesete, če pritisnete tipko Enter - ne zahtevajo Ctrl+Shift+Enter, čeprav gre za matrike.


Prav tako upoštevajte, da izračuni z ogromnimi matrikami vzamejo veliko časa za obdelavo, zato lahko zelo upočasnijo delo s preglednico.

SUM z matričnimi formulami

Alternativa k SUMPRODUCT je uporaba funkcije SUM. Prejšnji primer bi tako zapisali kot:

=SUM( (A1:A6=”rdeče”)*(B1:B6=”veliko”)*C1:C6) )

in vnesli kot matrično formulo s pritiskom Ctrl+Shift+Enter. Tako kot pri SUMPRODUCT formula deluje kot množenje ustreznih elementov matrik, vrne pa njihov seštevek.

Več podrobnosti in primerov matričnih formul najdete v kakOOojčku Uporaba polj.

DataPilot

Drug pristop k pogojnemu štetju in seštevanju je uporaba DataPilota, s katerim ustvarite interaktivno tabelo, kjer lahko podatke razporedite in seštevate glede na različne vidike.

Triki in nasveti: preverjanje nastavitev

Pri ujemanju besedila z nekaterimi funkcijami (kot je SUMIF) so lahko rezultati odvisni od nastavitev na strani meni Orodja -> Možnosti -> OpenOffice.org Calc -> Izračuni. Če uporabnikove nastavitve niso pravilne, so lahko rezultati napačni.

nastavitve

Možna rešitev je, da na vidno mesto v preglednico vključimo preverjanje, da so nastavitve pravilne. Primer:

=IF(ISERR(SEARCH(".";"a"));"NAPAKA: prosimo, da omogočite regularne izraze";"")

pokaže sporočilo o napaki, če podpora za regularne izraze ni vključena.

Še en primer - v celico A3 vnesite besedilo:

Preverjeno: 

V celico A4 vnesite:

="Regularni izrazi so "&IF(COUNTIF(A3;".*"); "omogočeni"; "onemogočeni")

V celico A5 vnesite:

="Ujemanje celih celic je "&IF(COUNTIF(A3;"<>e"); "omogočeno"; "onemogočeno")

preverjanje nastavitev

ali še bolje: uporabite ustrezna sporočila o napaki.

Triki in nasveti: elementi med dvema datumoma

Datumi so interno shranjeni kot številke, zato jih je zelo enostavno primerjati. Če želite npr. prešteti celice v A1:A6 med dvema datumoma, lahko uporabite:

=SUMPRODUCT(A1:A6>DATEVALUE("5 Nov 06"); A1:A6<DATEVALUE("5 Dec 06"))


Če izrazite datume s poševnicami (npr. “1/2/2005”), lahko opustite funkcijo DATEVALUE, ker bo Calc datum pretvoril sam. Vendar bodite pozorni, saj bo takšno besedilo glede na krajevne nastavitve ponekod pretvorjeno v 1Feb05 (npr. Slovenija), drugod pa v 2Jan05 (npr. ZDA).

Triki in nasveti: seštevanje največjih/najmanjših vrednosti

Če želite sešteti največja tri števila v obsegu A1:A5, to najenostavneje storite tako, da vnesete:

=LARGE(A1:A5; 1) v celico B1

=LARGE(A1:A5; 2) v celico B2

=LARGE(A1:A5; 3) v celico B3


tako da bodo največja 3 števila v obsegu B1:B3, nato pa uporabite formulo:

=SUM(B1:B3), ki poda rezultat.

primer

Ta metoda je zelo jasna in jo zato v splošnem priporočamo.


Če želite isti rezultat dobiti v eni sami celici, lahko uporabite:


=SUMPRODUCT(LARGE(A1:A5; ROW(A1:A3)))

primer

Tukaj ROW(A1:A3) predstavlja matriko (polje) z 1 stolpcem in 3 vrsticami, ki vsebuje številke 1, 2, 3.

LARGE(A1:A5; ROW(A1:A3)) je tako 1-stolpčna, 3-vrstična matrika, ki vsebuje največje 3 številke, funkcija SUMPRODUCT pa jih zgolj sešteje. Namesto SUMPRODUCT bi lahko uporabili tudi SUM, vendar je potrebno v tem primeru vnesti formulo kot matrično formulo s pritiskom kombinacije tipk Ctrl+Shift+Enter.


Če želite sešteti največje 4 številke (za primer), uporabite ...ROW(A1:A4).. namesto ...ROW(A1:A3)..


Če želite sešteti najmanjše številke, uporabite SMALL(...) namesto LARGE(...).

Triki in nasveti: seštevanje celic, ki ustrezajo praznim v drugem stolpcu itd.

=SUMPRODUCT(ISBLANK(A1:A5); B1:B5)

sešteje tiste celice v B1:B5, ki ustrezajo praznim celicam v A1:A5.

Druge podobne funkcije (npr. ISTEXT, ISNUMBER) lahko uporabite na enak način.

Triki in nasveti: seštevanje v več kot enem stolpcu

=SUMPRODUCT(D1:D6="red";E1:E6+F1:F6)

sešteje vrednosti v celicah E1:E6 in v F1:F6, kar ustreza celicam D1:D6, ki vsebujejo rdeče. Če npr. D2 in D4 vsebujeta rdeče, je rezultat E2+F2+E4+F4.

Triki in nasveti: seštevanje vsake n-te vrstice

=SUMPRODUCT(MOD(ROW(A1:A8); 2)=0;  A1:A8)

bo seštelo vsake sode vrstice v obsegu A1:A8. Spremenite =0 v =1 da boste sešteli vse lihe vrstice. Spremenite 2 v 3, da boste sešteli vse tretje vrstice itn.

primer

Triki in nasveti: seštevanje elementov z določenim oblikovanjem

Funkcija CELL vrne informacije o celici, npr. obliko številk ali datumov, ki so v njej prikazani, in širino stolpca. Zato jo lahko uporabimo z eno gornjih metod. Funkcija, ki bi vrnila barvo ali pisavo celice, ne obstaja. Če ne obstaja nobena neodvisna formula glede barve ali pisave, je potrebno uporabiti makro.

Triki in nasveti: seštevanje ujemajočih elementov v ločen seznam

Recimo, da A1:A9 vsebuje seznam datumov, B1:B9 vsebuje telefonske številke in C1:C9 stroške telefonskih klicev. F1:F5 je seznam določenih telefonskih števil, zanima pa vas strošek klicev na te številke.


V celico D1 vnesite:

=ISNUMBER(MATCH(B1; F$1:F$5; 0))*C1

in kopirajte/prilepite tudi v D2:D9

=SUM(D1:D9) zdaj pove skupen strošek klicev.

primer

Če želite ta izračun izvesti brez dodatnega stolpca, lahko uporabite:

=SUMPRODUCT(NOT(ISERROR(MATCH(B1:B9; F$1:F$5; 0))); C1:C9)

Zgoraj smo razpravljali, kako pomembno je, da preverimo nastavitve programa Calc; to je dober primer - če so regularni izrazi vključeni (privzeta nastavitev), je telefonska številka, zapisana kot (720) 528-1700, interpretirana kot regularni izraz in se lahko ujema z drugačnimi vnosi, kot je dejanski (720) 528-1700.

Content on this page is licensed under the Public Documentation License (PDL).
Personal tools
In other languages