#Excel – Exercițiu cu intervale de timp [UPDATED]

Știu că a trecut ceva vreme de la ultimul articol de tipul acestor tipuri de exerciții (vezi posturile cu șirurile, IF-urile și formatarea).

Astăzi vă provoc să vă puneți ”creierii pe bigudiuri” cu intervalele de timp.

Se dă următorul tabel cu date. Angajații pleacă în delegații. Singuri sau cu un coleg. Data plecării poate fi intr-o lună din an și data de intoarcere poate fi în aceeași lună sau în alta.

image

Folosind metoda coloanelor ajutătoare sau nu, determinați în mod exact numărul de zile petrecut de Ionel în luna iunie, asemănător raportului de mai sus, permițând operatorului să folosească acest tabel pentru toți angajații sau orice lună calendaristică.

Aștept rezultatele voastre prin e-mail la adresa: valy.greavu@outlook.com cu subiectul: Problema cu date până pe 14/11/2014 ora 21:30.

Ulterior voi analiza soluțiile și vă voi ”da” și soluția mea.

Aștept cu interes!

[UPDATE 14.11.2014 – H22]

Se pare că am primit doar două soluții. Nu mi-am ales bine ziua de postare a articolului, sau poate problema a fost chiar grea, sau lumea nu a fost interesată. Au mai fost 2-3 întrebări din public și în total 80 de vizualizări ale articolului. :)

Vali C. a trimis prima soluție, dar puțin incompletă, puțin alambicată, dar care include funcție FIND() care ar putea imbunătăți soluția propusă de mine prin aplicabilitatea pe nume ciudate de tipul Ionel/Ionela Marin/Marina/Marinela/Marinica sau Vasile/Vasilica. Trebuie să luăm în considerare că un astfel de tabel nu-l facem la nivel de prenume ci Marcă/Nume Prenume.

Vali C. a lucrat aproximativ 50 de minute la soluție, și a folosit 4 coloane ajutătoare.

Ionut L. (fost student al meu) a trimis o soluție funcțională pe care o găsiți în fișier în foaia de calcul IonutL. Interesant cat de mult s-a chinuit să facă acel IF de pe ultima coloană ajutătoare, lucrând mai mult de o oră la soluția sa.

Ionuț, devine astfel câștigătorul acestei probe! Felicitări și o strângere caldă de mână electronică! :)

Soluția mea, propune o abordare diferită prin care calculez pe coloane ajutătoare numărul de zile de delegație, Zilele în luna în care a plecat și dacă este cazul zilele în luna în care s-a întors.

Apoi pentru a calcula numărul de zile se folosește o sumă de sumIFS() cu condițile din raport: Nume și Luna.

Puteți descărca fișierul de la adresa: http://1drv.ms/1x2oIRk

Formulele de calcul:

image

Succes și dacă sunt idei mai faine le așteptăm cu interes! :)

Sincronizare date între Excel 2013 și SharePoint 2013

În mod obișnuit Excel-ul permite publicarea de date în SharePoint sub forma de liste, prin exportul tabelelor Excel în SharePoint (Figura 1) sau prin importul fișierelor Excel din SharePoint (Import Spreadsheet). În sens invers Excel poate prelua date din listele SharePoint prin Export (Figura 2)

image
Figura 1 – Export Table to SharePoint List

Export to Excel
Figura 2 – Export to Excel

În imagemomentul în care se exportă datele din SharePoint către Excel se poate stabili și o conexiune de tip consultare a datelor care permite adăugarea permanentă în Excel a noilor date introduse în listele SharePoint. Această funcționalitate permite centralizarea, consolidarea, prelucrarea și raportarea facilă a datelor introduse în listele SharePoint. În același fel datele pot fi exportate și către baze de date Access. Pentru a avea o conexiune permanentă între Excel și SharePoint trebuie bifate opțiunile Enable background refresh și Refresh data when opening the file.

