Archiv des LibreOffice- und OpenOffice.org-Wiki

[ÜberSicht] [TitelIndex] [WortIndex] [SeiteFinden

(./) OOo2

OpenOffice.org Calc und Microsoft® Excel® verwenden zum Teil unterschiedliche Formeln und Tabellen-Adressierungen.

Inhaltsverzeichnis

  1. Adressierungen

1. Adressierungen

OpenOffice.org und Excel® verwenden unterschiedliche Tabellen-Adressierungen. Bezieht man sich in OpenOffice.org auf eine Zelle, die in einem anderen Tabellenblatt liegt, so lautet die Schreibweise:

=Tabellenname.A1

während man in Excel® diese Schreibweise benötigt:

=Tabellenname!A1

OpenOffice.org kennt dieses Kompatibilitätsproblem - wodurch es normalerweise keines ist – und wandelt das Ausrufezeichen in einen Punkt, wenn man eine Excel-Tabelle öffnet, bzw. geht umgekehrt vor, wenn man eine Calc-Tabelle im Excel-Format speichert.

Probleme gibt es aber, wenn man Zellen indirekt adressiert. In Excel® müsste man schreiben:

=INDIREKT("Tabellenname!A1")

In OpenOffice.org müsste stehen:

=INDIREKT("Tabellenname.A1")

Wenn man einmalig eine Excel-Tabelle in OpenOffice.org öffnet, sie im OpenDocument-Format speichert und in OpenOffice.org weiterbearbeitet, so kann man mit Hilfe von SuchenUndErsetzen den Fehler beheben.

Wenn man jedoch im Excel-Format bleiben muss und die Datei immer wieder auch von Excel-Anwendern geöffnet und bearbeitet wird, ist das mit dem SuchenUndErsetzen nicht sehr komfortabel.

Der Ausweg:
Man lässt das jeweilige Programm beim Öffnen ermitteln, welches Trennzeichen in der aktuellen Umgebung benutzt werden muss.

Beide Programme kennen die Funktion ADRESSE(), mit der man die vollständige Adresse einer Zelle ermittelt:

=ADRESSE(1;1;1;"Tabellenname")

liefert in Excel:

Tabellenname!$A$1

und in OpenOffice.org:

Tabellenname.$A$1

Dabei spielt es keine Rolle, ob es in dem Dokument wirklich eine Tabelle mit dem Namen Tabellenname gibt.

Und nun kann man mit der Funktion TEIL() das Trennzeichen ermitteln:

TEIL(ADRESSE(1;1;1;"Tabellenname");13;1)

Es gibt verschiedene Wege, wie man dieses Ergebnis nun in die Formel einbaut. Die lange Version könnte so aussehen:

=INDIREKT("Tabellenname"&TEIL(ADRESSE(1;1;1;"Tabellenname");13;1)&"A1")

Man kann die Formel TEIL(ADRESSE(1;1;1;"Tabellenname");13;1) aber auch mit einem Namen hinterlegen, auch hier sind die Programme kompatibel.

Wenn man beispielsweise über Einfügen → Namen → festlegen den Namen:

TZ

erfasst und ihm den Wert zuweist:

TEIL(ADRESSE(1;1;1;"Tabellenname");13;1)

so kann die Formel so geschrieben werden:

=INDIREKT("Tabellenname"&TZ&"A1")

Nun kann die Tabelle abwechselnd mit Excel® oder OpenOffice.org bearbeitet werden und liefert immer die richtigen Ergebnisse (zumindest, was die Zellbezüge betrifft ;) ).

(!) Diese Namen-Definition kann auch in einer Dokumentvorlage oder sogar in der Standard-Dokumentvorlage hinterlegt werden.


Praxis-beispiel:

Innerhalb einer Formel verwendet man:

=...INDIREKT("Tabelle2.A4:F9999")...

Excelkompatibel wird das mit:

=...INDIREKT(ADRESSE(4;1;1;1;"Tabelle2")&":F9999")...


KategorieCalc KategorieTipps


LizenzBedingungen | AnbieterKennzeichnung | DatenschutzErklärung | Stand: 2013-04-28