Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1092to1096
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Verknüpfung von Exceltabellen

Verknüpfung von Exceltabellen
Exceltabellen
Hallo,
ich habe zwei Mappen und ich möchte, dass bestimmte spalten aus mappe 1 in mappe 2 automatisch kopiert werden.
Mappe 1 ist in wirklichkeit eine output-datei, in der ne ganze menge rassel steht, unter anderem aber auch matrizen, die mich interessieren. Über jeder Matrix ist eine Kopfzeile mit Datum und Paramter deklariert, die z.b. so aussieht:

A      B              C            D              E    F        G      H       I                _
J                   K                 L       M
April  22,	        2003	Julian	day	=	112	days	14.49	hours	Temperature	[T1],	C

Die zugehörige Matrix ist darunter geschrieben. Die Matrix sieht z.B. so aus:

A          B           C               D            E               F              G
Depth     2           3             4              5               6             7
0.43	  11.808	11.685	11.523	11.39	11.253	11.109
1.37	  11.618	11.233	10.97	10.796	10.589	10.383
2.37	  11.288	10.804	10.521	10.342	10.153	9.963
3.37	  10.596	10.305	10.112	9.936	9.768	9.613
4.37	  9.486	9.552	9.432	9.222	9.078	8.985
5.37	  7.554	7.746	7.826	7.851	7.872	7.878
6.37	  6.804	6.816	6.91  	6.954	6.915	6.778
7.37	  6.388	6.317	6.31 	6.25	        6.088	5.853
8.37	  6.077	5.947	5.803	5.619	5.403	5.181
9.37	  5.71	5.578	5.368	5.13	        4.91	        4.728
Die nr. 2 bis 7 bzw. die Spalte B bis G bleiben immer gleich (so ist z.b. auch der Julianday immer in Spalte G), nur die Zeilen-Anordnung der Matrizen ändert sich je nachdem, was ich mir in der output ausgeben lasse.
Ich brauche einen Befehl bzw. eine verschachtelte Anweisung, die es ermöglicht, dass ich festlege, dass er nach der Kopfzeile sucht, in der ein bestimmtes Datum/Julianday und der Paramter "Temperature" (es gibt nämlich auch matrizen mit "dissolved oxygen") steht und mir aus der zugehörigen Matrix die Spalte A mit der Tiefe und z.b. die Spalte E (nr. 5) in die mappe 2 kopiert.
Da ich kein VBA kann, möchte ich das gerne nur mit excel machen, wenn das möglich ist. Ich hab dabei an die befehle suchen oder sverweis gedacht. Bekomm's aber nicht hin.
Hat jemand ne idee?
Michi
AW: Verknüpfung von Exceltabellen
03.08.2009 15:09:59
Exceltabellen
Hallo Michi,
das dein Beitrag nicht dein Original-Layout wiederspiegelt hast du sicher schon selbst gesehen.
Bitte lade doch eine Beispiel-Excel-Datei hoch, mit der man arbeiten kann.
Gruß
David
AW: Verknüpfung von Exceltabellen
03.08.2009 15:20:26
Exceltabellen
Hi David,
ja, du hast natürlich recht. ich wollte ja eigentlich auch so eine schöne excel-tabelle einfügen, wie ichs hier schon öfter gesehen habe - ich weiß nur nicht wie.
https://www.herber.de/bbs/user/63598.xls
in dieser ist nur ein kleiner ausschnitt der output-datei angezeigt.
Ich hoffe, das hilft weiter.
Anzeige
AW: Verknüpfung von Exceltabellen
03.08.2009 15:49:55
Exceltabellen
Hallo Michi,
die erste Zeile der gesuchten Matrix kannst du so ermitteln:
Tabelle1
 AB
109.05.200366

verwendete Formeln
Zelle Formel
B1 =SUMMENPRODUKT(--(H1 :H83=A1-DATUM(JAHR(A1);1;1)+1);--(D1 :D83=JAHR(A1));ZEILE(1 :83))

Tabellendarstellung in Foren Version 4.3


Anschließend kannst du mit der Formel
=BEREICH.VERSCHIEBEN(B1;B1+1;;16;13)
die komplette Matrix definieren, um sie zum Beispiel in einem Sverweis zu verwenden.
Zusammengefaßt also:
Tabelle1
 E
16,123

