folgendes Problem: In einer Tabelle gebe ich täglich spaltenweise neue Daten ein. Die Weiterverarbeitung in verschiedenen anderen Blättern soll auf Basis der neuesten, d.h. „rechtesten“ Spalte erfolgen. Wie bringe ich EXCEL dazu, für die Berechung in den anderen Blättern immer die derzeit rechteste Spalte zu verwenden, ohne daß ich per Hand jeden Tag Formeln anpassen muß?
Danke und Gruß
Christian
P.S. Zur Verdeutlichung noch mal ein Bsp.:
Montag
A1: 200
A2: 100
A3: 150
Dienstag
B1: 400
B2: -350
B3: -15
Mittwoch
C1: -150
C2: -500
C3: 1000
Berechnung in anderem Blatt
Montag
A1 (zweite Tabelle) 1000-A1 (erste Tabelle)
A2 (zT): 1000-A2 (eT)
A3 (zT): 500-A3 (eT)
über ein paar ecken geht’s ganz einfach. ich gehe dabei aber davon aus, dass in deinen spalten nur numerische werte stehen. also, mit der funktion „anzahl“ erhältst du die anzahl der numerischen werte innerhalb eines angegebenen bereichs. angenommen du hast also 10 zeilen und in der zweiten zeile bereits 50 spalten mit zahlen befüllt, dann liefert „=anzahl(2:2)“ den wert „50“. wenn die eingabe bereits in der ersten spalte erfolgt ist, dann ist das auch die spaltennummer der letzten eingabe.
mit der index-funktion kannst du nun den dazugehörigen wert suchen. mit „=index(a:iv;2;anzahl(2:2))“ erhältst du also den letzten wert der zeile 2 (max. 256 spalten!).
wenn du aus einem anderen arbeitsblatt referenzieren willst, musst du natürlich entsprechend die referenzen ändern.
Klasse, in meiner Test-Tabelle funktionierts schon mal. In der richtigen und etwas komplizierteren Tabelle hauts noch nicht hin, aber das wird schon.
Im Notfall melde ich mich nochmal.
Da hat sich jedenfalls jemand einen dicken Pluspunkt verdient. Wenn die EXCEL-Hilfe nicht das komplette Gegenteil zur EXCEL-Funtionalität wäre, bräuchte man das Forum eigentlich gar nicht. Aber so…
Danke.
Christian
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Korrektur
so funktionierts besser:
um den letzten eintrag der 1. zeile in Tabelle1 (unabhängig vom typ der einträge - zahl oder text) zu bekommen:
=index(Tabelle1!1:1;1;anzahl2(tabelle1!1:1))
vorteil dieser lösung: anzahl2 zählt ALLE spalten, egal ob nur numerische werte oder auch textwerte beinhaltet sind.
ausserdem kann man diese formel nur beliebig oft kopieren - excel wird den zeilenbezug automatisch relativ zur ersten zelle mit der formel einfügen - fügt man also die obige formel in die zelle a1 und kopiert sie nach a2, so bessert excel die formel automatisch auf =index(Tabelle1!2:2;1;anzahl2(tabelle1!2:2)) aus. man kann damit ganz leicht von mehreren zeilen die letzte zelle ermitteln…
Ich finde die Idee von Erwin R. gut. Du brauchst also nur die Spalten-Nr. um den letzten Wert zu finden, bzw. wiederzugeben. Zu Deiner Tabelle hätte ich aber noch folgenden Verbesserungsvorschlag :
Die Ur-Datentabelle baust Du wie einen Terminplan nach Tagen auf, mit 2 Lückenspalten am Wochenende, Überschrift beliebig - logisch wäre das Datum. In irgendeiner - nicht veränderbaren Zelle, mit Namen z. B. „Ausgangsdatum“ schreibst Du das Datum vom Tag vor dem Beginn deiner Datenerhebungsserie auf.
In der Zieltabelle hast Du jetzt auch eine Überschrift, die heisst =Heute() und liefert das aktuelle Datum. Die Spaltennummer bekommst Du also jetzt aus der Formel =Heute()-Ausgangsdatum [Heute() als Bezug zur Überschrift].
Der Vorteil liegt auf der Hand : Wenn Du doch mal die Werte von Vorgestern brauchst, dann änderst Du in der Überschrift einfach nur das Datum.
so funktionierts besser:
um den letzten eintrag der 1. zeile in Tabelle1 (unabhängig
vom typ der einträge - zahl oder text) zu bekommen:
=index(Tabelle1!1:1;1;anzahl2(tabelle1!1:1))
vorteil dieser lösung: anzahl2 zählt ALLE spalten, egal ob nur
numerische werte oder auch textwerte beinhaltet sind.
Textspalten zu Beginn der Reihe kann man auch über index(…;…;anzahl(…)-1) ausgleichen. Das Problem hatte ich zwischenzeitlich.
ausserdem kann man diese formel nur beliebig oft kopieren -
excel wird den zeilenbezug automatisch relativ zur ersten
zelle mit der formel einfügen - fügt man also die obige formel
in die zelle a1 und kopiert sie nach a2, so bessert excel die
formel automatisch auf
=index(Tabelle1!2:2;1;anzahl2(tabelle1!2:2)) aus. man kann
damit ganz leicht von mehreren zeilen die letzte zelle
ermitteln…
Ich komme jetzt langsam aus dem Rhythmus mit dem Bedanken. Also: Vielen Dank nochmal.