microsoft word [2000] formula = extragere an din CNP
Last Updated: Jul 24 2014 11:07, Started by
onlyone
, Jul 23 2014 20:56
·
0
#1
Posted 23 July 2014 - 20:56
Salut
Poate stie cineva cum se face: Am nevoie sa extrag anul din o lista cu CNP uri, lista este intrun tabel care contine Nume si Prenume | Loc Nastere | CNP | Anul Nasterii | Toti din lista fiind salariati si sunt nascuti inainte de 2000 deci din CNP trebuie extrase caracterele 2 si 3 si concatenate (prefixate) cu "19" Are cineva idee cum se poate proceda pentru automatizarea procesului? Presupun ca se foloseste visual basic? Nu stiu daca are importanta - este word din office 2000 Edited by onlyone, 23 July 2014 - 21:09. |
#2
Posted 23 July 2014 - 21:14
Importi lista in Excel.
Sa presupunem ca primul CNP este in celula B3. Atunci in celula B5 care este goala scrii formula urmatoare: =1900 + MID(B3,2,2) Dupa aceea copiezi formula pe intreaga coloana. Coloana cu CNP-urile trebuie sa fie de tip text. |
#3
Posted 23 July 2014 - 21:25
multumesc pentru idee dar problema e ca as avea nevoie de automatizarea asta in word
e o cerinta a ministerului unde ajung listele si listele se modifica constant ca structura |
#4
Posted 23 July 2014 - 22:09
Nu poti sa faci ceva de genu CNP / 10^10 % 100? Si iti returneaza fix anul nasterii?
|
#5
Posted 23 July 2014 - 22:22
@ alexandru -> in word merge chestia aia?
ce inseamna formula asta mai exact? cum extrage anul nasterii? nu e cam empirica? in sensul ca greselile nu sunt permise, e important sa fie 100% reliable metoda de extractie a anului. |
#6
Posted 23 July 2014 - 22:27
CNP-ul este format din 13 cifre, imparti cu 10^10 ramai cu primele 3, de exemplu 186 (86 fiind anul nasterii). %100 inseamna restul impartirii unui numar la 100, adica ultimele 2 cifre ale sale => iti va da 86.
Din pacate nu stiu cum se implementeaza asa ceva in word, dar daca ai nevoie de o formula pentru extractia anului din CNP, eu asta as folosi. |
#7
Posted 23 July 2014 - 22:33
Cred ca ar fi ok sa pui si un exemplu cu tabelul respectiv.
|
#8
Posted 23 July 2014 - 22:38
Incearca ceva de genu' la formula: =INT(MOD((SUM(LEFT)/10000000000),100)) in ideea in care in stanga ai CNP-ul.
Ceva asa vrei tu? Captură.PNG 63.25K 42 downloads Edited by alexandru_viorel, 23 July 2014 - 22:42. |
#11
Posted 23 July 2014 - 23:07
super, merci
esti tare inca o chestie ai idee cum se copiaza in jos formula in toate randurile tabelului - sunt cam 1000 de pozitii in excel e usor de multiplicat formula in jos cu drag de colt dar in word? Am rezolvat se face cu copy paste dar trebuie apoi selectat si apasat F9 pentru recalculare Edited by onlyone, 23 July 2014 - 23:19. |
#12
Posted 23 July 2014 - 23:12
@onlyone, vezi ca acea formula nu merge si cu cei nascuti dupa 2000...
|
#13
Posted 23 July 2014 - 23:20
easy90rider, on 23 iulie 2014 - 23:12, said:
@onlyone, vezi ca acea formula nu merge si cu cei nascuti dupa 2000... |
#14
Posted 24 July 2014 - 10:09
#15
Posted 24 July 2014 - 10:23
@alexandru_viorel, da, stiu. Parca primul numar din CNP e 5/6 si nu 1/2.
|
|
#16
Posted 24 July 2014 - 11:07
Sexul
Prima cifră din CNP reprezintă sexul şi secolul în care s-a născut o persoană. Persoanelor de sex masculin li se atribuie numere impare, iar celor de sex feminin numerele pare, astfel: 3 - persoane de sex masculin născute între 1 ianuarie 1800 şi 31 decembrie 1899 4 - persoane de sex feminin născute între 1 ianuarie 1800 şi 31 decembrie 1899 1 - persoane de sex masculin născute între 1 ianuarie 1900 şi 31 decembrie 1999 2 - persoane de sex feminin născute între 1 ianuarie 1900 şi 31 decembrie 1999 5 - persoane de sex masculin născute între 1 ianuarie 2000 şi 31 decembrie 2099 6 - persoane de sex feminin născute între 1 ianuarie 2000 şi 31 decembrie 2099 7 - persoane străine de sex masculin rezidente în România 8 - persoane străine de sex feminin rezidente în România 9 - persoanele străine Mai multe detalii la: http://www.scientia....c-personal.html Este suficient sa se testeze daca prima cifra este <= 2 sau < 3 si daca nu este, atunci sa afiseze, de exemplu, '0'. Prima cifra se pote extrage cu ajutorul formulei: =INT(SUM(LEFT)/1000000000000) Deci, din formula lui alexandru_viorel, rezulta formula: =IF(INT(SUM(LEFT)/1000000000000)<3,INT(1900+MOD((SUM(LEFT)/10000000000),100)),0) Formula de mai sus se poate copia in locul lui '0' de la sfarsit, obtinand un if in if si inlocuind '<3' prin '<7' si 1900 prin 2000: =IF(INT(SUM(LEFT)/1000000000000)<3,INT(1900+MOD((SUM(LEFT)/10000000000),100)),IF(INT(SUM(LEFT)/1000000000000)<7,INT(2000+MOD((SUM(LEFT)/10000000000),100)),0)) Formula de mai sus zic eu ca este suficienta, deoarece calculeaza anul pe baza CNP-ului pt. cetatenii romani nascuti intre 1900 si 2099 (pentru CNP-urile care incep cu 1,2 sau 5,6). Mi-ar fi placut sa se poata utiliza aceasta formula si in LibreOffice Writer... |
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users