Clever-Excel-Forum

Normale Version: Spalten zeilenweise vergleichen und Inhalt in einer anderen Zeile ausgeben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich bin neu hier und kämpfe gerade mit folgendem Problem:
Für einen Zeitplan möchte ich als Übersicht zwei Spalten zeilenweise vergleichen und den gefundenen Wert (Text) in einer Übersichtszeile oben ausgeben.

Das ganze soll dann ganz vereinfacht so aussehen wie als Anhang beigefügt.
- Spalte A und B sieht immer sehr ähnlich aus kann Zeilenweise aber variieren.
- Bereich D8:O15 wird laufend angepasst.
- Zeile 4 ist also die AUSGABE mittels Formel und soll als Übersicht über den gesamten Projektverlauf dienen.

Meine Idee:
1) Vergleiche Spalte D mit Spalte A
2) wenn in gleicher Zeile gleichen Inhalt gefunden, dann in D4 ausgeben
3) das Ganze halt dann von Spalte D bis O, jeweils verglichen mit A

Wenn möglich mit Formel (also ohne Makro) und ohne zusätzliche Hilfsspalten.
Habs auch schon mit Matrixformeln versucht, kenn mich damit aber nicht gut aus und daher auf keine Lösung gekommen.
Tabelle soll sich auch nicht extrem verlangsamen (ein bisschen wär kein Problem).

zur Info:
- die Tabelle hat schlussendlich ca. 80 Zeilen und 80 Spalten
- die Zellen wo ein "x" vorkommt färbe ich mit Bed.Format. ein damit eine Art "Zeitbalken" entsteht, aber darum geht es mir hier nicht.


Wäre super wenn hierfür jemand eine Lösung hätte!!
Danke schonmal im Voraus!
Hallo Berni,

da du noch am Anfang deiner Tabelle stehst, würde ich dir empfehlen, für die Eingaben eine flache Liste anzulegen. Dann kannst du hinterher wesentlich einfacher auswerten. Lies mal bitte dazu diese Seite: https://www.online-excel.de/excel/singsel.php?f=52
Hallöchen,

hier mal eine anderer Ansatz, weniger flach gelistet Smile Fehler bekommst Du weg, indem Du WENNFEHLER verwendest.

Arbeitsblatt mit dem Namen 'Tabelle1'
ABCD
1
2DEBE#ZAHL!UU
3
4
5
6DE
7XBEx
8UU

ZelleFormel
A2{=INDEX(A$5:A$10;KKLEINSTE(WENN((A$5:A$10<>"x")*(A$5:A$10<>"");ZEILE($1:$5));ZEILE(A1)))}
B2{=INDEX(B$5:B$10;KKLEINSTE(WENN((B$5:B$10<>"x")*(B$5:B$10<>"");ZEILE($1:$5));ZEILE(B1)))}
C2{=INDEX(C$5:C$10;KKLEINSTE(WENN((C$5:C$10<>"x")*(C$5:C$10<>"");ZEILE($1:$5));ZEILE(C1)))}
D2{=INDEX(D$5:D$10;KKLEINSTE(WENN((D$5:D$10<>"x")*(D$5:D$10<>"");ZEILE($1:$5));ZEILE(D1)))}
Achtung, Matrixformel enthalten!
Die geschweiften Klammern{} werden nicht eingegeben.
Verlassen Sie den Zelleneditor mit Strg+Shift + Enter, statt Enter alleine.
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Hallo zusammen,

danke für eure Ideen zur Lösung meines Excel-Problems.

@ Willwissen: Die Tabelle ist leider schon wesentlich komplexer als du vermutet hast. Ich hab nämlich zum leichteren Verständnis nur ein ganz vereinfachtes Beispiel hochgeladen. - Danke trotzdem!

@ schauan: Danke ebenfalls für den Ansatz, das war ein guter Input!

Schlussendlich hab ich mir die Arbeit ein wenig einfacher gemacht und im Planungsbereich (mit den ganzen "x") auf die Kürzel (DE, BE, LI, ...) verzichtet und stattdessen einen fixen Platzhalter (#-Zeichen) verwendet.
Somit kann ich mit Vergleich ganz leicht nach dem Platzhalter suchen und per Index auf das Kürzel in Spalte verweisen und ich brauche keine Matrixformel (wegen der Performance).

Vereinfachtes Beispiel wieder hochgeladen...
Die Formel ist dann recht einfach, z.B. für Zelle J4 im Beispiel:       =INDEX($A$8:$A$15;VERGLEICH("#";J$8:J$15;0);1)
Danach noch mit WENNNV() den Fehler bei leeren Spalten ausgeschlossen und fertig.

Danke nochmal und LG!