verwendete Formeln
Zelle Formel
E1 =SVERWEIS(10;BEREICH.VERSCHIEBEN(B1;SUMMENPRODUKT(--(H1 :H83=A1-DATUM(JAHR(A1);1;1)+1);--(D1 :D83=JAHR(A1));ZEILE(1 :83))+1;;16;13);11;0)

Tabellendarstellung in Foren Version 4.3


hier wird als Beispiel (!) in der Matrix vom 9.Mai per SVERWEIS der Wert aus der Zeile 10 und der Spalte 10 geholt.
Nach diesem Schema kannst du dann deine Auswertung aufbauen.
Gruß
David
Anzeige
AW: Verknüpfung von Exceltabellen
03.08.2009 18:02:07
Exceltabellen
Hallo David,
leider konnte ich deine .xla nicht öffnen (Laufzeitfehler, wahrscheinlich bin ich aber auch zu blöd dafür - hab vorher nie was mit add ins zu tun gehabt). Und mit dem Summenprodukt komme ich auch nicht so richtig klar.
Würde hier einfachhalber nur den Tag x suchen lassen (Julianday), zumal das Datum ja nicht vollständig in einer Zeile steht, sondern jedes Glied (Tag, Monat, Jahr) in einer extra Zeile.
Trotzdem hast du mir schon sehr weiter geholfen. Ich finde das mit dem Bereich.verschieben super.
Ich würde es allerdings mit einer Wenn-Anweisung verknüpfen. D. h. wenn er in spalte H den Tag 122 findet, dann soll er mir mir den Wert ausgeben, der 3 zeilen und eine spalte weiter steht. Das ist dann mein erster Wert der Spalte, die haben möchte.
=WENN(SVERWEIS(112;[mappe1.xls]Tabelle1!$H$1:$H$250 1;0); BEREICH.VERSCHIEBEN([mappe1.xls]Tabelle1!$H$2;3;1;;);0)
Aber ich habe immer noch das Problem, dass mir bei der Anweisung "Bereich.verschieben" der Bezug fehlt , denn ich lasse ja den Wert zuvor in einer Matrix suchen und weiß deshalb nicht, wo er steht. Kann man das noch irgendwie umgehen?
Grüße
Michi
Anzeige
AW: Verknüpfung von Exceltabellen
04.08.2009 08:32:12
Exceltabellen
Hallo Michi,
das Addin hat mit meiner Lösung nix zu tun, das ist nur für die Darstellung der Formeln zuständig (der Link wird automatisch eingetragen).
Ich habe auch nach dem Tag gesucht, da das Datum durch die Formatierung nicht verwendbar ist. Einzig das Jahr habe ich zusätzlich noch mit ausgewertet. Wenn das immer gleich ist, könnte man das auch weglassen.
Wenn du mit Summenprodukt nicht klar kommst, hast du als Alternative noch Matrix-Formeln - ich bezweifele aber, dass diese leichter zu verstehen sind. Eine andere Möglichkeit, dein Problem zu lösen, gibt es per Formel nicht.
Da du nicht geschrieben hast, WAS du denn in der entsprechenden Matrix suchst, konnte ich diesbezüglich auch nichts konkretes in die Formel einbauen. Dein Problem verstehe ich nicht. Wenn du die Matrix eindeutig identifiziert und referenziert hast (über Bereich.Verschieben), dann lässt sich darin so ziemlich alles finden.
Vielleicht solltest du deine Beispieltabelle noch derart erweitern, dass du die gesuchte Auswertung mit zeigst, auch wenn dort die Werte zunächst nur manuell eingetragen sind. Also nicht nur die Outputdatei, sondern auch deine(n) Suchbegriff(e) und das gewünschte Ergebnis.
Gehe bitte immer davon aus, dass mir deine Dateien völlig fremd sind und ich keine Ahnung habe, was du damit bezweckst.
Gruß
David
Anzeige
AW: Verknüpfung von Exceltabellen
04.08.2009 09:32:21
Exceltabellen
Hi David,
ich weiß, dass es für einen Außenstehenden sicherlich schwierig ist, das Problem zu verstehen. Es ist allerdings auch schwierig, es verständlich zu erklären ;o).
Du musst dir die Outputdatei so vorstellen, dass dort (z.B.) aller 100 Zeilen eine Matrix steht, die mich interesssiert (dazwischen steht noch ne ganze menge rassel, der irrelevant ist). Die Ausgabe in der Output (mappe1) kann ich vorher in meinem Modell definieren, d.h. ich sage ihm, welche Tagen (Julianday) der Modellrechnung er mir ausgeben soll. Für diese Tage habe ich reelle Messwerte (Temperaturtiefenprofile) und möchte natürlich wissen, ob mein Modell richtig rechnet und vergleiche deshalb gemessen mit berechnet in meiner auswertetabelle (mappe2). Das Jahr ist übrigens sehr wichtig, da ich hier über 5 Jahre gerechnet habe, ich würde aber trotzdem den Julianday nehmen (Julianday 1 = 01.01.2003 = Modellstart). Der Julianday steht bei mir immer in einer spalte (hier: H). Wenn ich nun meine Messwerte für den Tag x mit dem Modellergebniss vergleichen möchte, suche ich über den sverweis in der Spalte H nach dem Julianday x. Aus der darunterstehenden Matrix könnte ich mir dann theoretisch aus Spalte B die Tiefenangabe und aus Spalte E die Temperatur in dieser Tiefe ausgeben lassen. Das kann ich ja über die Anweisung Bereich.verschieben sehr gut machen. Aber dazu brauch ich ja den Bezug (bei dir war das B1).
=SVERWEIS(10;BEREICH.VERSCHIEBEN(B1;SUMMENPRODUKT(--(H1 :H83=A1-DATUM(JAHR(A1);1;1)+1); --(D1 :D83=JAHR(A1));ZEILE(1 :83))+1;;16;13);11;0)
Aber genau dieses lasse ich doch vorher erst suchen (bei mir wäre das Hx). Ich versteh nicht, wie ich den Bezug definieren soll, wenn ich Ihn ja noch gar nicht kenne. Verstehst du, was ich meine? Oder habe ich da was falsch verstanden?
Grüße
Michi
Anzeige
AW: Verknüpfung von Exceltabellen
04.08.2009 13:21:53
Exceltabellen
Hallo Michi,
ich vermute, du hast meinen Lösungsansatz noch nicht ganz verstanden.
Mit Bereich.Verschieben definierst du nicht nur einen bestimmten Punkt, sondern die ganze Matrix - und das VARIABEL!
D.h. wenn du Tag 112 suchst, wird die Matrix B4:N19 verwendet, suchst du Tag 129, liefert die gleiche Formel die Matrix B68:N83.
Wenn es so ist, dass der Tag EINDEUTIG ist und man die anderen Datumsangaben nicht braucht, kann man das auch noch stark verkürzen.
Angenommen, du hast den Tag, den Layer und die Tiefe gegeben, dann erhälst du so deine Temperatur:
Tabelle1
 PQ
