Ich habe eine Frage zur Funktion RANG im Excel 2003:
Ausgehend von einem Datenreport (der sich variabel verändert) sollte
die Rang-Nummer gezogen werden, allerdings in Abhängigkeit von einer
Positionsnummer. Dh es sollte eine Rangfolge pro Position gezogen
werden. Da der Bericht variabel ist (dh die Zeilen pro Position
ändern sich) kann ich keine absoluten Bezüge eingeben.
zB
Position (Merkmal) Betrag Gesellschaft Rang (Soll)
10220120 10115 K001 5
10220120 75533 K007 2
10220120 11544 K010 5
10220120 45777 K015 2
10220120 8777 K121 4
10220120 88879 K124 1
10240200 17000 K001 3
10240200 13885 K007 4
10240200 1200 K010 7
10240200 1877 K017 6
10240200 18776 K135 2
10240200 14444 K178 2
10240200 4447 K204 3
10240200 9977 K205 2
10240200 180003 K211 1
Vielleicht könnt Ihr mir helfen!
Vielen Dank
Andrea
meine Lösungen wären entweder VBA oder Formeln mit zwei Hilfsspalten…
Was wäre Dir lieber? 
Ausgehend von einem Datenreport (der sich variabel verändert)
sollte
die Rang-Nummer gezogen werden, allerdings in Abhängigkeit von
einer
Positionsnummer. Dh es sollte eine Rangfolge pro Position
gezogen
werden. Da der Bericht variabel ist (dh die Zeilen pro
Position
ändern sich) kann ich keine absoluten Bezüge eingeben.
Hi Andrea,
sind die Daten immer nach Spalte A sortiert?
benutze bitte die Vorschau, dann wäre dir aufgefallen daß deine Tabelle mistig aussieht.
Benutze den pre-Tag, wird unterhalb des Eingabefensters erläutert, dann kann sie prinzipiell so aussehen:
Tabellenblatt: [Mappe2]!Tabelle2
│ A │ B │ C │ D │
───┼──────────┼────────┼──────────────┼──────┤
1 │ Position │ Betrag │ Gesellschaft │ Rang │
───┼──────────┼────────┼──────────────┼──────┤
2 │ 10220120 │ 10115 │ K001 │ 5 │
───┼──────────┼────────┼──────────────┼──────┤
3 │ 10220120 │ 75533 │ K007 │ 2 │
───┼──────────┼────────┼──────────────┼──────┤
4 │ 10220120 │ 11544 │ K010 │ 4 │
───┼──────────┼────────┼──────────────┼──────┤
5 │ 10220120 │ 45777 │ K015 │ 3 │
───┼──────────┼────────┼──────────────┼──────┤
6 │ 10220120 │ 8777 │ K121 │ 6 │
───┼──────────┼────────┼──────────────┼──────┤
7 │ 10220120 │ 88879 │ K124 │ 1 │
───┼──────────┼────────┼──────────────┼──────┤
8 │ 10240200 │ 17000 │ K001 │ 3 │
───┼──────────┼────────┼──────────────┼──────┤
9 │ 10240200 │ 13885 │ K007 │ 5 │
───┼──────────┼────────┼──────────────┼──────┤
10 │ 10240200 │ 1200 │ K010 │ 9 │
───┼──────────┼────────┼──────────────┼──────┤
11 │ 10240200 │ 1877 │ K017 │ 8 │
───┼──────────┼────────┼──────────────┼──────┤
12 │ 10240200 │ 18776 │ K135 │ 2 │
───┼──────────┼────────┼──────────────┼──────┤
13 │ 10240200 │ 14444 │ K178 │ 4 │
───┼──────────┼────────┼──────────────┼──────┤
14 │ 10240200 │ 4447 │ K204 │ 7 │
───┼──────────┼────────┼──────────────┼──────┤
15 │ 10240200 │ 9977 │ K205 │ 6 │
───┼──────────┼────────┼──────────────┼──────┤
16 │ 10240200 │ 180003 │ K211 │ 1 │
───┴──────────┴────────┴──────────────┴──────┘
Benutzte Formeln:
D2 : =r(A2)
D3 : =r(A3)
D4 : =r(A4)
D5 : =r(A5)
D6 : =r(A6)
D7 : =r(A7)
D8 : =r(A8)
D9 : =r(A9)
D10: =r(A10)
D11: =r(A11)
D12: =r(A12)
D13: =r(A13)
D14: =r(A14)
D15: =r(A15)
D16: =r(A16)
Tabellendarstellung erreicht mit dem Code in FAQ:2363
Die Funktion R() ist selbstgebastelt.
Alt + F11, Einfügen—Modul, Code reinkopieren, Editor schliessen.
Function R(Zelle As Range)
Dim Von As Long, Bis As Long
Von = Zelle.Row
Bis = Von
For Von = Zelle.Row To 1 Step -1
If Range("A" & Von).Value Zelle.Value Then Exit For
Next Von
While Range("A" & Bis + 1).Value = Zelle.Value
Bis = Bis + 1
Wend
R = Application.Rank(Zelle.Offset(0, 1), Range(Cells(Von + 1, 2), Cells(Bis, 2)))
End Function
Gruß
Reinhard
meine Lösungen wären entweder VBA oder Formeln mit zwei
Hilfsspalten…
Was wäre Dir lieber? 
Hallo!
Da ich mich mit VBA selber nicht so gut auskenne, wäre mir die Lösung mit den Hilfsspalten lieber 
Danke nochmals!
Andrea