Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Explicatii rezolvare Stat de plata - Validari

Informatica


Explicatii rezolvare Stat de plata - Validari

Validarea campului Marca.



Se selecteaza plaja d 22322c212w e celule A4:A12.Din meniul Data se alege optiunea Validation

Allow: Custom

Formula: =AND(COUNTIF($A$4:$A$12;A4)=1;A4=VLOOKUP(A4;$A$17:$A$46;1))

Validarea campului Nume Prenume.

Se selecteaza plaja d 22322c212w e celule B4:B12.Din meniul Data se alege optiunea Validation

Din caseta Allow se alege Custom

In caseta Formula se introduce:

=AND(EXACT(LEFT(B4;SEARCH(" ";B4));UPPER(LEFT(B4;SEARCH(" ";B4))));

EXACT(RIGHT(B4;LEN(B4)-SEARCH(" ";B4));PROPER(RIGHT(B4;LEN(B4)-

SEARCH(" ";B4))));LEN(B4)>7;LEN(B4)<30;NOT(ISBLANK(A4)))

Explicatii:

EXACT (LEFT(B4;SEARCH(" ";B4));UPPER(LEFT(B4;SEARCH(" ";B4))))

Prin functia EXACT se compara rezultatul celor doua expresii subliniate. Prima expresie extrage numele din campul "Nume prenume", cautand cu functia SEARCH pozitia primului spatiu. Functia LEFT extrage primele N caractere din textul celulei B4, N fiind pozitia primului spatiu in cadrul textului din B4, pozitie returnata de SEARCH.

Cea de-a doua expresie se obtine prin transformarea primei expresii cu ajutorul functiei UPPER. Rezultatul este aceeasi expresie scrisa cu majuscule. Daca cele doua sunt identice (luand in calcul si tipul de litera-majuscula sau minuscula) functia EXACT returneaza TRUE.

EXACT(RIGHT(B4;LEN(B4)-SEARCH(" ";B4));PROPER(RIGHT(B4;LEN(B4)-SEARCH(" ";B4))))

Se aplica logica de mai sus, diferenta constand in extragerea ultimelor N caractere din textul de pe campul "Nume prenume", unde N este obtinut prin diferenta dintre numarul total de caractere al campului "Nume prenume" si pozitia primului spatiu. Textul astfel obtinut este comparat cu acelasi text transformat cu functia PROPER (text in care prima litera a fiecarui cuvant este majuscula celelalte fiind minuscule).

LEN(B4)>7

Numarule de caractere trebuie sa fie mai mare decat 7

LEN(B4)<30

Numarul de caractere trebuie sa fie mai mic decat 30

NOT(ISBLANK(A4)))

A4 trebuie sa nu fie vida.

Nota. Optiunea Ignore Blank trebuie debifata, altfel validarea nu va tine cont de expresia ISBLANK(A4)

Validare campului "Data nasterii"

Se selecteaza plaja d 22322c212w e celule C4:C12. Din meniul Data se alege optiunea Validation

Obs

* Indicativul locului de munca este un sir format din prima litera a compartimentului functional si marca salariatului (Ex:M1002)

NU se efectueaza operatie de validare, ci se introduce formula de calcul

=CONCATENATE(LEFT(D4;1);A4)

* Codul salariatului este un agregat format din numele salariatului si indicativul locului de munca al acestuia.(Ex: MANEA C1004)

NU se efectueaza operatie de validare, ci se introduce formula de calcul

=CONCATENATE(LEFT(B4;(SEARCH(" ";B4)-1));" ";E4)

Validarea campului Compartiment

Se selecteaza plaja d 22322c212w e celule C4:C12. Din meniul Data se alege optiunea Validation

Validarea campului "Functia de incadrare"

Se selecteaza plaja d 22322c212w e celule G4:G12. Din meniul Data se alege optiunea Validation List.

La rubrica Source se completeaza astfel:

=IF(D4=$C$16;$C$17:$C$18;IF(D4=$D$16;$D$17:$D$18;IF(D4=$E$16;$E$17:$E$18;IF(D4=$F$16;$F$17:$F$20;FALSE))))

Validare campului "Data angajarii"

Data - Validation - Custom

=AND(WEEKDAY(H4)<>1;WEEKDAY(H4)<>7;(YEAR(TODAY())-YEAR(H4)<30))

SAU

=IF(OR(WEEKDAY(H4;2)=6;WEEKDAY(H4;2)=7);G15;YEAR(TODAY())-YEAR(H4)<=30)

Validarea campului "Salariu incadrare"

Data - Validation - Whole number

Min: =IF(I4<5;3800000;IF(I4<10;VLOOKUP(G4;$B$39:$G$48;2);IF(I4<15;VLOOKUP(G4;$B$39:$G$48;3);IF(I4<20;VLOOKUP(G4;$B$39:$G$48;4);VLOOKUP(G4;$B$39:$G$48;5)))))

Max: =IF(I4<5;VLOOKUP(G4;$B$39:$G$48;2);IF(I4<10;VLOOKUP(G4;$B$39:$G$48;3);IF(I4<15;VLOOKUP(G4;$B$39:$G$48;4);IF(I4<20;VLOOKUP(G4;$B$39:$G$48;5);VLOOKUP(G4;$B$39:$G$48;6)))))

Obs

* Calculul sporului de vechime se realizeaza printr-o functie personalizata, numita SPOR (prin modul VBA) in functie de vechimea efectiva in munca :

-vechime<=3ani - spor=0;

-vechime<=5ani - spor=5%;

-vechime<=10ani - spor=10%;

-vechime<=15ani - spor=15%;

-vechime<=20ani - spor=20%;

-vechime>20ani - spor=25%.

Rezolvare: Din meniul Tools -> Visual Basic Editor. In fereastra deschisa se alege din meniul Insert optiunea Module. In cadrul modulului inserat se scrie urmatoarea functie:

Function spor(vechime, salariu)

If vechime <= 3 Then

spor

ElseIf vechime <= 5 Then

spor = salariu * 5 / 100

ElseIf vechime <= 10 Then

spor = salariu * 10 / 100

ElseIf vechime <= 15 Then

spor = salariu * 15 / 100

ElseIf vechime <= 20 Then

spor = salariu * 20 / 100

Else

spor = salariu * 25 / 100

End If

End Function

Se selecteaza celula K4 -> din meniul Insert -> Function -> categoria User Defined -> spor. In fereastra afisata pe ecran se selecteaza urmatoarele elemente:

rubrica vechime: I4

rubrica salariu: J4

apoi se apasa OK.

* Marca noua

Se va utiliza functia SUBSTITUTE pentru a īnlocui a doua valoare pozitionala din marca salariatului, cu anul nasterii acestuia.

Formatul de afisare va fi: Exemplu: 1-1958-29

L4 = SUBSTITUTE(A4;MID(A4;2;1);"-"&YEAR(C4)&"-";1)


Document Info


Accesari: 2769
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )