Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1368to1372
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Rangfolge aus Vergleichsdaten

Rangfolge aus Vergleichsdaten
11.07.2014 11:18:22
Cheese
Hallo zusammen,
ich hoffe, Ihr könnt mir weiterhelfen.
Ich habe in einer Zeile Werte stehen, die ich aufgrund einer anderen Formel berechnet habe. Die Werte sind eindeutig, kommen also nicht doppelt vor.
Werte
xyz1 xyz6 xyz2 xyz4 xyz7
Jetzt habe ich in einem anderen Sheet diese Werte in einer Spalte stehen und zu jedem Wert eine Zahl. Aufgrund der Zahl habe ich für die Werte die Rangfolge bestimmt. Die Rangfolge ist ebenfalls eindeutig, jeder Rang kommt nur einmal vor.
Wert Zahl Rang
xyz1 10 1
xyz2 5 3
xyz3 1 7
xyz4 8 2
xyz5 3 4
xyz6 3 5
xyz7 2 6
Jetzt möchte ich in dem oberen Sheet, bei dem die Werte in einer Zeile stehen, in den Zellen rechts neben den Werten die Werte noch einmal ausgeben, aber dieses Mal in der Reihe der Rangfolge, so dass der Wert mit dem höchsten Rang als erstes, der mit dem zweithöchsten als zweites, etc. erscheint.
Das Ergebnis müsste also lauten xyz1 xyz4 xyz2 xyz6 xyz7
Ich stelle mir das so vor, dass ich für den Wertebereich der Zeile im anderen Sheet in der Spalte nachsehe und dann entsprechend des Ranges die Werte wieder ausgebe. Das bekomme ich aber nicht wirklich hin. Wäre toll, wenn Ihr Ideen hättet, wie man das anstellt.
Vielen Dank im voraus!

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
erst Sortieren dann Transponieren owT
11.07.2014 11:26:42
Matthias

AW: erst Sortieren dann Transponieren owT
11.07.2014 11:35:10
Cheese
Vielen Dank erstmal für die Antwort. Allerdings habe ich nicht verstanden, wie ich da vorgehen sollte. Ich denke nicht, dass das mein Problem löst, da die Rangfolge nicht mit einbezogen wird. Wichtig ist vor allem auch, dass die Formeln hinterher automatisch arbeiten. Das Sortieren müsste ich von Hand machen.

AW: Rangfolge aus Vergleichsdaten
11.07.2014 11:35:13
fcs
Hallo Cheese,
benutze die Funktionen INDEX und VERGLEICH
=INDEX(Wertebereich;VERGLEICH(1;Rangbereich;0))
Statt den Rang für den Vergleich in die Formel zu schreiben kannst du natürlich auch Zellen mit den Werten 1 bis 7 verwenden, oder auch SPALTE()-X, wobei X eine Zahl ist, die für die 1. Zelle dann 1 ergibt.
Gruß
Franz

Anzeige
AW: Rangfolge aus Vergleichsdaten
11.07.2014 11:45:32
der
Hallo Cheese,
... aber z.B. mit nachfolgender Formel - noch nicht optimal - nach rechts kopieren:
Tabelle4

 ABCDEFGHIJKL
3            
4 xyz1xyz6xyz2xyz4xyz7 xyz1xyz4xyz2xyz6xyz7
5            

Formeln der Tabelle
ZelleFormel
H4{=WENNFEHLER(INDEX(Tabelle3!$A2:$A8;MIN(WENN(KKLEINSTE(WENN(ZÄHLENWENN($B4:$F4;Tabelle3!$A2:$A8)=1;Tabelle3!$C2:$C8); SPALTE(A1))=Tabelle3!$C2:$C8;ZEILE(A2:A8)-1))); "")}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!


Tabelle3

 ABC
1WertZahlRang
2xyz1101
3xyz253
4xyz317
5xyz482
6xyz534
7xyz635
8xyz726
9   


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...

