Microsoft Excel

Herbers Excel/VBA-Archiv

Top 10 Liste

Betrifft: Top 10 Liste von: Michael oluschinsky
Geschrieben am: 22.07.2008 13:50:57

Hallo

kann mir einer einen Tip geben wie ich eine Tabelle in Excel Programieren kann die Eine Top 10 Auswertung macht?

Bezugs Quelle sind 24 Prozentzahlen Ausgabe soll als Firmenname erfolgen.

  

Betrifft: AW: Top 10 Liste von: VBAfelix
Geschrieben am: 22.07.2008 14:15:57

am besten machst du in jede zeile ein rank()
dann eine seperate liste mit den zahlen 1-10 dazu
dann mittels vlookup() in rank suchen und die entsprehenden eigenschaften waehlen die du retourniert haben willst


  

Betrifft: Möglichkeit von: Backowe
Geschrieben am: 22.07.2008 14:23:52

Hi,

 ABC
1Firma 125%Firma 10
2Firma 230%Firma 9
3Firma 335%Firma 8
4Firma 440%Firma 7
5Firma 545%Firma 6
6Firma 650%Firma 5
7Firma 755%Firma 4
8Firma 860%Firma 3
9Firma 965%Firma 2
10Firma 1090%Firma 11
11Firma 1127% 

Formeln der Tabelle
ZelleFormel
C1=INDEX($A$1:$A$11;VERGLEICH(KGRÖSSTE($B$1:$B$11;ZEILE()); $B$1:$B$11;0))
C2=INDEX($A$1:$A$11;VERGLEICH(KGRÖSSTE($B$1:$B$11;ZEILE()); $B$1:$B$11;0))
C3=INDEX($A$1:$A$11;VERGLEICH(KGRÖSSTE($B$1:$B$11;ZEILE()); $B$1:$B$11;0))
C4=INDEX($A$1:$A$11;VERGLEICH(KGRÖSSTE($B$1:$B$11;ZEILE()); $B$1:$B$11;0))
C5=INDEX($A$1:$A$11;VERGLEICH(KGRÖSSTE($B$1:$B$11;ZEILE()); $B$1:$B$11;0))
C6=INDEX($A$1:$A$11;VERGLEICH(KGRÖSSTE($B$1:$B$11;ZEILE()); $B$1:$B$11;0))
C7=INDEX($A$1:$A$11;VERGLEICH(KGRÖSSTE($B$1:$B$11;ZEILE()); $B$1:$B$11;0))
C8=INDEX($A$1:$A$11;VERGLEICH(KGRÖSSTE($B$1:$B$11;ZEILE()); $B$1:$B$11;0))
C9=INDEX($A$1:$A$11;VERGLEICH(KGRÖSSTE($B$1:$B$11;ZEILE()); $B$1:$B$11;0))
C10=INDEX($A$1:$A$11;VERGLEICH(KGRÖSSTE($B$1:$B$11;ZEILE()); $B$1:$B$11;0))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

Gruss Jürgen


  

Betrifft: AW: Möglichkeit von: Michael oluschinsky
Geschrieben am: 22.07.2008 15:04:21

Danke Backowe

aber ganz funktioniert das bei mir noch nicht. Was habe die roten Klammern in der Möglichkeit zu bedeuten??


  

Betrifft: AW: Möglichkeit von: Backowe
Geschrieben am: 22.07.2008 15:12:53

Hi,

Zeile() steht für die Zeilennummer also in C1 für die 1 also die höchste Zahl.

Gruss Jürgen


  

Betrifft: AW: Möglichkeit von: Michael oluschinsky
Geschrieben am: 22.07.2008 15:20:08

Mh,

die Prozentzahlen ändern sich aber ab und zu da es sich bei den Prozentzahlen um ein Anteil an einer Gesasmtzahl handelt die sich städig erhöht. ich wollte nun nicht ständig den Bezug ändern.

Gruß Michael


  

Betrifft: Flexibeler Bezug! von: Backowe
Geschrieben am: 22.07.2008 22:29:22

Hallo Michael,

dann brauchst du den Bezug nicht mehr zu ändern! ;)

 ABCD
1Firma115,00% Firma7
2Firma220,00% Firma6
3Firma325,00% Firma10
4Firma450,00% Firma9
5Firma535,00% Firma4
6Firma665,00% Firma4
7Firma775,00% Firma5
8Firma850,00% Firma3
9Firma955,00% Firma2
10Firma1060,00% Firma1