Definiția conexiunii poate fi editată în așa fel încât se pot prelua date doar dintr-un anumit view. Exemplu de definiție a conexiunii:

<LIST>
<VIEWGUID>{6995ACC0-5E9D-4567-9CAF-D29FAB774237}</VIEWGUID>
<LISTNAME>{BCC35AE5-F9CF-4158-B542-1F7499069DC3}</LISTNAME>
<LISTWEB>https://intranet.uaic.ro/test/_vti_bin</LISTWEB>
<LISTSUBWEB></LISTSUBWEB>
<ROOTFOLDER>/test/Lists/Sales</ROOTFOLDER>
</LIST>

Fiecare View dintr-o listă SharePoint are un alt GUID care poate fi introdus în fișierul de conexiune în secțiunea Viewguid. Numele listei este și el sub formă de ID hexazecimal.

Conexiunea bidirecțională

Nu există o metodă ”oficială” pentru a realiza o conexiune bidirecțională între SharePoint 2013 și Excel 2013. Dar există o metodă mai veche care funcționează și în SharePoint 2013.

Pentru această funcționalitate trebuie să descărcați și să instalați add-on-ul pentru Excel și SharePoint 2007 de la adresa: Excel 2007 Add-in: Synchronizing Tables with SharePoint Lists.

În fapt pachetul de instalare conține un fișier: SynchronizeWSSandExcel.xlam care implicit se găsește pe disc la adresa: C:\2007 Office System Developer Resources\Code Samples\XL2007SynchronizeWSSandExcel.

Fisierul SynchronizeWSSandExcel.xlam poate fi descărcat de la adresa: https://onedrive.live.com/?id=6EC38785F56DAE91%212853&cid=6EC38785F56DAE91

În articolul OfficeTalk: Publishing and Synchronizing Excel 2007 Tables to SharePoint Lists sunt detaliate metodele de activare ale Add-in-ului pentru Excel 2007, dar funcționalitățile respective nu pot fi activate în Excel 2013.

imagePentru a beneficia de funcțiile de sincronizare trebuie să deschidem fișierul SynchronizeWSSandExcel.xlam și să activăm funcționalitatea macro-ului inclus.

După activarea Macrourilor vom putea beneficia de butonul de sincronizare în ribbon-ul Table Tools, Design. Observați diferența între figura 3 în care apare butonul de Publish and allow Sync și figura 1 în care nu apare acest buton.

image
Figura 3 – Butonul Publish and allow Sync.

În fișierul SynchronizeWSSandExcel.xlam descoperim un Macro  destul de interesant care are legătură cu un formular VBA de publicare a tabelului într-o listă Excel.

‘Callback for PublishRW onAction
Sub PublishSP(control As IRibbonControl)
LaunchPubForm
End Sub

Private Sub LaunchPubForm()
On Error GoTo noTable
ListName = ActiveCell.ListObject.Name
ExportRWList.Show
End
noTable:
MsgBox „You must be in a table to publish”
End Sub

Formularul VBA folosit pentru Publicare:

image

După publicare, coloanele din tabel apar în lista SharePoint, cu mențiunea că în view-ul default al listei apare și coloana Title care ar putea fi ascunsă ea neputând fi ștearsă. De asemenea, în Excel apar din SharePoint coloanele ID și Title.

image image

Aceste coloane suplimentare pot fi ascunse după caz.

Un alt aspect este legat de inițierea sincronizării. Operațiunile de pe Ribbonul Table Tools nu includ un shortcut pentru operațiunea de sincronizare. Sincronizarea se poate realiza în schimb cu RClick pe tabel, secțiunea Table, opțiunea Syncronize with SharePoint.

image

“Aducerea” butonului de sincronizare pe Ribbon se poate face prin personalizarea acestuia și adăugarea opțiunii Syncronize List pe zona de toolbar ca un custom group.

O mică dilemă – Salvarea

