![]() |
Chirurgia cranio-cerebrală minim invazivă
Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne. Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale. www.neurohope.ro |
Crearea unei formule Excel cu diverși ani
Last Updated: Jun 17 2024 04:27, Started by
ssss
, Jun 16 2024 11:59
·
1
![](https://forum.softpedia.com//public/style_images/classic/icon_users.png)
#1
Posted 16 June 2024 - 11:59
![](https://forum.softpedia.com//public/style_images/classic/post_offline.png)
Bună ziua,
Caut să listez pe un rând (coloană) printr‑o formulă niște ani (sezoane), în formatul An/An+1 (de pildă, 2013/2014 sau preferabil 2013/14). Ar fi soluția de a scrie direct anii, însă ia o sumedenie de timp să le adaug bara și următoarele 2 cifre din anul următor la fiecare. Menționez că în listă sunt și elemente care au doar un an, iar versiunea folosită este Excel 2021. Cu stimă, ssss Edited by ssss, 16 June 2024 - 11:59. |
#2
Posted 16 June 2024 - 12:14
![](https://forum.softpedia.com//public/style_images/classic/post_offline.png)
Adica, pe o coloana ai 2012 si vrei sa inlocuiewsti continutul cu 2012/13 ?
|
#3
Posted 16 June 2024 - 12:16
![](https://forum.softpedia.com//public/style_images/classic/post_offline.png)
Un mic exemplu:
2010/11 2011/12 2012/13 2013/14 2015 2016 2017/18 2018/19 |
#4
Posted 16 June 2024 - 12:23
![](https://forum.softpedia.com//public/style_images/classic/post_offline.png)
pentru a transforma ce ai in A1 sub forma 2012, in 2012/13 foloseste formula
=A1&"/"&TEXT(A1+1-TRUNC((A1+1)/100)*100,"00") Ca sa intelegi despre ce-i vorba, e o concatenare intre: An: 2012 caracterul / An+1, din care se sterg primele doua cifre: poti sterge ciffrele folosind aritmetica, sau functii pe text. Eu am folosit aritmetic A1+1-TRUNC((A1+1)/100)*100 Pentru ca sa nu afiseze 2 in loc de 02 (pentru 2001/02 de exemplu), am schimbat formatul de afisare folosind functia TEXT( blabla, "00") Se poate face mai usor folosind functii pe text, dar merge si asa. |
#5
Posted 16 June 2024 - 12:26
![](https://forum.softpedia.com//public/style_images/classic/post_offline.png)
In coloana A, din A1, scrii anii, fără secol.
Pentru anii care trebuie să fie singuri, fără "/", adaugi un caracter nenumeric la sfarsit (ex: + sau *) Exemplu: 8 9+ 10 11* 12 13+ Apoi în B1 scrii formula: =CONCAT("20",IF(ISNUMBER(A5),CONCAT(TEXT(A5,"00"),"/",TEXT(A5+1,"00")),TEXT(VALUE(LEFT(A5,LEN(A5)-1)),"00")))și o copiezi la toate celulele relevante din B Merge doar pentru secoul 21. Pentru alt secol trebuie să schimbi „20”-ul din formulă. Edited by Pafarist, 16 June 2024 - 12:29. |
#6
Posted 16 June 2024 - 12:27
![](https://forum.softpedia.com//public/style_images/classic/post_offline.png)
pentru a transforma ce ai in A1 sub forma 2012, in 2012/13 foloseste formula =A1&"/"&TEXT(A1+1-TRUNC((A1+1)/100)*100,"00") […] ![]() Nici cea a lui Pafarist nu merge, aceeași eroare o dă. Edited by ssss, 16 June 2024 - 12:33. |
#7
Posted 16 June 2024 - 12:42
![](https://forum.softpedia.com//public/style_images/classic/post_offline.png)
La mine merge
Poate ai setat excelul sa fie cu ; in loc de , la separarea parametrilor functiilor. ![]() Pune si tu o formula care face orice si-ti merge sa vedem poate ai setat ceva la excel diferit. De exemplu baga in B1 formula =TRUNC(A1) Daca nici asta nu-ti merge, atunci ai formatat ceva aiurea sau niste setari regionale sau ceva ce tine de excelul tau. Daca merge, atunci schimba cu =TRUNC(A1, 1) si vezi ce face. |
#8
Posted 16 June 2024 - 12:56
![](https://forum.softpedia.com//public/style_images/classic/post_offline.png)
Aparent da, virgula era buba. Voi rescrie cu ; fiindcă așa am setat.
LATER: Se pare că aceste formule impun ca niște valori să fie prestabilite în alte celule. Am încercat să pun direct anii în locul celulei, iar când multiplicam, se repetau. Am pus și cu două. Edited by ssss, 16 June 2024 - 13:03. |
#9
Posted 16 June 2024 - 13:20
![](https://forum.softpedia.com//public/style_images/classic/post_offline.png)
Cât despre @Pafarist, a mers până la urmă cu înlocuirea virgulelor cu ; dar valorile sunt de 4 cifre în ambele părți, plus că se impune și acolo să se prestabilească anii într‑o altă coloană.
Există cumva o soluție care să nu ceară să mai pun niște ani în altă parte? Mulțumesc frumos de răspunsuri. |
#10
Posted 16 June 2024 - 13:27
![](https://forum.softpedia.com//public/style_images/classic/post_offline.png)
Pune un printscreen cu fizionomia documentului sa vad exactr ce vrei ca nu ma prind.
|
|
#11
Posted 16 June 2024 - 13:41
![](https://forum.softpedia.com//public/style_images/classic/post_offline.png)
Aici. Deși pot face Hide, vreau totuși să nu dublez anii
![]() Edited by ssss, 16 June 2024 - 13:43. |
#12
Posted 16 June 2024 - 13:57
![](https://forum.softpedia.com//public/style_images/classic/post_offline.png)
Nu se poate scrie un algoritm daca nu exista un sablon definit.
Mai bine copiezi valorile din coloana 1 in coloana 2 si dupa aceia completezi unde e cazul si cu sezonul urmator. Poti defini un sablon pe coloana 1 cum a descris @Pafarist. Eventual pui in prima coloana numarul de sezoane, 2 sau 1 si dupa aceia e mai simplu. Edited by Leo2006, 16 June 2024 - 14:06. |
#13
Posted 16 June 2024 - 14:26
![](https://forum.softpedia.com//public/style_images/classic/post_offline.png)
Am reușit până la urmă; trebuia să copiez rândul, să lipesc doar cu valorile și apoi să șterg coloana cu anii (redundantă).
Mulțumiri cordiale;) |
#14
Posted 16 June 2024 - 14:46
![](https://forum.softpedia.com//public/style_images/classic/post_offline.png)
Daca ai ambele formate intr-o coloana, poti face asa
=IF(ISNUMBER(A1),A1&"/"&TEXT(A1+1-TRUNC((A1+1)/100)*100,"00"),A1) ISNUMBER testeaza daca ai doar anul (adica daca e doar un numar acolo) Daca ai doar anul, ii pune / si anul urmator (formula cu rosu) Daca nu ai doar anul, se pastreaza textul original (cu verde in formula de mai sus) Daca ai un excel mai nou, se poate face cu REGEX(regular expressions) insa eu nu am asa ceva pe laptopul de acasa. Cu REGEX e modul corect de a face tipul asta de probleme prin care : - recunosti un anumit pattern din mai multe posibile (gen 1944, 1944/45, 2.feb.1944, 02.02.44, 02.02.1944, etc) - aplici o anumita formatare functie de patternul recunoscut sau.. - recunosti un anume pattern (ca mai sus) din care poti extrage o anumita informatie (de exemplu anul la tine, din doua cifre, ultimile doua ale anului), 44 in exdemplul de mai sus - cu acea informatie construiesti un anume format de afisare folosind functii aritmetice si functii text. Cum ar fi 1944/45 Notepad++ are REGEX. Cand aveam patternuri complicate in excel, eu le mutam in notepad++, faceam inlocuirile necesare si reveneam in excel. Acum nu mai e nevoie, ca au bagat si in excel functii REGEX. Au bagat si python, dar doar in ultimile versiuni. Cu excelul traditional, te cam chinui ca ies formule lungi. Se poate facce, dar ies formulele lungi, cu multi de IF() si nu se mai intelege nimic. |
#15
Posted 17 June 2024 - 04:27
![](https://forum.softpedia.com//public/style_images/classic/post_offline.png)
Până la urmă am găsit soluția de compromis.
Pe o foaie separată calculez anii și sezoanele, iar pe baza ultimei formule distincția anilor între sezoanele de tip A/A+1 și cele de tip A am făcut‑o prin adăugarea lui Zero Width Non‑Joiner (U+200C). Menționez că valorile sunt copiate pe foaia principală. Mulțumesc încă odată! Edited by ssss, 17 June 2024 - 04:29. |
|
Anunturi
▶ 1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users