Podium
Re: Podium
Formula se bazeaza pe rezultatele existente pe coloana C
Daca ajuta, incerc o "traducere".... pentru locul 1
-Daca, numarand de cate ori apare cifra 1 rezultatul este 1 (asta e partea de countif) atunci afiseaza doar denumirea aflata in dreptul sau (adica pe acelasi rand), pe coloana 1 (aici e partea cu index si mach)
-Daca, numarand de cate ori apare cifra 1 rezultatul este 2 atunci afiseaza un rezultat format din denumirea aflata in dreptul sau (adica pe acelasi rand), pe coloana 1 urmat de ; si spatiu si de denumirea aflata in dreptul sau pe acelasi rand +1 (deci pe rândul imediat urmator), pe coloana 1.
-Daca, numarand de cate ori apare cifra 1 rezultatul este 3 atunci afiseaza un rezultat format din denumirea aflata in dreptul sau (adica pe acelasi rand), pe coloana 1 urmat de ; si spatiu si de denumirea aflata in dreptul sau pe acelasi rand +1 (deci pe rândul imediat urmator), pe coloana 1 urmat de ; si spatiu de de denumirea aflata in dreptul sau pe acelasi rand + 2 (deci doua rânduri mai jos), pe coloana 1
Dupa acelasi model este si pentru locurile urmatoare doar ca, in functie de loc cifra 1 (atat din countif cat si din formula meci) va fi inlocuita cu 2 (pentru locul 2) cu 3 pentru locul 3...
Pentru a nu completa formula degeaba, eventual s-ar putea adauga inca un if si un countif care sa afiseze un mesaj de genul: "mai mult de 3 persoane au acelsi punctaj" caz in care nu va ramane decat sa completati formula
Daca ajuta, incerc o "traducere".... pentru locul 1
-Daca, numarand de cate ori apare cifra 1 rezultatul este 1 (asta e partea de countif) atunci afiseaza doar denumirea aflata in dreptul sau (adica pe acelasi rand), pe coloana 1 (aici e partea cu index si mach)
-Daca, numarand de cate ori apare cifra 1 rezultatul este 2 atunci afiseaza un rezultat format din denumirea aflata in dreptul sau (adica pe acelasi rand), pe coloana 1 urmat de ; si spatiu si de denumirea aflata in dreptul sau pe acelasi rand +1 (deci pe rândul imediat urmator), pe coloana 1.
-Daca, numarand de cate ori apare cifra 1 rezultatul este 3 atunci afiseaza un rezultat format din denumirea aflata in dreptul sau (adica pe acelasi rand), pe coloana 1 urmat de ; si spatiu si de denumirea aflata in dreptul sau pe acelasi rand +1 (deci pe rândul imediat urmator), pe coloana 1 urmat de ; si spatiu de de denumirea aflata in dreptul sau pe acelasi rand + 2 (deci doua rânduri mai jos), pe coloana 1
Dupa acelasi model este si pentru locurile urmatoare doar ca, in functie de loc cifra 1 (atat din countif cat si din formula meci) va fi inlocuita cu 2 (pentru locul 2) cu 3 pentru locul 3...
Pentru a nu completa formula degeaba, eventual s-ar putea adauga inca un if si un countif care sa afiseze un mesaj de genul: "mai mult de 3 persoane au acelsi punctaj" caz in care nu va ramane decat sa completati formula
Re: Podium
Multumesc mult, merge perfect.
Eii, de acum fac bitzblitzuri, macrou pentru sort automat(cu sorcut la taste), sau poate chiar buton - daca reusesc, etc. etc.
Stima
Eii, de acum fac bitzblitzuri, macrou pentru sort automat(cu sorcut la taste), sau poate chiar buton - daca reusesc, etc. etc.
Stima
Re: Podium
Buna seara
Daca e vorba de macro poate testati fisierul atasat in care am folosit urmatorul cod:
care:
-sterge eventuala informatie veche de pe coloana C si de pe "podium"
-face sortare descrescatoare dupa punctaj
-insereaza pe coloana c (direct ca rezultate) locul ocupat
-parcurge coloana C pana valoarea este fie nula fie mai mare decat 4 si incarca variabila result
-pune rezultatul (result) pe "podium" in functie de valoarea din celula activa la un moment dat (de ex. daca e 2 va pune rezultatul pe podium pe locul 2)
Pentru testare: deschideti fisierul atasat, activati macro/continutul, puneti informatia "bruta" pe cololanele A:B începând cu rândul 2 si rulati macro
IP
Daca e vorba de macro poate testati fisierul atasat in care am folosit urmatorul cod:
Cod: Selectaţi tot
Sub clasament()
'IPP - 15.01.2014
Application.ScreenUpdating = False
Dim nrRepetari
nrRepetari = 0
Dim result
result = ""
Sheets("clasament").Select
Range("C2:C65536").ClearContents
Range("F2, E3, G4, H5").ClearContents
Range("A1").CurrentRegion.Sort Key1:=Range("B2"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("C2").Value = 1
Range("C3").Select
Do Until IsEmpty(ActiveCell.Offset(0, -1))
If ActiveCell.Offset(0, -1) = ActiveCell.Offset(-1, -1) Then
ActiveCell = ActiveCell.Offset(-1, 0)
Else
ActiveCell = ActiveCell.Offset(-1, 0) + 1
End If
ActiveCell.Offset(1, 0).Select
Loop
Range("C2").Select
Do Until ActiveCell.Value > 4 Or ActiveCell.Value = ""
nrRepetari = Application.WorksheetFunction.CountIf(ActiveCell.CurrentRegion.Columns(3), ActiveCell) - 1
result = Cells(ActiveCell.Row, 1)
For i = 1 To nrRepetari
result = result & ", " & Cells(ActiveCell.Row + i, 1)
Next i
Select Case ActiveCell.Value
Case 1
Range("F2") = result
Case 2
Range("E3") = result
Case 3
Range("G4") = result
Case 4
Range("H5") = result
End Select
ActiveCell.Offset(nrRepetari + 1, 0).Select
result = ""
Loop
Application.ScreenUpdating = True
End Sub
-sterge eventuala informatie veche de pe coloana C si de pe "podium"
-face sortare descrescatoare dupa punctaj
-insereaza pe coloana c (direct ca rezultate) locul ocupat
-parcurge coloana C pana valoarea este fie nula fie mai mare decat 4 si incarca variabila result
-pune rezultatul (result) pe "podium" in functie de valoarea din celula activa la un moment dat (de ex. daca e 2 va pune rezultatul pe podium pe locul 2)
Pentru testare: deschideti fisierul atasat, activati macro/continutul, puneti informatia "bruta" pe cololanele A:B începând cu rândul 2 si rulati macro
IP
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
Re: Podium
Eu am inregistrat un macro simplu, dar al tau e prea perfect,
Multumesc mult
Asa cum spuneam, studiez la el ca sa-l inteleg
Stima
Multumesc mult
Asa cum spuneam, studiez la el ca sa-l inteleg
Stima