Benötige Unterstützung mit Excel-Formel

Hallo,

ich habe folgendes Problem. Ich habe eine Tabelle, in der ich in die 1. Zeile in die einzelnen Spalten (jede Spalte steht für ein Datum) bestimmte Werte eintrage. Jede Zeile darunter steht für ein System. Wenn ich also in einer bestimmten Zeile (einem bestimmten System) für eine bestimmte Spalte (jede Spalte ein Datum mit einem bestimmten Qert) ein „X“ reinschreibe, dann heißt das für mich, dass ich den Wert aus der 1. Zeile der Spalte bereits ins System eingetragen habe.
Wenn ich in die Zelle ein „-“ eintrage, dann heißt das, dass ich nichts geändetr habe. In diesem Falle kann man in der Zeile weiter nach links schauen, bis dort ein „X“ steht. In der Spalte mit dem „X“ finde ich dann in der 1. Zeile der Spalte den Wert, den ich als letztes ins System eingetragen habe, sprich den Wert, der noch im System steht. Es gibt aber noch eine Ausnahme. Wenn ich nicht den Wert der 1. Zeile einer Spalte ins System eintrage, sondern einen ganz anderen, dann schreibe ich kein „X“ hin. Stattdessen schreibe ich den Wert dann direkt in die Zelle.

Ich möchte nun in der letzten Spalte der Matrix für jede Zeile wissen, welcher Wert nun aktuell im System drinsteht. Die Formal muss also im Grunde folgendes tun:
Schaue Dir die gesamte Zeile an und schaue von rechts nach links (aktuelles Datum ist rechts) nach, wo gar nichts, ein „-“, ein „X“ oder was anderes steht.
Wenn ein „X“ eingetragen ist, dann nimm schreibe mir den Wert hin, der in der obersten Zeile der Spalte steht.
Wenn was ganz anderes dasteht, dann schreib mir genau das hin.
Wenn ein „-“ oder nichts dasteht, dann mach die ganze Untersuchung für die Zelle links von der, die gerade untersucht wurde.

Würde mich sehr freuen, wenn ihr mir helfen könntet. Mit SVerweis oder WVerweis habe ich keine Lösung finden können.

Hi Klisd,

klick mal auf FAQ:2861 und lade dadurch mal eine Beispielmappe hoch damit man sich evtl. ein genaueres Bild dessen was du möchtest machen kann.

Und warum wird da überhaupt ein „-“ eingetragen wenn doch nix rein schreiben das Gleiche bewirkt? Mal aus meinem „faule Socke“-Blickwinkel heraus gefragt :smile:

Gruß
Reinhard

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo a.k.c.,

Wenn ich in die Zelle ein „-“ eintrage, dann heißt das, dass

wie schreibst du das „-“ in die Zelle? Mit oder ohne Apostroph? Oder: Ist die Zelle als Text formatiert? Oder, falls du mit meiner Frage nichts anfangen kannst: Was genau tippst du ein, um das „-“ darzustellen?

habe, sprich den Wert, der noch im System steht. Es gibt aber
noch eine Ausnahme. Wenn ich nicht den Wert der 1. Zeile einer
Spalte ins System eintrage, sondern einen ganz anderen, dann
schreibe ich kein „X“ hin. Stattdessen schreibe ich den Wert
dann direkt in die Zelle.

Diese Werte - sind das Ziffern oder Buchstaben oder Kombinationen aus Ziffern und Buchstaben?

Wenn in einer Zeile so ein Wert steht, kann dann in der gleichen Zeile auch ein „x“ stehen und wenn ja, welcher Wert soll dann ermittelt werden: das „x“ oder dieser Wert? Oder soll prinzipiell immer der letzte Wert einer Zeile ermittelt werden, egal ob „x“ oder dieser Wert?

Würde mich sehr freuen, wenn ihr mir helfen könntet. Mit
SVerweis oder WVerweis habe ich keine Lösung finden können.

verstehe ich, die Funktionen helfen hier nicht weiter

Wenn ich auf meine Fragen Antworten erhalte, sollte das möglich sein.

Gruß
Marion

Hallo Marion,

folgende Punkte zu Deinen Fragen.

wie schreibst du das „-“ in die Zelle? Mit oder ohne
Apostroph? Oder: Ist die Zelle als Text formatiert?

Die Zellen sind als Standard formatiert. Deshalb gebe ich etakt '- ein, also mit Apostroph. Allerdings wäre es wohl gut, die entsprechenden Zellen komplett als Textzellen zu setzen.

Diese Werte - sind das Ziffern oder Buchstaben oder
Kombinationen aus Ziffern und Buchstaben?

Die Werte enthalten sowohl Zahlen, als auch Buchstaben und evtl. auch mal Sonderzeichen.