Anzeige
AW: Rangfolge aus Vergleichsdaten
11.07.2014 12:11:50
Cheese
Hey, das klappt schon super. Vielen Dank schon einmal!
Eine Frage hätte ich noch: wofür ist der Begriff "Spalte(A1)" gut. Wenn ich die Zellen nach rechts kopiere, wird daraus dann B1, C1, etc. Ich denke, dass ist soweit richtig. Trotzdem verstehe ich noch nicht, wofür der Parameter gut ist?
Wie müsste das aussehen, wenn ich diese Formel eine Zeile tiefer anwende? Müsste dort dann wieder A1 stehen oder z.B. A2 - oder ist das unerheblich?

auf die Schnelle ...
11.07.2014 12:17:08
der
Hallo Cheese,
.. SPALTE(A1) ist nur ein Zähler der beim rüberkopieren der Formel sich eben um eins erhöht.
Zur zweiten Frage: Das solltest einfach mal ausprobieren, dann kannst Du Dir die Frage vielleicht schon selbst beantworten.
Gruß Werner
.. , - ...

Anzeige
Einfacher, wie fcs vorgeschlagen hat
11.07.2014 12:20:25
EtoPHG
Hallo,
Tabelle2 sei das Blatt mit den Daten =INDEX(Tabelle2!$A:$A;VERGLEICH(SPALTE(A1);Tabelle2!$C:$C;0))
und nach rechts kopieren. Gemäss den Beispieldaten sind die Ränge eindeutig und damit erübrigt sich ein Matrix-Formel-Gefrickel ;-)
Gruess Hansueli

AW: Einfacher, wie fcs vorgeschlagen hat
11.07.2014 12:38:02
Cheese
Danke für Deine Hilfe. Die Formel liefert so aber leider nicht die richtigen Ergebnisse. Wo lege ich denn in Deiner Formel den Vergleichsbereich in quasi Tabelle 1 fest? Ist das der Bereich Spalte (A1)? Hier müsste ich aber einen bestimmten Zellenbereich einer Zeile angeben können.

AW: Einfacher, wie fcs vorgeschlagen hat
11.07.2014 12:53:16
EtoPHG
Hallo Cheese,
Excel gut? Wirklich?
Ich habe deine Beispieldaten in ein Blatt Tabelle2 kopiert und anschliessend die Formel in einem anderen Tabelleblatt in irgendeine Zelle geschrieben und ab da nach rechts kopiert. Im Unterschied zu deinem Zitat: "Das Ergebnis müsste also lauten xyz1 xyz4 xyz2 xyz6 xyz7", das falsch ist, liefert meine Formel zwischen xyz2 und xyz6 noch xyz5, was richtig wäre!
Gruess Hansueli

Anzeige
AW: Einfacher, wie fcs vorgeschlagen hat
11.07.2014 12:58:05
Cheese
Hallo Hansueli,
"Excel gut": fand ich bisher schon, aber sowas ist immer relativ. Im Vergleich zu mir bist Du wahrscheinlich "far outstanding".
Ich könnte Dich übrigens fragen, wie Du so im Lesen abgeschnitten hast :-) Aber vielleicht habe ich mich auch missverständlich ausgedrückt. xyz5 darf in der Ergebnismenge gar nicht vorkommen, da der Wert nicht Bestandteil der ersten Liste/Zeile ist. Insofern ist das Ergebnis Deiner Formel dann für meine Zwecke auch falsch.
Gruß, Cheese

Ich kann zwar lesen, aber mit den Leerstellen
11.07.2014 13:04:04
EtoPHG
im Text, komm ich oft nicht zurecht ;-)
In deiner Anfrage ist mit keinem Wort von irgendwelchen Differenzen zwischen den Quelldaten, dem Auswertungsbereich und dem Zielbereich die Rede. Das muss man sich aus den Finger saugen....
Ok. Ich ziehe meinen Vorschlag zurück and say
Cheese :-D
Gruess Hansueli