Orice versiune aș încerca salvarea standard nu funcționeaza. Nici ca macro enabled nici într-un alt fel cunoscut de Excel. Mesajul de eroare:

image

Nici o versiune de Excel 2007/2013 nu este suportată în salvare, singura viabilă fiind cea descrisă în articolul Office talk de mai sus, adică: Excel 97-2003, din cauza fatpului că XLAM-ul este construit pentru versiunea 97/2003. Vestea bună este că după salvarea în format 97/2003 nu mai este nevoie să activăm manual excelul SynchronizeWSSandExcel.xlam.

imageO componentă interesantă a acestui add-in din Excel este legat de rezolvarea conflictelor. În cazul în care Lista a fost modificată înainte de sincronizare și în SharePoint și în Excel vom întâlni mesajul următor la prima sincronizare. Retry All My Changes va provoca o sincronizare corectă între datele modificate din SharePoint și cele din Excel.

Puțină optimizare

Cum facem ca fișierul XLAM să nu mai trebuiască deschis de fiecare dată când dorim să facem o publicare?

image În articolul Add or remove add-ins ni se explică cum am putea activa XLAM-ul ca add-in permanent în Excel. Pe scurt: File, Options, Add-ins, Manage Excel Add-ins, Go. În fereastra Add-ins se apasă pe butonul Browse, se caută pe disc fisierul SynchronizeWSSandExcel.XLAM instalat la început și Ok, după care se activează Add-in-ul pentru a rămâne permanent în memoria Excel-ului.

Nu ștergeți sau redenumiți fișierul din locația lui. Eventual înainte de a adauga add-in-ul în Excel salvați-l în Program files sau într-o locație care să nu vă tenteze să-l stergeți.

Fisierul SynchronizeWSSandExcel.xlam poate fi descărcat de la adresa: https://onedrive.live.com/?id=6EC38785F56DAE91%212853&cid=6EC38785F56DAE91

Final

Testat fișierul exportat în formatul 97/2003 pe un Excel 2010 de pe alt calculator care nu are Add-in-ul instalat. Sincronizarea tabelului funcționează în mod corect.

Sper să fie util și… mulțumesc colegilor din Petrom pentru idee.

Social Engineering a General Approach

 

Social engineering is considered to be a taboo subject in nowadays society. It involves the use of social skills or to obtain usernames, passwords, credit card data, or to compromise or altering the information and systems of an entity. Social engineering methods are numerous and people using it are extremely ingenious and adaptable. This technique takes advantage of the intrinsic nature of mankind, to manipulate and obtain sensitive information, persuading people into divulge it, using exceptional communication skills. Thus, five models of persuasion were identified, based on: simplicity, interest, incongruity, confidence and empathy, exploiting key factors which predispose people to fall victim to attacks of social engineering such as greed, self-interest, guilt or ignorance. It is well known fact that security is as strong as the weakest link in its chain (individuals) therefore, beyond technical measures, staff training is the key to success in defending against such attacks.

Întreg articolul poate fi consultat la adresa: Informatica Economică vol. 18, no. 2/2014

The society of 21st century has been defined as being based primarily on knowledge. Furthermore it has been founded on the exchange of data between all fields of activity. Nowadays, the amount of information held is directly proportional to the power that an individual can have on others; therefore, a very important aspect is not only acquiring but also protecting it from potential attacks. The emergence of numerous systems and protection mechanisms seemed to have solved the security problems. However, it has been discovered that the crucial element as remained the individual and not the machine, that installing the latest applications does not guarantee a complete protection of the system as it is not necessary to force it to infiltrate yourself, it is easier to get the information needed using persuasion or goodwill. Social engineering is a set of methods by which an individual or group of individuals are manipulated to provide access to certain information or to print a certain behavior.

Persuasion Seen as the Art of Manipulation
“People will do anything for those who encourage their dreams, justify their failures, allay their fears, confirm their suspicions and help them throw rocks at their enemies.”

Blog la WordPress.com.

SUS ↑