[SOLVED] - Automatisches Füllen einer Data Range
Moderator: Moderatoren
[SOLVED] - Automatisches Füllen einer Data Range
Ich habe eine Tabellenkalkulation mit 58 sheets, wovon die ersten 50 Info enthalten, die in den letzten 8 schön gesammelt werden soll.
Ich möchte, dass ich auf sheet Nummer 51 zum Beispiel in Spalte A eine Auflistung des Feldes A12 sämtlicher sheets habe. Also gebe ich =sheet1.A12 in A1 und =sheet2.A12 in A2 ein und versuche dann die Spalte bis =sheet50.A12 füllen.
Aber irgendwie krieg ich das nicht hin. Habe bereits google und das Hilfesystem bemüht, komme aber auf keinen grünen Zweig - kann natürlich auch daran liegen, dass ich nicht das Richtige suche...
Das Ganze manuell zu machen würde bedeuten, über 3000 Felder einzugeben - allein die Fehlerquote macht mir dabei Angst, an das Debuggen will ich gar nicht erst denken...
Wenn jemand mir also weiterhelfen oder zumindest in die richtige Richtung schubsen könnte, wäre ich mehr als dankbar!
EDIT: habe das Ganze noch einmal gelesen und hoffe, dass es jetzt verständlich ist
Ich möchte, dass ich auf sheet Nummer 51 zum Beispiel in Spalte A eine Auflistung des Feldes A12 sämtlicher sheets habe. Also gebe ich =sheet1.A12 in A1 und =sheet2.A12 in A2 ein und versuche dann die Spalte bis =sheet50.A12 füllen.
Aber irgendwie krieg ich das nicht hin. Habe bereits google und das Hilfesystem bemüht, komme aber auf keinen grünen Zweig - kann natürlich auch daran liegen, dass ich nicht das Richtige suche...
Das Ganze manuell zu machen würde bedeuten, über 3000 Felder einzugeben - allein die Fehlerquote macht mir dabei Angst, an das Debuggen will ich gar nicht erst denken...
Wenn jemand mir also weiterhelfen oder zumindest in die richtige Richtung schubsen könnte, wäre ich mehr als dankbar!
EDIT: habe das Ganze noch einmal gelesen und hoffe, dass es jetzt verständlich ist
Zuletzt geändert von toad am Mi, 22.08.2012 22:31, insgesamt 2-mal geändert.
Re: Automatisches Füllen einer Data Range
Da deine Frage unverständlich ist, kann man Dir nicht helfen.
ersten 50 wovon?
letzten 8?
Ja, verdammt nochmal, womit denn?
Keine vernünftige Frage, keine Antwort!
R
58 was?toad hat geschrieben:Ich habe eine Tabellenkalkulation mit 58, wovon die ersten 50 Info enthalten, die in den letzten 8 schön gesammelt werden soll.
ersten 50 wovon?
letzten 8?
data range bis =sheet50.A12 füllentoad hat geschrieben:sheet Nummer 51 zum Beispiel =sheet2.A12 in A1 und =sheet3.A12 in A2 eingebe und dann die data range bis =sheet50.A12 füllen
Ja, verdammt nochmal, womit denn?
Keine vernünftige Frage, keine Antwort!
R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Automatisches Füllen einer Data Range
Hm, war wohl sehr müde. Danke für den Hinweis und ich hoffe, dass es jetzt verständlicher ist!
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Automatisches Füllen einer Data Range
Moderation,4: Crossposting ohne Referenz ist unhöflich!
http://user.services.openoffice.org/en/ ... =9&t=55724
http://user.services.openoffice.org/en/ ... =9&t=55724
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Automatisches Füllen einer Data Range
Ja, hab ich getan. Dachte, andere Sprache, anderes Forum, andere Leser. Kämpfe gerade mit paljass' Vorschlag, hab ihn aber noch nicht zum Laufen gebracht - ergo: muss mehr lesen...komma4 hat geschrieben:Moderation,4: Crossposting ohne Referenz ist unhöflich!
http://user.services.openoffice.org/en/ ... =9&t=55724
Sieht Hagar Delest anscheinend auch so, fahr also weiterhin vorerst zweigleisig.
Re: Automatisches Füllen einer Data Range
Vielen Dank, paljass. Habe das hier gefunden, um einen Einblick in die Indirect Funktion zu erhalten http://www.openofficetips.com/blog/arch ... uncti.htmlpaljass hat geschrieben:Hi,
probier malDas Ganze ist nach unten Kopierbar.Code: Alles auswählen
=INDIREKT("Sheet"&ZEILE()&".A12")
Gruß
paljass
Leider aber verstehe ich die Syntax noch nicht. Wenn du sagst =INDIREKT("Sheet"&ZEILE()&".A12"), dann tue ich das in B2 von sheet58, aber wie holt sich das dann den Wert von sheet1.A12? Im Augenblick spuckt es #Name? aus...
Re: Automatisches Füllen einer Data Range
Die Namen deiner Arbeitsblätter bestehen aus dem fixen Teil »sheet« gefolgt von einer »laufenden Nummer«. Für die »laufende Nummer« hat paljass die Calc-Funktion ZEILE() verwendet, die den Wert der aktuellen Zeile annimmt. Die beiden Komponenten werden mit dem Operator »&« verkettet ("konkateniert").toad hat geschrieben:Leider aber verstehe ich die Syntax noch nicht.
"sheet" & ZEILE() ergibt also in Zeile 1 eines Blattes den Wert "sheet1", in Zeile 2 "sheet2", usw.
Der so zusammengefügte Name des Arbeitsblattes wird noch mit dem Namen der Zelle "A12" zur der in einer Datei eindeutigen Adresse der Zelle verkettet. Schließlich ermittelt die Funktion INDIREKT("sheet" & ZEILE() & ".A12") den Wert der auf diese Weise eindeutig adressierten Zelle.
Wenn du diese Funktion in die Zelle B2 eines Arbeitsblattes der Datei eintragen, aber sheet1.A12 auslesen möchtest, musst du noch korrigieren:
- =INDIREKT("sheet" & (ZEILE()-1) & ".A12")
btw:
- Groß-/Kleinschreibung des Blattnamens ist – anders als im AOO Community Forum behauptet angedeutet – völlig irrelevant.
- Sofern du mit einem englischsprachigen Calc arbeitest, benutzte die angepasste Formel
- =INDIRECT("sheet" & (ROW()-1) & ".A12")
lorbass
Re: Automatisches Füllen einer Data Range
Wow, vielen Dank, lorbass. War weg am WE, deshalb die späte Antwort. Beste Erklärung, über die ich bisher gestolpert bin! Jetzt fängt alles an, zumindest ein wenig Sinn zu machen.
Habe jetzt erst mal sheet2-50 gelöscht, so dass ich nur noch sheet1 (mit Daten) und Transport (Sammelsheet) habe.
Wenn ich jetzt in Transport.A4eingebe, kriege ich immer noch #NAME?
Soll wohl heißen, dass er immer noch nicht auf sheet1.A10 zurückgreift.
Auf jeden Fall vielen Dank die Unterstützung. Ich werde die Lösung, sobald ich sie denn habe, auch im englischen Forum samt Erklärung posten.
Habe jetzt erst mal sheet2-50 gelöscht, so dass ich nur noch sheet1 (mit Daten) und Transport (Sammelsheet) habe.
Wenn ich jetzt in Transport.A4
Code: Alles auswählen
=indirekt("sheet"&ROW()&".A10")
Soll wohl heißen, dass er immer noch nicht auf sheet1.A10 zurückgreift.
Das verstehe ich noch immer nicht - wie wird der Zeilenteil dieser Funktion definiert? Fängt der nicht automatisch bei 1 an oder ist der irgendwie relativ?lorbass hat geschrieben:Wenn du diese Funktion in die Zelle B2 eines Arbeitsblattes der Datei eintragen, aber sheet1.A12 auslesen möchtest, musst du noch korrigieren:
- =INDIREKT("sheet" & (ZEILE()-1) & ".A12")
Auf jeden Fall vielen Dank die Unterstützung. Ich werde die Lösung, sobald ich sie denn habe, auch im englischen Forum samt Erklärung posten.
Re: Automatisches Füllen einer Data Range
Ja klar, weil du einen bunten Sprachenmix pflegst.toad hat geschrieben:kriege ich immer noch #NAME?
Wenn du also durchgängig die englischen Namen verwendest, also INDIRECT statt INDIREKT schreibst, sollte dieses Problem behoben sein.lorbass hat geschrieben:
- Sofern du mit einem englischsprachigen Calc arbeitest, benutzte die angepasste Formel
- =INDIRECT("sheet" & (ROW()-1) & ".A12")
Gruß
lorbass
Re: Automatisches Füllen einer Data Range
Ähem, sehr peinlich, aber Recht hast Du! Der folgende Code passt:lorbass hat geschrieben:Ja klar, weil du einen bunten Sprachenmix pflegst.
Code: Alles auswählen
=INDIRECT("sheet"&(ROW()-3)&".A10")