Anzeige
AW: Ich kann zwar lesen, aber mit den Leerstellen
11.07.2014 13:06:48
Cheese
Ich sag ja, vielleicht war es auch nicht so klar ausgedrückt :-)
Auf jeden Fall trotzdem vielen Dank für Deine Mühe!
Gruß, Cheese

so geht es nicht! Es geht zwar kürzer ... doch ...
11.07.2014 19:13:41
der
Hallo Hansueli,
... meine erste Formel (hier in I1) ist etwas flexibler und nicht ganz so fehleranfällig wie die in I2. Für letztere darf so z.B. (ohne zusätzliche Fehlerabfangung, was die Formel natürlich wieder enorm verlängert) keine Leerzellen im Bereich sein und es darf auch kein Wert in Tabelle4!B4:F4 vorkommen der nicht nicht in Tabelle3!A1:A# steht.
Es geht möglicherweise trotzdem kürzer, aber ich finde dafür momentan keinen Schlüssel. Vielleicht ja jemand anderes.
Tabelle4

 BCDEFGHIJKLMN
1       xyz1xyz4xyz2xyz6xyz7 
2       xyz1xyz4xyz2xyz6xyz7 
3             
4xyz1xyz6xyz2xyz4xyz7        
5             

Formeln der Tabelle
ZelleFormel
I1{=WENNFEHLER(INDEX(Tabelle3!$A2:$A8;MIN(WENN(KKLEINSTE(WENN(ZÄHLENWENN($B4:$F4;Tabelle3!$A2:$A8)=1;Tabelle3!$C2:$C8); SPALTE(A1))=Tabelle3!$C2:$C8;ZEILE(A2:A8)-1))); "")}
I2{=INDEX(Tabelle3!$A:$A;VERGLEICH(KKLEINSTE(VERWEIS($B4:$F4;Tabelle3!$A1:$A9;Tabelle3!$C:$C); SPALTE(A1)); Tabelle3!$C:$C;))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Tabelle3

 ABC
1WertZahlRang
2xyz1101
3xyz253
4xyz317
5xyz482
6xyz534
7xyz635
8xyz726
9   


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...

Anzeige
AW: auf die Schnelle ...
11.07.2014 12:21:21
Cheese
Hmmm, die Ergebnisse bleiben gleich, also anscheinend unerheblich.
Auf jeden Fall nochmals vielen Dank!

AW: Rangfolge aus Vergleichsdaten
12.07.2014 22:20:15
Adis
Hallo,
eine kleine Makro Lösung zum kopieren nach Rangfolge
bei mir waren Quelle und Ziel Tabelle identisch "Tabelle1"
Namen bitte manuell abaendern auf Ihre Tabellen Namen.
Die Quell und Ziel Adressen bitte ebenfalls anpassen.
Den Code in eine Makro Tabelle kopieren und starten.
Const QAdr = "A1" 'Quell Adresse ; bei mir A1
Const ZAdr = "E1" 'Ziel Adresse ; bei mir E1
Sub Rang_ausfüllen()
Set Ziel = Sheets("Tabelle1") 'Name der Ziel Tabelle
Set Quell = Sheets("Tabelle1")  'Name der Quell Tabelle
For i = 1 To 7    'Schleife für Range 1-7
For j = 2 To 8    'Wert suchen und einfügen
Rang = Quell.Range(QAdr).Cells(j, 3).Value
If Rang = i Then
Wert = Quell.Range(QAdr).Cells(j, 1).Value
Ziel.Range("E1").Cells(1, i) = Wert
Ziel.Range("E1").Cells(2, i) = Rang  '** löschen
End If
Next j
Next i
End Sub

Anzeige
AW: Rangfolge aus Vergleichsdaten
12.07.2014 22:22:46
Adis
Nachtrag:
Den Rang hatte ich nur zum testen mit kopiert (1-7)
Diese Zeile bitte von Hand löschen, sie war nur zum testen
Ziel.Range("E1").Cells(2, i) = Rang '** löschen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige