Bezug auf Tabelle (n-1)

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Mary
Beiträge: 1
Registriert: Di, 20.01.2004 19:08
Wohnort: Bochum

Bezug auf Tabelle (n-1)

Beitrag von Mary »

Hallo Leute,

bin neu hier und möchte gerne folgendes wissen:

wie kann man auf eine Zelle in der "vorangehenden" Tabelle zugreifen ?
Also angenommen, ich habe Tabellenblätter namens "Januar", "Februar"..etc,
und möchte gerne automatisiert in jedem sheet einen Übertrag aus dem
Vormonat übernehmen, ohne explizit den Tabellennamen anzugeben.

Bin dankbar für jeden Tipp !

Mary
Lib
******
Beiträge: 606
Registriert: Mi, 06.08.2003 20:18

Beitrag von Lib »

Um auf eine andere Tabelle zugreifen zu können, benötigt man den Namen dieser Tabelle. Meines Wissens kann man per Formel aber immer nur die Tabellennummer herausfinden.

Also habe ich eine Hilfstabelle in mein Dokument eingefügt und darin eine Matrix angelegt. Diese enthält in der ersten Spalte alle vorkommenden Tabellennummern, also z.B. 1-12. In der zweiten Spalte habe ich die entsprechenden Tabellennamen eingetragen (das aber nur aus Gründen der Lesbarkeit), also Januar bis Dezember und in der dritten Spalte die Tabellennamen nochmal, aber um eine Zeile verschoben, sodass jede Tabelle rechts neben sich den Namen ihrer Vorgängertabelle stehen hat, also Dezember bis November. Der Matrix habe ich den Namen "Monate" gegeben.

Nun kann ich in jeder Tabelle mit Hilfe der Befehle SVERWEIS und TABELLE* den Namen ihrer Vorgängertabelle herausfinden:
=SVERWEIS(TABELLE(A1);Monate;3)
(TABELLE(A1) eruiert die Tabellennummer der aktuellen Tabelle und SVERWEIS findet dann anhand dieser Tabellennummer den Namen der Vorgängertabelle).

Wenn ich jetzt auf den Inhalt von Zelle C23 aus der Vorgängertabelle zugreifen möchte, muss ich zunächst die vollständige Adresse zusammensetzen:

=VERKETTEN(SVERWEIS(TABELLE(A1);Monate;3);".C23")

und nun hilft mir der Befehl INDIREKT, auch den Inhalt der Zelle zu bekommen. Der ganze Befehl lautet also:
=INDIREKT(VERKETTEN(SVERWEIS(TABELLE(A1);Monate;3);".C23"))

Bei diesem Ansatz darf die Tabellenreihenfolge nicht geändert werden, bzw. man muss dann die Matrix wieder anpassen. Ansonsten muss man die Matrix-Logik anders aufbauen und nicht über die Tabellennummer gehen, sondern z.B. den "eigenen" Namen jeder Tabelle auch irgendwo in die Tabelle schreiben und dann ausgehend vom eigenen Namen in der Matrix den Namen der Vorgänger-Tabelle herausfinden.

* beim Befehlsnamen TABELLE bin ich nicht 100%ig sicher, da ich nicht mit einer deutschen Version arbeite. Jedenfalls findet man den Befehl in der Rubrik "Tabelle".

Gruss, Lib
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey S. (komischer Name, da waren die Eltern wohl etwas geizig :wink: )
Any hints?
Ja. Auf andere Dateien kannst du nicht so einfach zugreifen! Diese müssten ja erst geöffnet und dann (im internen Controller) angesprochen werden. Das geht normalerweise mit DDE, wobei diese Funktion zum Standardumfang gehört (-> Hilfe: DDE ). Damit sollte das dann gelingen. Aber: Die verknüpfte Datei wird immer von OOo geöffnet (und ist dann auch sichtbar, wenn du die Werte aktualisierst (Anders ist eine Datenübernahme nicht möglich - höchsatens noch direkt in Basic, aber da wird es auch schwierig)

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Antworten