Wenn in einer Zeile so ein Wert steht, kann dann in der
gleichen Zeile auch ein „x“ stehen und wenn ja, welcher Wert
soll dann ermittelt werden: das „x“ oder dieser Wert? Oder
soll prinzipiell immer der letzte Wert einer Zeile ermittelt
werden, egal ob „x“ oder dieser Wert?

Ja. Wenn in der gleichen Zeile z.B. in einer Spalte weiter links ein „X“ steht, dann bedeutete dies, dass der Wert der ersten Zeile gültig war. Je weiter rechts die Zelle (Spalten) ist, desto neuer ist der Eintrag. Wenn dann halt ein anderer Wert in der Zelle als das „-“ oder nichts drin steht, dann ist dieser gültig und nicht der, der in der 1. Zeile steht. Alle „X“ in den linken Zellen sind damit im Grunde unwichtig.

Wenn ich auf meine Fragen Antworten erhalte, sollte das
möglich sein.

Gruß
Marion

Habe ich noch Fragen offen gelassen?

Hallo Klisd,

leider hatte ich erst heute die Zeit, mich deiner Anfrage zu widmen.

Die Zellen sind als Standard formatiert. Deshalb gebe ich
etakt '- ein, also mit Apostroph. Allerdings wäre es wohl gut,
die entsprechenden Zellen komplett als Textzellen zu setzen.

Die Werte enthalten sowohl Zahlen, als auch Buchstaben und
evtl. auch mal Sonderzeichen.

Ja. Wenn in der gleichen Zeile z.B. in einer Spalte weiter
links ein „X“ steht, dann bedeutete dies, dass der Wert der
ersten Zeile gültig war. Je weiter rechts die Zelle (Spalten)
ist, desto neuer ist der Eintrag. Wenn dann halt ein anderer
Wert in der Zelle als das „-“ oder nichts drin steht, dann ist
dieser gültig und nicht der, der in der 1. Zeile steht. Alle
„X“ in den linken Zellen sind damit im Grunde unwichtig.

ich kann dir eine Formel anbieten, die die letzte gefüllte Zelle der Zeile ermittelt und abhängig vom Zellinhalt, den Wert dieser Zelle selbst oder aber den Wert der Spaltenüberschrift ausgibt.

Voraussetzung für das ordnungsgemäße Funktionieren der Formel ist

  • das Textformat aller Zellen, d.h. wenn tatsächlich mal nur eine Zahl in einer Zelle steht, funktioniert die Formel nur richtig, wenn Excel aus diesem Eintrag nicht automatisch eine Zahl macht.

  • der Eintrag " '- " erfordert eine umfangreichere Formel, da er nicht wirklich notwendig ist *denk*, habe ich diesen Eintrag großzügig einfach nicht berücksichtigt. Das bedeutet, du musst ihn entfernen, damit die Formel richtig funktioniert (mit Suchen und Ersetzen - bei Suchen '- eintragen, für Ersetzen nicht eintragen)

Ich bin der Einfachheit von 1 Titelspalte (Spalte A) + 3 Spalten mit Werten (Spalte B:smiley:) ausgegangen. In Spalte E stehen die Formeln. Hat deine Tabelle mehr Spalten, dann bau die Tabelle erst einmal so nach, wie ich sie angegeben habe, kopiere die Formel ein und füge dann anschließend zwischen den Spalten B und D die notwendige Anzahl weiterer Spalten ein. Dann mußt du dir über die Anpassung der Formel keine Gedanken machen. Entsprechend für Zeilen.

So sieht meine Tabelle nach deinen Angaben aus:

A B C D E
 Wert1 Wert2 Wert3 (Zeile 1)
SyscD x x Wert2 (Zeile 2)
SysE wwe3 dd dd (Zeile 3)
SysF x x Wert3 (Zeile 4)
SysG dd x Wert2 (Zeile 5)

kopiere bitte folgende Formel in E2 rein

=WENN(INDIREKT(ADRESSE(ZEILE($A2);VERGLEICH(„z“;$B2:blush:D2;1)+1))=„x“;INDIREKT(ADRESSE(1;1+VERGLEICH(„z“;$B2:blush:D2;1);4;1));INDIREKT(ADRESSE(ZEILE($A2);1+VERGLEICH(„z“;$B2:blush:D2;1);4;1)))

diese Formel nach unten ausfüllen, anschließend zusätzliche Spalten einfügen (Formel passt sich automatisch an)

Wenn die Vorlagentabelle deiner Originaltabelle entspricht, kannst du die automatisch angepasste Formel in deíne Tabelle einfügen.

Wie oben bereits erwähnt, funktioniert die Formel nur richtig, wenn alle Zellen in der Tabelle als Text formatiert sind und die Minus mit dem Apostroph gelöscht wurden.

Gruß
Marion