Matrične funkcije prvič…

Na podlagi prošnje v forumu sem se odločil napisati nekaj o tki. matričnih (mrežnih) funkcijah. Osebno uporabljam izraz mrežne funkcije, ker sem se ga navadil, ko še nisem slišal za uradni prevod. Uradno pa so to matrične funkcije in resnici na ljubo je to boljši izraz.

A to za vas, kot uporabnika,  ni pomembno. Vi želite stvar samo uporabiti oz. ugotoviti ali je dobra ali ne.

Kaj so to matrične (mrežne) funkcije?

Če najprej pogledam kaj o matričnih funkcijah pravi MS pomoč:

matrična formula: Formula, ki izvede večje število izračunov na eni ali več množicah vrednosti in vrne enega ali več rezultatov. Matrične formule so postavljene med zavite oklepaje { } in se vnašajo s pritiskom tipk CTRL+SHIFT+ENTER.

Priznati moram, da mi iz tega opisa ni ravno čisto jasno za kaj pri vsem skupaj sploh gre, zato bi jaz opisal matrične funkcije takole:

matrična formula: Matrična funkcija je funkcija, ki operira za nizi podatkov (matricami) in katere rezultat je lahko ena vrednost (nek agregat) ali pa nova matrica vrednosti. Matrične formule so postavljene med zavite oklepaje { } in se vnašajo s pritiskom tipk CTRL+SHIFT+ENTER.

Ne vem če je moja definicija kaj boljša a dejstvo je, da je suho opisovanje matričnih formul (brez primerov) težko opravilo. Zato bom v tem in nekaj naslednjih prispevkih poskušal prikazati namen in uporabo matričnih funkcij.

Zelo zelo zelo pomembno

Ko v Excelu vnesete matrično funkcijo, jo morate potrditi s kombinacijo tipk CTRL+SHIFT+ENTER (torej držite tipko CTRL in SHIFT ter pritisnete ENTER). Če vam je to uspelo, bo Excel pred in za funkcijo zapisal zavita oklepaja. Če torej v vrstici za formule piše:

=SUM(A1:A10)

potem je to navadna funkcija, če pa piše

{ =SUM(A1:A10) }

potem pa je to matrična funkcija. Še enkrat(!): Zavitih oklepajev ne vnašate VI, temveč jih Excel vpiše avtomatično, ko pritisnete kombinacijo tipk CTRL+SHIFT+ENTER.

Hitri primer matrične funkcije

Ker bo za danes dovolj, za konec samo še primer matrične funkcije. Recimo, da nas zanima seštevek prvih 100 števil. V celico zapišite formulo:

=SUM(ROW(1:100))

In pritisnite CTRL+SHIFT+ENTER… in rezultat je 5050 😉

Ali pa recimo seštevek vseh števil od 1 do 1000, ki so deljiva s 17:

{ =SUM(IF(MOD(ROW(1:1000);17)=0;ROW(1:1000);0)) }

Uf Uf Uf 🙂 :), rezultat je 29087, kako je Excel prišel do njega in kako deluje ta matrična funkcija…. pa naslednjič 😉

Nadaljevanje: Matrične funkcije prvič

4 thoughts on “Matrične funkcije prvič…”

  1. In še dodatek, kako z Excelom prešteti enolične BESEDILNE in ŠTEVILČNE vrednosti v obsegu A1:A10 (ki ne sme vsebovati praznih celic)

    =SUM(IF(FREQUENCY(MATCH(A1:10;A1:10;0);MATCH(A1:10;A1:10;0))>0;1))

Komentirajte prispevek

This site uses Akismet to reduce spam. Learn how your comment data is processed.