1Julianday112
2Layer5
3Depth6
4   
5Temperature10,153

verwendete Formeln
Zelle Formel
Q5 =INDEX(BEREICH.VERSCHIEBEN($B$1;VERGLEICH(Q1;H1 :H83;0)+1;;16;13);Q2-1;Q3+1)

Tabellendarstellung in Foren Version 4.3


(auf deine Beispieltabelle bezogen)
Ich hoffe, du hast jetzt das Prinzip verstanden.
Gruß
David
Anzeige
AW: Verknüpfung von Exceltabellen
04.08.2009 16:06:58
Exceltabellen
Hi David,
habs nun endlich geschnallt. Funktioniert!!! Vielen Dank dir, vorallem für deine Ausdauer ;o)
Grüße,
Michi
AW: Verknüpfung von Exceltabellen
04.08.2009 16:14:55
Exceltabellen
Hallo Michi,
gern geschehen. Danke für die Rückmeldung.
Solange der Fragende mit seinen Umgangsformen im Rahmen bleibt, ist das mit der Geduld und Ausdauer kein Problem.
Leider realisieren nicht alle hier, dass alle Antworten freiwillig sind und meist in der Freizeit erstellt/erarbeitet werden. Kann man in diversen anderen Threads schön nachlesen... :-(
Gruß
David
Tabellendarstellung in Foren
04.08.2009 18:07:44
Beverly
Hi David,
du verwendest eine Version des Tools, bei der beim Auslesen der Tabellen fälschlicherweise ein Leerzeichen vor dem Doppelpunkt bei Zellbereichen eingefügt wird, weshalb das Zurückschreiben teilweise einen Fehler auslöst. Diesen Fehler hatte ich bereits in der Folgeversion korrigiert.
Derzeit ist übrigens schon Version 4.10 aktuell.


Anzeige
AW: Tabellendarstellung in Foren
05.08.2009 07:48:25
David
Hallo Beverly,
laut Addin verwendet ich Version 4.30 ?! Und nein, ich habe keine Zeitmaschine. ;-)
Userbild
Gruß
David
AW: Tabellendarstellung in Foren
05.08.2009 11:19:55
Beverly
Hi David,
da steht 4.3 und nicht 4.30. Und nach Adam Ries kommt die 10 nach der 3, oder irre ich mich da? ;-)).
Änderungshinweis auf meiner HP: 09. 27.07.09 HTML-Code für Formeldarstellung korrigiert


