[ dejan_su @ 03.10.2007. 22:34 ] @
U koloni A imam mnogo JMBG brojeva i zeleo bih da iz toga u koloni B dobijem datum rodjenja. Kako?
Svi su rodjeni pre 2000.
[ Brz_na_tastaturi @ 03.10.2007. 23:21 ] @
U B1 upišeš:
Code:

=CONCATENATE(LEFT(A1,2),".",MID(A1,3,2),".",IF(VALUE(MID(A1,5,1))>8,"1","2"),MID(A1,5,3))

nije bitno da li su datumi pre ili posle 2000
u zavisnosti od toga kako su ti podešeni parametri u Regional settings možda ćeš morati u formuli zarez da zameniš sa tačka-zarez
[ timmy @ 04.10.2007. 11:01 ] @
To bi bilo to, ali bih ja ipak predlozio dve male izmene:

1. Ne znam zasto mnogi forsiraju funkciju CONCATENATE kad je krace i jednostavnije koristiti operator konkatenacije (spajanja stringova) &. Dakle funkcija bi mogla da izgleda (ako je u A1 upisan JMBG):

Code:

=LEFT(A1,2)&"."&MID(A1,3,2)&"."&IF(VALUE(MID(A1,5,1))>8,"1","2")&MID(A1,5,3)


2. Prethodnim metodama se u celiju upisuje datum kao tekst (kao sto je to u startu bio i JMBG), ali bi verovatno korisnije bilo da se u celiju upise kao datum, tj. redni broj koji odgovara bas tom datumu. To bi omogucilo postavljanje formata datuma rodjenja na zeljeni oblik npr. 05-OCT-01 tj. i eventualno kasnije obavljanje kalkulacija nad datumima (koliko je vremena proslo itd.)

Code:

=DATE(IF(VALUE(MID(A1,5,1))>8,"1","2")&MID(A1,5,3),MID(A1,3,2),LEFT(A1,2))


Pozdrav
[ 3okc @ 06.10.2007. 18:26 ] @
Citat:
timmy: To bi bilo to, ali bih ja ipak predlozio dve male izmene:

1. Ne znam zasto mnogi forsiraju ..
Pa, da i ja napišem koju u sličnom tonu kao i Timotije.. :)
Evo, npr 'mene smeta' kad vidim ovoliki mejnstrim od LEFT/RIGHT/MID-ova. Ok, to su i meni bile prve komande u BASIC-u, kapiram da su duboko usađene u mozak programerski, al' dajte bre malo koju alternativu, dosadiste nama koji čitamo ovu rubriku. :D
Da i ne pominjem što sam baš skoro pisao o temi (vidi: [Excel] Konvertovanje teksta u datum) pa mi dođe da se zapitam, čitaju li se ove teme pre nego što se podlegne porivu da se lakonski postave trivijalna pitanja ili se, prosto, radi o tako veelikom problemu da se nije mogao dozvoliti ni najmanji gubitak vremena..

Evo jednog egzotičnog rešenja, tek da ne pomislite da sam besan (svejedno, sledeći koji 'natrči' sa istim pitanjem će biti obrisan 'na jedan')
Code:
=TEXT(TRUNC(VALUE(A1)/1e6); "00\\.00\\.1000\\.")
što je malo kraće a isto daje rezultat u formi teksta.
Ili, uz malo dorade, da vrati broj (u formatu date)
Code:
=DATEVALUE(TEXT(TRUNC(VALUE(A1)/1e6); "00-00-1000"))
[ sabahudinc @ 23.01.2009. 00:58 ] @
Volio bih vidjeti okacen file - uradjem dokument koji bi imao ovo. Unaprijed hvala, a hvala i ostalima koji se svojski trude da budu drugima od pomoci. Nadam se da cu i ja nekada biti u takvoj poziciji
[ Ivek33 @ 23.01.2009. 15:46 ] @
Citat:
sabahudinc: Volio bih vidjeti okacen file - uradjem dokument koji bi imao ovo.
Želja ti ispunjena, evo ga
[ vojvoda1244 @ 21.08.2013. 11:23 ] @
koja je formula da iz maticnog broja izvucem godinu punu godinu rodjenja, npr. 0000991231234?
[ 3okc @ 21.08.2013. 12:13 ] @
Ako uzmeš gornju formulu, koja vraća samo datum rođenja, onda je dovoljno iz tog rezultata izvući godinu, sa YEAR(datum).

Code:
=YEAR(DATEVALUE(TEXT(TRUNC(VALUE(A1)/"1e6");"00-00-"&1+(MID(A1;5;1)<>"9")&"000")))

-ili kraće-
Code:
=YEAR(DATEVALUE(TEXT(LEFT(A1;7);"00-00-"&1+(MID(A1;5;1)<>"9")&"000")))

-ili još kraće-
Code:
=VALUE((1+(MID(A1;5;1)<>"9"))&MID(A1;5;3))
[ madmax-wifi @ 22.10.2013. 21:38 ] @
Kompozicija Jedinstvenog matičnog broja

[Edit: Hiperlink]

[Ovu poruku je menjao 3okc dana 23.10.2013. u 14:13 GMT+1]