Am 12.01.2013 00:26, schrieb Sebastian:
ich brauche mal einen Ansatz wie ich einen Bereich auswählen kann welcher
Relativ zu einer Übereinstimmung einer Anderen Zelle liegt und daraus in
Übereinstimmung zu einer Anderen Zelle den Inhalt einer Zelle übernehmen.
Also ich habe ein Tabellenblatt mit Nahmen und einem Bereich darunter mit nach
Monaten geordneten Zahlen.
Hmm; meinst Du so was?
A B C D
1 Anton Berta Cäsar
2 Jan 1 2 3
3 Feb 4 5 6
4 Mar 7 8 9
Jetzt will ich aus einem Anderem Tabellenblatt eine Zahl aus diesem
Tabellenblatt je Name und Monat auswählen.
Tabelle 2 Zelle F12 soll Je nach Name in F11 und Monat in F5 aus Tabelle 1
Denn Bereich A1:AA27 wählen
Was meinst Du mit 'Tabelle2.F12 soll einen Bereich(!) wählen'? In eine
Tabellenzelle passt immer nur ein *Wert*, kein *Bereich*.
wenn Tabelle1.A1 = Tabelle2.F11 oder eben
A31:AA57 wenn Tabelle1.A30 = Tabelle2.F11 und so fort bis
A571:AA597 wenn Tabelle1.A5710 = Tabelle2.F11
Also wenn in Tabelle2.F11 z. B. 'März 2010' steht, sollen die Zeilen
'März 2010 - Mai 2012' o. ä. gewählt werden ...
Aus diesem Bereich dann
Tabelle1.E3 wenn Tabelle1.E2 = Tabelle2.F5 oder eben
Tabelle1.G3 wenn Tabelle1.G2 = Tabelle2.F5 und so fort bis
Tabelle1.AA3 wenn Tabelle1.AA2 = Tabelle2.F5
... und entsprechend wenn in Tabelle2.F5 z. B. 'Berta' steht, dann
sollen die Spalten 'Berta - Quasimodo' abgebildet werden.
Mit anderen Worten, Du willst einen bestimmten (zweidimensionalen)
Ausschnitt aus der Tabelle1 in einen Bereich von Tabelle2 abbilden, z.
B. Tabelle1.B12:G19 nach Tabelle2.F2:K9.
Da Du mehrere Zellen darstellen willst, würde ich mit einer versteckten
Spalte bzw. Zeile und VERSCHIEBEN arbeiten, das spart jede Menge
Rechenzeit gegenüber der Variante, daß Du in jeder Zelle die Quelle
separat berechnest.
Angenommen Dein Quellbereich sei (ohne Überschriften) Tabele1.B2:AA600,
und Dein Zielbereich sei Tabelle2.I3:L12. Die Auswahlkriterien stehen in
Tabelle2.F5 (Spalte) und Tabelle2.F11 (Zeile).
Dann würde ich es mir erst mal bequem machen, und für F5 und F11 eine
Gültigkeit definieren:
F5: Daten => Gültigkeit => Kriterien => Zulassen: 'Zellbereich' =>
Quelle: '$Tabelle1.$B$1:$AA$1'
F11: ... '$Tabelle1.$A$2:$A$600'
Als nächstes würde ich die Überschriften in Tabelle2.I1:L1 bzw.
Tabelle2.G3:G12 erzeugen. Dabei enthalten die Zeile 2 bzw. die Spalte H
Hilfszellen und werden später komplett ausgeblendet. Zuerst die
Spaltenüberschriften: Der Inhalt von I1 ist noch einfach:
I1: =F5
Für den Rest benötigt man besagte Hilfszellen. Dazu muss man zuerst mal
ermitteln, welche Spaltennummer denn der in I1 angezeigte Wert hat. Dazu
kommt folgende Formel in I2:
I2: =VERGLEICH(F5;Tabelle1.B1:AA1;0)
liefert den Index des Wertes in F5 innerhalb der Liste Tabelle1.B1:AA1,
also der Spaltenüberschriften. Der letzte Parameter bewirkt, daß die
Liste als unsortiert interpretiert wird. Andernfalls könnte die Suche
unter bestimmten Umständen vorzeitig abgebrochen und ein falsches
Ergebnis zurück geliefert werden.
Die Spaltennummern der weiteren Spalten ergeben sich dann sehr simpel:
I3: =I2+1
I4: =I3+1
I5: =I4+1
: :
Nun kann man mit Hilfe dieser Spaltennummern in den Hilfszellen sehr
einfach auf die Spaltenüberschriften kommen:
J1: =VERSCHIEBUNG($Tabelle1.$A$1;0;J$2)
K1: =VERSCHIEBUNG($Tabelle1.$A$1;0;K$2)
L1: =VERSCHIEBUNG($Tabelle1.$A$1;0;L$2)
: :
D. h. 'gehe von dem Ausgangspunkt (hier $Tabelle1.$A$1) 0 Schritte nach
unten und J$2 (K$2, ...) Schritte nach rechts, und liefere den Inhalt
dieser Zelle zurück'.
In gleicher Weise verfährt man dann auch mit den Zeilenüberschriften:
G3: =F11
G4: =VERSCHIEBUNG($Tabelle1.$A$1;$H4;0)
G5: =VERSCHIEBUNG($Tabelle1.$A$1;$H5;0)
G6: =VERSCHIEBUNG($Tabelle1.$A$1;$H6;0)
: :
H3: =VERGLEICH(F11;Tabelle1.A2:A600;0)
H4: =H3+1
H5: =H5+1
H6: =H6+1
: :
Und, Du ahnst es schon, genau so füllt man dann auch die eigentlichen
Datenzellen aus:
I3: =VERSCHIEBUNG($Tabelle1.$A$1;$H3;I$2)
I4: =VERSCHIEBUNG($Tabelle1.$A$1;$H4;I$2)
: :
Wenn vorher ein Anderer Bereich gewählt wurde natürlich entsprechend.
Ich dachte an irgendetwas wie suche in Tabelle1 X; nimm dann den Bereich
Relativ - a Zeilen bis +b Zeilen und -c Spalten bis + d Spalten zur
Übereinstimmung.
Und wie und wo möchtest Du das zwischenspeichern?
Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt und Ihr könnt mir
zumindest die möglichen Funktionen nennen um soetwas umzusetzen.
Das ganze könnte ich zwar auch statisch umsetzen doch müsste ich dann 4*12*20
Felder jeweils separat verknüpfen. Da ja die Bezüge zueinander immer wieder
gleich sind könnte ich es mir eventuell etwas vereinfachen. Leider sind die
Bezüge nicht so gleich und das Bekomme ich auch nicht hin das durch kopieren
die Veränderung automatisch mitgemacht wird.
Wenn Du im Editiermodus bist, und den Inhalt einer Zelle markierst und
in eine andere kopierst, dann wird dieser Inhalt auch genau so 'as is'
übernommen.
Wenn Du aber die *ganze* Zelle kopierst, also *nicht* aus dem
Editiermodus heraus, werden darin vorkommenden relativen Bezüge (für
absolute Bezüge s. u.) entsprechend angepasst. Du kannst dabei ggf. noch
über 'Bearbeiten => Inhalte Einfügen' (oder einfach nur EINFG)
bestimmen, ob alles oder nur bestimmte Teile der Zelle, z. B. nur
Formeln, aber keine Formate o. ä., kopiert werden sollen.
Wenn einem Spaltenbuchstaben und/oder einer Zeilennummer ein '$'
vorangeht (z. B. '$A1', 'B$2', '$C$3'), dann handelt es sich bei der
Spalte/Zeile/beidem nicht um einen *relativen* sondern um einen
*absoluten* Bezug, der dann entsprechend auch nicht angepasst wird (also
aus '$A1' kann nur '$A2', '$A3' usw. werden, aus 'B$2' nur 'C$2', 'D$3'
usw.).
Und der Vollständigkeit halber: Wenn Du eine Zelle nicht kopierst
sondern /verschiebst/, dann wird logischerweise /auch/ nix angepasst.
Wolf 'ich weiß, irgendwo in der OOO-Wiki auf http://www.ooowiki.de/
findet sich so was ähnliches sicherlich auch schon als schöne und
bebilderte Anleitung, aber bevor ich /da/ jetzt erst lang das Suchen
anfange ... :-/' gang
--
--
Informationen zum Abmelden: E-Mail an users+help@de.libreoffice.org
Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.