AW: Tabellendarstellung in Foren
05.08.2009 12:52:03
David
Hallo Beverly,
das ist aber sehr mis(t)verständlich! ;-)
Ich bin von "Dezimalschreibweise" ausgegangen. Um es so zu interpretieren, wie du es schreibst, wäre dann wohl Version 4.03 treffender gewesen.
Solange das Addin das tut, was ich möchte und ich keinen Fehler feststelle, habe ich normalerweise keinen Bedarf für ein Update. Auf die 4er Version habe ich auch erst vor kurzem nach einem Hinweis von Hajo umgestellt, davor hatte ich noch Version 1.xxx, die eigentlich noch gereicht hatte.
DAnke und Gruß
David
Anzeige
AW: Tabellendarstellung in Foren
05.08.2009 13:36:16
Beverly
Hi David,
da ich deutsche Excel-Versionen verwende, bin ich nicht auf die Idee gekommen, 4.3 könne in "Dezimalschreibweise" interpretiert werden. ;-))
Die Ziffer vor dem Punkt ist sozusagen die "Haupt"-Version. Ich ändere sie, wenn neue oder grundlegend erweiterte Features hinzukommen. Die Ziffer nach dem Punkt ist demzufolge die "Unter"-Version, die ich immer nach Fehlerkorrekturen ändere. Somit hat die Versionsnummer als Ganzes wirklich nichts mit der Dezimalschreibweise zu tun. ;-)
Auch wenn du mit Version 4.3 bereits eine relativ neue Version verwendest, möchte ich dich im Interesse der Forumsbenutzer bitten, auf diese Version zu verzichten und dafür die aktuelle zu verwenden. Ich will hier jetzt nicht in Programmierdetails gehen, aber wenn du genau hinschaust, dann ist bei Bereichsangaben in der Darstellung ein Leerzeichen vor dem Doppelpunkt - also anstelle A1:B20 steht A1 :B20. Und das löst beim Zurückschreiben der so dargestellten Tabellen einen Fehler aus, wodurch andere Forumsbenutzer, die deine Beispiele Zurücklesen wollen, dies nicht können.


Anzeige
AW: Tabellendarstellung in Foren
05.08.2009 15:10:28
David
Hallo Beverly,
nun ja, manchmal liest man halt das, was man lesen will. ;-)
Das das Zurückschreiben nicht funzt, hatte ich schon mal bei einem Test festgestellt, da ich es aber nicht wirklich gebraucht habe, nicht weiter beachtet. Leider benutzen viele hier im Forum, wenn überhaupt, ein anderes Addin als deins, so dass mir selbst das auch nicht weiterhilft. :-(
Ich werde mir deinen Hinweis zu Herzen nehmen und die neue Version runterladen. Man sollte ja mit gutem Beispiel vorangehen.
Danke (auch für das Addin als solches) und Gruß
David
AW: Verknüpfung von Exceltabellen
04.08.2009 09:00:59
Exceltabellen
Hi Michi,
als Autor des von David verwendeten Add-Ins bin ich natürlich daran interessiert zu erfahren, weshalb es bei dir nicht funktioniert, um den Fehler eventuell korrigieren zu können. Deshalb wäre ich dir dankbar, wenn du folgende Fragen beantworten würdest: du schreibst, dass du damit nicht klar kommst - ist die Beschreibung für die Installation bzw. Verwendung unklar? Wie verwendest du das Add-In? Wann tritt der Laufzeitfehler auf? Wie heißt die Fehlerbezeichnung genau?
Auf meiner HP findest du ein Kontakt-Formular. Ich würde dich bitten, mir dort zu antworten, da das AddIn nichts mit dem Forum direkt zu tun hat.


Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige