Besedilne funkcije
Besedilne funkcije vam olajšajo delo z nizi znakov - z besedilom torej in vam prinašajo določene
elemente, ki jih Excel ne ponuja:
mZBesedo
Podano številko pretvori v slovenščino.
Sintaksa
mZBesedo(Stevilo, RealniDel)
Stevilo | realno število / obvezno | število, ki ga želite pretvoriti v slovenščino |
RealniDel | logična vrednost / neobvezna (privzeto TRUE) |
TRUE, na koncu se izpišejo tudi stotini v obliki xx/100 FALSE, stotini se ne izpišejo |
Primer
mZBesedo(10) = deset 00/100
mZBesedo(12345,60) = dvanajst tisoč tristopetinštirideset 60/100
mZBesedo(10; True) = deset 00/100
mZBesedo(12345,60; True) = dvanajst tisoč tristopetinštirideset 60/100
mZBesedo(10; False) = deset
mZBesedo(12345; False) = dvanajst tisoč tristopetinštirideset
mDodajZnak
Nizu doda izbran znak na začetek ali konec, tako da je celoten niz tako velik kot želite.
Sintaksa
mDodajZnak(Znak, Izvor, Dolzina, Kam)
Znak | znak / obvezno | Znak, ki ga želite dodati |
Izvor | niz znakov / obvezno | Niz, ki mu znak želite dodati |
Dolzina | celo število / obvezno | Skupna dolžina novo dobljenega niza znakov |
Kam | celo število / neobvezno (privzeto 1) |
1: dodaja na začetek 2: dodaja na konec |
Opomba
Če je želena dolžina manjša od dolžine izvornega niza, funkcija vrne izvorni niz.
Primer
mDodajZnak("X"; "RACA"; 3; 1) = RACA
mDodajZnak("X"; "RACA"; 3; 2) = RACA
mDodajZnak("X"; "RACA"; 5; 1) = XRACA
mDodajZnak("X"; "RACA"; 5; 2) = RACAX
mDodajZnak("X"; "RACA"; 7; 1) = XXXRACA
mDodajZnak("X"; "RACA"; 7; 2) = RACAXXX
mBrisiIzNiza, mBrisiIzNizaVse
Funkciji iz niza znakov pobrišeta izbrani niz.
Sintaksa
mBrisiIzNiza(Izvor, Niz, ObcutljivoNaVelikost) – pobriše samo prvo pojavitev podniza
mBrisiIzNizaVse(Izvor, Niz, ObcutljivNaVelikost) – pobriše vse pojavitve podniza
Izvor | niz znakov / obvezno | Znak, ki ga želite dodati |
Niz | niz znakov / obvezno | Niz, ki mu znak želite dodati |
ObcutljivNaVelikost | logična vrednost / neobvezno (privzeto false) |
false: funkcija ni občutljiva na velikost znakov A = a true: funkcija je občutljiva na velikost znakov A <> a |
Primer
mBrisiIzNiza("MARIČKA", "MA") = RIČKA
mBrisiIzNizaVse("MARIČKA", "MA") = RIČKA
mBrisiIzNiza("MARIČKA", "RI") = MAČKA
mBrisiIzNizaVse("MARIČKA", "A") = MRIČK
mIsci, mZamenjaj
To sta zelo močni funkciji, ki v Excelu nimata ekvivalenta in omogočata
zelo napredno iskanje/zamenjavo besed oziroma nizev.
Sintaksa
mIsci(Izvor, NajdiKaj, ObcutlivNaVelikost) – poizkša najti element znotraj niza
mZamenjaj(Izvor, ZamenjajKaj, ZamenjajZ, ObcutlivNaVelikost) – poizkuša zamenjati podniz z drugim podnizom
Izvor | niz znakov / obvezno | Izvorno besedilo po katerem iščete |
NajdiKaj | niz znakov / obvezno | Niz, ki ga iščete |
ZamenjajKaj | niz znakov / obvezno (privzeto false) |
Niz, ki ga želite zamenjati |
ZamenjajZ | niz znakov / obvezno | Niz s katerim ga želite zamenjati |
ObcutlivNaVelikost | logična vrednost / neobvezno (privzeto false) |
false – funkcija ni občutljiva na velikost znakov A = a true – funkcija je občutljiva na velikost znakov A <> a |
Regularni izrazi
Pravo moč predstavljenih funkcij lahko dosežete z uporabo regularnih izrazov, ki
so predstavljeni v tem oddelku. Regularni izrazi so programska struktura, ki omogoča, da uporabniki
opišemo, kaj želimo najti/zamenjti, ne da bi to konkretno poznali - torej, ne iščemo cifre 123,
temveč računalniku zaukažemo, naj nam najde številko!
Vmesni primer, da občutite moč regularnih izrazov
' najdi velikost televizorja iz opisa [A1] = 'televizor, velikost 52cm, LCD'
=mIsci(A1;"\d+") --> vrne 52
' preveri ali se v celici A5 nahaja e-naslov
=misci(A5;"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$")
Ne spreglejte!
Kot je vidno že v primeru preverjanja e-naslova, so lahko regularni izrazi
dokaj kompleksni. Tukaj predstavljeni regularni izrazi niso popolni, saj slednji omogočajo še več.
Tukaj bomo regularne izraze poskušali razložiti čimlažje - v kolikor pa imate z njii težave,
pišite na forum in skupaj bomo našli rešitev!
Podrobnejša razaga
Pozicijski elementi | |
^ | Najde začetek niza |
$ | Najde konec niza |
=mzamenjaj("ma ma"; "ma"; "xx") --> "xx xx"
=mzamenjaj("ma ma"; "^ma"; "xx") --> "xx ma"
=mzamenjaj("ma ma"; "ma$"; "xx") --> "ma xx"
Skupine znakov | |
[xyz] | Upošteva katerikoli znak zapisan med oglatima oklepajema |
[^xyz] | Upošteva katerikoli znak, KI NI zapisan med oglatima oklepajema |
[a-z] | Upošteva katerikoli znak med znakoma 'a' in 'z' |
. | Upošteva katerikoli znak |
\d | Upošteva vsako cifro. Enakovredno kot [0-9] |
\D | Upošteva vsak znak, ki ni cifra. Enakovredno kot [^0-9] |
\s | Upošteva presledek. Enakovredno kot [ \t\r\n\v\f] |
\S | Upošteva vse znake, ki niso presledek [^ \t\r\n\v\f] |
' znake a, j, l zamenjaj z x
=mzamenjaj("Danes je lep dan!"; "[ajl]"; "x") --> Dxnes xe xep dxn!
' vse znake, ki niso a, j ali l zamenjaj z x
=mzamenjaj("Danes je lep dan!"; "[^ajl]"; "x") --> xaxxxxjxxlxxxxaxx
' zamaskiraj šifro računa
=mzamenjaj("Na računu 06144-2371490273 je premalo denarja"; "\d"; "#") --> Na računu #####-########## je premalo denarja
' vse presledke zamenjaj s podčrtaji
=mzamenjaj("skupno poročilo za leto 2010";"\s";"_") --> skupno_poročilo_za_leto_2010
' izloči številko telefona
=mzamenjaj("tel. št: (031) 244-456";"\D";"") --> 031244456
Posebni simboli | |
{x} | Upošteva natanko x pojavitev prejšnjega izraza |
{x,} | Upošteva X ali več pojavitev prejšnjega izraza |
{x,y} | Upošteva med x in y pojavitvami prejšnjega izraza |
? | Upošteva noč ali eno pojavitev prejšnjega izraza. Enako kot {0,1} |
* | Upošteva nič ali več pojavitev prejšnjega izraza. Enako kot {0,} |
+ | Upošteva eno ali več pojavitev prejšnjega izraza. Enako kot {1,} |
(xyz) | Regularni izraz xyz upošteva kot skupino |
A|B | Upošteva regularni izraz A ali B |
' najdi šifro pošte to pomeni 4 cifre
=misci("Poštna številka Celja je 3000.";"\d{4}") --> 3000
Konkretnejši primer:
' najdi dimenzijo ki je zapisana kot 12x30
=misci("miza, mala, 130x90, bela"; "\d+x\d+") --> 130x90
' najdi spletni naslov - to je naslov, ki sledi nizu http://
=misci(".. Podrobnejšo razlago najdete na http://www.matjazev.net ..";"http://(\S)+") --> http://www.matjazev.net
' preveri ali se v celici A5 nahaja e-naslov
=misci(A5;"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$")
^ - začetek niza
^[A-Z0-9._%+-]+ - ki mu sledijo črke ali štvilke ali pika ali podčrtaj, procent, plus, minus
^[A-Z0-9._%+-]+@ - ki mu sledi afna
^[A-Z0-9._%+-]+@[A-Z0-9.-]+ - ki ji sledijo znaki, cifre pika ali minus
^[A-Z0-9._%+-]+@[A-Z0-9.-]+\. - ki mu sledi pika
^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$ - in piki sledita 2 do 4 znaka