Formeln der Tabelle
ZelleFormel
D1=INDEX($A$1:INDIREKT("A"&VERWEIS(2;1/($A$1:$A$65535<>""); ZEILE($A:$A))); VERGLEICH(KGRÖSSTE($B$1:INDIREKT("B"&VERWEIS(2;1/($B$1:$B$65535<>""); ZEILE($B:$B))); ZEILE()); $B$1:INDIREKT("B"&VERWEIS(2;1/($B$1:$B$65535<>""); ZEILE($B:$B))); 0))
D2=INDEX($A$1:INDIREKT("A"&VERWEIS(2;1/($A$1:$A$65535<>""); ZEILE($A:$A))); VERGLEICH(KGRÖSSTE($B$1:INDIREKT("B"&VERWEIS(2;1/($B$1:$B$65535<>""); ZEILE($B:$B))); ZEILE()); $B$1:INDIREKT("B"&VERWEIS(2;1/($B$1:$B$65535<>""); ZEILE($B:$B))); 0))
D3=INDEX($A$1:INDIREKT("A"&VERWEIS(2;1/($A$1:$A$65535<>""); ZEILE($A:$A))); VERGLEICH(KGRÖSSTE($B$1:INDIREKT("B"&VERWEIS(2;1/($B$1:$B$65535<>""); ZEILE($B:$B))); ZEILE()); $B$1:INDIREKT("B"&VERWEIS(2;1/($B$1:$B$65535<>""); ZEILE($B:$B))); 0))
D4=INDEX($A$1:INDIREKT("A"&VERWEIS(2;1/($A$1:$A$65535<>""); ZEILE($A:$A))); VERGLEICH(KGRÖSSTE($B$1:INDIREKT("B"&VERWEIS(2;1/($B$1:$B$65535<>""); ZEILE($B:$B))); ZEILE()); $B$1:INDIREKT("B"&VERWEIS(2;1/($B$1:$B$65535<>""); ZEILE($B:$B))); 0))
D5=INDEX($A$1:INDIREKT("A"&VERWEIS(2;1/($A$1:$A$65535<>""); ZEILE($A:$A))); VERGLEICH(KGRÖSSTE($B$1:INDIREKT("B"&VERWEIS(2;1/($B$1:$B$65535<>""); ZEILE($B:$B))); ZEILE()); $B$1:INDIREKT("B"&VERWEIS(2;1/($B$1:$B$65535<>""); ZEILE($B:$B))); 0))
D6=INDEX($A$1:INDIREKT("A"&VERWEIS(2;1/($A$1:$A$65535<>""); ZEILE($A:$A))); VERGLEICH(KGRÖSSTE($B$1:INDIREKT("B"&VERWEIS(2;1/($B$1:$B$65535<>""); ZEILE($B:$B))); ZEILE()); $B$1:INDIREKT("B"&VERWEIS(2;1/($B$1:$B$65535<>""); ZEILE($B:$B))); 0))
D7=INDEX($A$1:INDIREKT("A"&VERWEIS(2;1/($A$1:$A$65535<>""); ZEILE($A:$A))); VERGLEICH(KGRÖSSTE($B$1:INDIREKT("B"&VERWEIS(2;1/($B$1:$B$65535<>""); ZEILE($B:$B))); ZEILE()); $B$1:INDIREKT("B"&VERWEIS(2;1/($B$1:$B$65535<>""); ZEILE($B:$B))); 0))
D8=INDEX($A$1:INDIREKT("A"&VERWEIS(2;1/($A$1:$A$65535<>""); ZEILE($A:$A))); VERGLEICH(KGRÖSSTE($B$1:INDIREKT("B"&VERWEIS(2;1/($B$1:$B$65535<>""); ZEILE($B:$B))); ZEILE()); $B$1:INDIREKT("B"&VERWEIS(2;1/($B$1:$B$65535<>""); ZEILE($B:$B))); 0))
D9=INDEX($A$1:INDIREKT("A"&VERWEIS(2;1/($A$1:$A$65535<>""); ZEILE($A:$A))); VERGLEICH(KGRÖSSTE($B$1:INDIREKT("B"&VERWEIS(2;1/($B$1:$B$65535<>""); ZEILE($B:$B))); ZEILE()); $B$1:INDIREKT("B"&VERWEIS(2;1/($B$1:$B$65535<>""); ZEILE($B:$B))); 0))
D10=INDEX($A$1:INDIREKT("A"&VERWEIS(2;1/($A$1:$A$65535<>""); ZEILE($A:$A))); VERGLEICH(KGRÖSSTE($B$1:INDIREKT("B"&VERWEIS(2;1/($B$1:$B$65535<>""); ZEILE($B:$B))); ZEILE()); $B$1:INDIREKT("B"&VERWEIS(2;1/($B$1:$B$65535<>""); ZEILE($B:$B))); 0))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

Gruss Jürgen


  

Betrifft: die einfachste Möglichkeit bietet Excel ... von: neopa
Geschrieben am: 22.07.2008 15:03:30

Hallo Michael,

... Dir an, wenn Du den Autofilter einsetzt und dort nach TOP10 filterst.

Allerdings sind die Ergebnisse da noch nicht sortiert. Wenn Du diese sortiert haben möchtest dann so wie Jürgen Dir bereits gepostet hat und wenn die Auswertung noch dazu flexibel (TOP3; TOP5 ,...) sein soll, dann z.B. so (in C1 kannst Du ja eine entsprechende Gültigkeitsliste einsetzen; Formel C2 entsprechend weit nach unten kopieren)

 ABC
1FirmaProzentTop 5
2Firma 125%Firma 10
3Firma 230%Firma 9
4Firma 335%Firma 8
5Firma 440%Firma 7
6Firma 545%Firma 6
7Firma 650% 
8Firma 755% 
9Firma 860% 
10Firma 965% 
11Firma 1090% 
12Firma 1127% 
13Firma 1223% 
14Firma 1344% 

Formeln der Tabelle
ZelleFormel
C2=WENN(ZEILE(A1)>--WECHSELN(C$1;"Top";""); "";INDEX(A$2:A$99;VERGLEICH(KGRÖSSTE(B$2:B$99;ZEILE(A1)); B$2:B$99;0)))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4



Gruß Werner
.. , - ...