Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 3.116 pregleda

Najnovija ↓

Označi unikatan niz brojeva 01.12.2014. u 23:07 · pre 145 meseci #1
Kako označiti unikatne kombinacije niza brojeva ili možda pitanje bolje stoji ovako, kako označiti duplikate kombinacija niza brojeva

Npr:
Ako kada se pojavi prvi unikatan niz kombinacija brojeva (a može biti i zadnji, nebitno). U obzir treba uzeti i dvoznamenkaste brojeve.

1,2,3,4 (unikatna kombinacija niz brojeva) prva po redu
1,3,2,4
1,2,4,3
3,4,1,2
4,3,1,2
...
---------------------------

1345 (unikatna kombinacija niz brojeva) prva po redu
1435 (duplikat kombinacije)
4315 (duplikat kombinacije)
5143 (duplikat kombinacije)
5134 (duplikat kombinacije)
...

U obzir dolazi dodavanje pomoćnih stupaca/sheets i slično. Nije bitno kako dobiti i uz koje formule/vba, cilj je izvući samo unikatne kombinacije
Sve ideje dobrodošle.
Re: Označi unikatan niz brojeva 02.12.2014. u 14:24 · pre 145 meseci #2
Nitko ništa
No dobro, Ja imam ideju sa Small/Column/Concatenate/Countif/IF, ipak želio sam vidjeti ako netko ima drugu ideju
Re: Označi unikatan niz brojeva 02.12.2014. u 15:33 · pre 145 meseci #3
Napravi VBA fonkciju koja sortira Range i vraća string u kojem su sortirani elementi razdvojeni zarezom ili nekim drugim separatorom. Onda upotrebi countif nad rezultatom funkcije.
Re: Označi unikatan niz brojeva 03.12.2014. u 16:22 · pre 145 meseci #4
Evo pošto si ti od velike pomoći na ovom forumu, red je da i tebi bar malo pomognemo

Prema ideji djoka_l napravio sam funkciju koja vraća sortirane vrednosti iz zadatog opsega razdvojene zarezima

Code:
Public Function SortRngCSV(rng As Range) As Variant
' Vraća sortirane vrednosti iz zadatog opsega razdojene zarezima
'  Ulazni opseg je jedan red
'  Ukoliko vrednosti iz opsega nisu celi brojevi vraća gresku NA
' P. Jovanovic za elitesecurity.org
'
Dim i As Integer
Dim val As Integer
On Error GoTo Greska
val = Application.Small(rng, 1)
SortRngCSV = CStr(Application.Small(rng, 1))
For i = 2 To rng.Columns.Count
   val = Application.Small(rng, i)
   SortRngCSV = SortRngCSV & "," & CStr(val)
Next i

Exit Function

Greska:
   SortRngCSV = CVErr(xlErrNA) ' return NA
   
End Function


Dakle u jednoj koloni formiraš pomoću ove funkcije stringove sortiranih vrednosti i onda u drugoj koloni sa COUNTIF brojiš koliko ima iznad istih vrednosti
Ako je 1 (nema još neka) onda je unikat

Rešenje je u kolonama G i H u tvom primeru
Potpis
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Re: Označi unikatan niz brojeva 03.12.2014. u 22:54 · pre 145 meseci #5
Hvala @djoka_I na ideji i @JPeca na VBA kodu
U međuvremenu sam ja riješio problem sa funkcijama koje sam gore naveo ali su me zanimale varijante rješenja dotičnog problema. Čekam, možda netko da formulu sa drugom idejom, a ako ne opet dobro jer rješenje postoji kako za mene tako i za sve čitatelje teme.
pozz Ivan
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme