
RANG i Excel
Jag har gjort ett excelark som nedan. Jag vill få fram rangordningen för var månad, men det går inte med RANG eftersom det kräver sorterade listor. Jag kan inte sortera var månad för sig. Hur kan man lösa det?
A
B
C
Jan
11
22
33
Feb
15
12
11
Mar
2
1
3
Apr
15
11
26
Jag är inte helt med på vad du vill få ut?
Mvh // Johan

Mellankolumnerna föll bort.
För var kolumn vill jag ha en rangordning där det visas om talet i tex A är nr 1,2 eller 3 i januari.
Resultatet skulle bli så här
A
Rang A
B
Rang B
C
Rang C
Jan
11
3
22
2
33
1
Feb
15
1
12
2
11
3
Mar
2
2
1
1
3
3
Apr
15
2
11
3
26
1
Kan man ta förgivet att det aldrig är mer än 12 månader? :)
Mvh // Johan

Nä, det är från 1998 och frammåt och dessutom i 30 kolumner :)
Denna UDF (User Definied Function) borde fungera. Makron måste aktiveras för att det ska fungera. Ställ Verktyg, Makro, Säkerhet till Mellan.
Gör så här för att lägga in den:
- Gå till Verktyg, Makro, Visual Basic Editor
- Se till att du står i den arbetsboken du vill ha funktionen tillgänglig i
- Gå till Infoga, Modul
- Klistra in nedanstående text
- Stäng Visual BAsic Editor
Ställ dig nu i en cell och skriv:
=UnsortedRang($B$2:$B$100; B2; SANT)
- Första argumentet är området du vill undersöka
- Andra argumentet är värdet du vill hitt ordning på
- Tredje argumentet är om du vill räkna från högsta till lägsta (SANT) eller lägsta till högsta (FALSKT)
Option Explicit
Public Function UnsortedRang( _
ByRef oRange As Range, _
ByRef oLookup As Range, _
Optional ByVal bHighestToLowest As Boolean = True) As Long
Dim lngCounter As Long
Dim oCurrent As Range
Application.Volatile True
lngCounter = 1
For Each oCurrent In oRange
If bHighestToLowest Then
If oCurrent.Value > oLookup.Value Then
lngCounter = lngCounter + 1
End If
Else
If oCurrent.Value < oLookup.Value Then
lngCounter = lngCounter + 1
End If
End If
Next
UnsortedRang = lngCounter
End Function
Mvh // Johan
UDF:er skrivna i VBA brukar ha en tendens att bli rätt långsamma när det är många celler, så i värsta fall kanske du kan ställa om beräkningen på manuell för bladet.
Det gör du under Verktyg, Alternativ, Beräkning. Sedan kan du beräkna om bladet med F9-tangenten.
// Johan
Mvh // Johan