Re: Automatisches Füllen einer Data Range
So, das funktioniert einwandrei!
Leider kann ich mir das -3 noch immer nicht genau erklären und deswegen auch nicht weiter schreiben, was ich gemacht habe, aber nachdem ich die übrigen 49 Tabellen hinzugefügt hatte, konnte ich in den Sammeltabellen einfach =INDIRECT("sheet"&(ROW()-3)&".A10") eingeben, die Zelle nach Bedarf ändern und dann runterziehen. Grenzt an ein Wunder
Vielen, vielen Dank an alle, fantastische Community.
Leider kann ich mir das -3 noch immer nicht genau erklären und deswegen auch nicht weiter schreiben, was ich gemacht habe, aber nachdem ich die übrigen 49 Tabellen hinzugefügt hatte, konnte ich in den Sammeltabellen einfach =INDIRECT("sheet"&(ROW()-3)&".A10") eingeben, die Zelle nach Bedarf ändern und dann runterziehen. Grenzt an ein Wunder

Vielen, vielen Dank an alle, fantastische Community.
Re: Automatisches Füllen einer Data Range
Ich versuche es maltoad hat geschrieben:Leider kann ich mir das -3 noch immer nicht genau erklären
=INDIRECT("sheet"&(ROW()-3)&".A10")
1.) ROW()
Der Befehl ROW() gibt die Zeile der Zelle an, in die du gerade die Formel hineinschreibst, sagen wir Zelle A4-> Zeile 4
d.h, das Formelergebnis der Formel =ROW() in der Zelle A4 ist die Zahl 4
2.) Gänsefüßchen oben "sheet"
Durch umschließen mit den Gänsefüßchen erkennt das Programm das es sich um einen Text handelt und nicht um eine Zahl oder Formel.
3.) &
Dieses Zeichen ist das Verknüpfungszeichen z.B =(2*8)&" Stück" ergibt den Text 16 Stück
4.) Indirekt
Erzeugt aus einem Text eine Formel
So also haben wir in Zelle A4
1.) ROW()-3 = 4-3 = 1
2.) "sheet"&1&".A10" = sheet1.A10
3.) aus =INDIRECT("sheet"&(ROW()-3)&".A10") wird also =INDIREKT (sheet1.A10) ergibt also den Zellbezug zur Zelle A10 auf sheet 1
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO