Zugriff auf Namen mit nicht globalem Geltungsbereich

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

JK
*
Beiträge: 19
Registriert: Mi, 28.02.2007 23:47

Zugriff auf Namen mit nicht globalem Geltungsbereich

Beitrag von JK »

Hallo,

wie kann ich folgendes Problem mit LibreOffice lösen? ich habe eine vorhandene Excel-Datei, die in einem Tabellenblatt als Übersicht Daten aus anderen Tabellenblättern darstellt. (Es handelt sich um ein betriebswirtschaftliches Planungsprogramm für die Landwirtschaft, dass ich gerne komplett in LibreOffice konvertieren möchte.)

Ich habe ca. 20 Tabellenblätter mit Berechnungen zu den einzelnen Produktionsverfahren, im Gesamtdeckungsbeitrag werden einzelne Daten (Marktleistung, Variable Kosten, Akh-Bedarf, Deckungsbeitrag) angezeigt.
Um diese Daten zu referenzieren, wurden in der Original-Datei lokal gültige Namen definiert, also jeweils nur für das jeweilige Tabellenblatt. Der Hintergrund ist, dass die einzelnen Produktionsverfahren so verschieden sind, dass z.B. der Deckungsbeitrag nicht in jedem Tabellenblatt in der Zelle H98 steht.
Im Gesamt-Deckungsbeitrag wird dann der Deckungsbeitrag folgendermaßen referenziert:

Code: Alles auswählen

=INDIREKT($C12&"!DB")
In der Spalte C steht der Name des Tabbellenblattes, der das Produktionsverfahren enthält, z.B. DB_MF1.
Auch mit dem Punkt als Trennzeichen funktioniert die Formel in LO 3.5.7.2 nicht, es wird bloß #REF! angezeigt; ebenso in Version 4.2.4.2. Ich setze LO in Ubuntu 12.04 bzw. 14.04 64bit ein.

Wie muss ich die Formel verändern, damit es in LibreOffice funktioniert?

Vielen Dank!

Hinweis: Crosspost, Frage auch hier gestellt: http://www.libreoffice-forum.de/viewtop ... 221#p32221
Ich werde hier die Lösung bekanntgeben, sollte sich dort eine finden.

Die Originaldatei kann ich auf Grund ihrer Größe hier leider nicht hochladen, sie findet sich ebenfalls dort.
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Zugriff auf Namen mit nicht globalem Geltungsbereich

Beitrag von clag »

Moin JK,
JK hat geschrieben:Wie muss ich die Formel verändern, damit es in LibreOffice funktioniert?
du beantwortest dir die Frage doch schon fast selbst.
JK hat geschrieben:wurden in der Original-Datei lokal gültige Namen definiert,
1. wie kommst du darauf das die dann global ansprechbar sind?

2. wenn du dir die Adressierung eines solchen benannten Bereich in LO anschaust, wirst du feststellen,
der Tabellenname ist immer Bestandteil der Adresse, lokal gültig oder nicht.
Was du da formeltechnisch betrachtet vor hast, kann also in LO nicht funktionieren.

Verwende global gültige Namen zB.
BD_Tab1
DB_Kuh
DB_Stall
DB_Trecker

oder wie auch immer
Diese kannst du dann falls gewünscht auch aus einer Namensliste und mit INDIREKT() generieren

=SUMME(INDIREKT("DB_"&H14)

wenn H12:H15 die Liste enthält
Tab1
Kuh
Stall
Trecker

hilft dir die Info?
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Antworten