5.4k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo zusammen,

ich habe ein Problem mit dem Zusammenfügen von Excel-Tabellen. Ein HPLC-Analysegerät gibt mir für jede Probe eine Excel-Tabelle aus.
Je nachdem wieviele Komponenten in der Probe sind, steht z.B. in Zelle D2 der Name des Analyten (z.B. Essigsäure) und entsprechend in E2 der Messwert. Bei mehr Komponenten kann aber schon in der nächsten Excel-Datei der Messwert in G2 stehen, weil mehr Komponenten in der Probe sind.
Ich möchte jetzt eine Excel-Tabelle generieren, wo ich z.B. in Spalte D alle Messwerte für "Essigsäure" untereinander ausgebe. Dabei sollte das Ganze natürlich nach der Probennummer, die sich aus der Excel-Dateibezeichnung ergibt (lv2_1, lv2_2, ...), untereinander soritert werden.

Kann mir da jemand helfen?

Viele Grüße,
David

16 Antworten

0 Punkte
Beantwortet von finger59 Experte (1.3k Punkte)
Hi David,

möglicherweise lässte sich das mit einer Pivottabelle erstellen. Aber ohne den tatsächlichen Aufbau Deiner Datei kann ich das so nicht untermauern oder wirklich weiterhelfen.

Falls es Dir möglich ist, dann stelle doch mal eine Beispieldatei am besten mit unterschiedlichen Informationsaufbau, so dass man die wirkliche Struktur erkennen kann.

In diesem Sinne... have a nice Day... Gruß Helmut
0 Punkte
Beantwortet von finger59 Experte (1.3k Punkte)
Nachtrag....

sollte natürlich noch heißen....

Eine Beispieldatei zur Verfügung stellen... sorry.. war zu schnell...
0 Punkte
Beantwortet von exceldavid Einsteiger_in (21 Punkte)
Hallo Helmut,

ich stell mal was ein:

Datei v1.24:
No. PNo Ret.Time Type Name Area Amount Rel.Ar
min mV*min g %
_____________________________________ ___________________ _____________ _______
1 ? 8.37 ML ? 3,22E+00 ? 5,79
2 ? 9.59 M R ? 8,39E-01 ? 1,51
3 2 12.32 MLr Laktat 2,60E+01 1,50E+01 46,84
4 5 14.61 Mlr Acetate 6,72E+00 5,71E+00 12,09
5 ? 15.77 MlR ? 8,53E-01 ? 1,54
6 6 17.15 MLr 1,3-PDO 1,74E+01 9,20E+00 31,32
7 7 19.13 MlR Methanol 1,78E-01 2,92E-01 0,32
8 ? 20.24 MLR ? 3,26E-01 ? 0,59
------------ ------------ ------
5,56E+01 3,02E+01 100


und Datei v1.26

No. PNo Ret.Time Type Name Area Amount Rel.Ar
min mV*min g %
_____________________________________ ___________________ _____________ _______
1 ? 8.14 MLR ? 2,73E+00 ? 3,09
3 2 12.29 MLR Laktat 6,72E+01 3,87E+01 76,02
4 5 14.60 MLR Acetate 5,84E+00 4,97E+00 6,61
5 6 17.14 MLR 1,3-PDO 1,20E+01 6,26E+00 13,53
6 ? 20.50 MLR ? 6,60E-01 ? 0,75
------------ ------------ ------
8,84E+01 4,99E+01 100


Äh, ist irgendwie etwas verschoben, aber das Prinzip ist hoffentlich klar. Im ersten Beispiel steht z.B. der Wert für 1,3-PDO in einer anderen Zeile als im zweiten Beispiel.
Diese beiden Werte (und natürlich am Ende auch die anderen Messergebnisse) möchte ich in ein Excel-Blatt in einer Spalte gemäß der Dateibezifferung am Ende untereinander sortieren.

Gruß David
0 Punkte
Beantwortet von exceldavid Einsteiger_in (21 Punkte)
Im Prinzip möchte ich in etwa folgendes:
Wenn Zelle XN in "v1.n.xls" enthält "Text", dann (X+2)N kopieren nach "ziel.xls" in Zelle YM, wobei M = n+1.

Dabei ist X eine Spalte in "v1.n.xls", N die Zeile. n ist die laufende Nummer der Datei.
Y und M analog in "ziel.xls".
0 Punkte
Beantwortet von
Hallo David!


Zu erstellende Tabelle (Zieldatei)

Tabelle von A1 bis E4:
>> A >>>>B >>>>C >>>> D >>>> E
1 Datei Laktat Acetate 1,3-PDO Methanol
2 v1.24 2,60E+01 6,72E+00 1,74E+01 1,78E-01
3 v1.24 z.B.2.Wert
4 v1.26 6,72E+01 5,84E+00 1,20E+01

Quelldatei (Tabelle-Auswertung -vom Analysegerät)

>Die Bezeichnungen Laktat, Acetat etc. befinden sich immer in Spalte D, wenn auch
In anderen Zeilen, je nach Analyse
>Die Werte 2,60E+01, 6,72E+00 etc. befinden sich immer in Spalte E bzw. G, wenn auch
In anderen Zeilen, je nach Analyse

>Ich welcher Spalte befindet sich die Dateibezeichnung z.B. v1.24?

Wenn die von mir vorgeschlagene zu erstellende Tabelle Deinen Vorstellungen entspricht, kann ich mir überlegen, ob es möglich ist, das ganze mit Formeln in die Kiste zu bringen, am besten automatisch.
Ansonsten sollte es mit Makros (VBA) durchzuführen sein, aber da bin ich noch nicht soweit um es auf die Reihe zu bringen.

Ich ersuche Dich nunmehr höflichst um Überprüfung und um ein entsprechendes Feedback, zumal die Entwicklung solcher Abläufe von der Genauigkeit lebt.


mfg

Paul1
0 Punkte
Beantwortet von finger59 Experte (1.3k Punkte)
Hi David,
habe mal versucht Deine Infos zusammenzustellen.

Schaue Dir das bitte mal an und falls Du da Änderungen brauchst, dann melde Dich bitte.

Ich habe übrigens auf Deine Anfrage im Pager geantwortet....

In der Hoffnung Dir schon mal in die richtige Richtung geholfen zu haben.... have a nice day.... Gruß Helmut

www.file-upload.net/download-2638981/Werte-zusammenstellen-Pivot.xlsx.html

Wenn das in die richtige Richtung geht, dann bin ich optimistisch das Dir komplett geholfen werden kann.... ist halt die Frage was Du wirklich wie brauchst... das habe ich noch nicht so ganz gepeilt...
drum... siehe Pager...

Ps... in dem Pager habe ich Link geschrieben... korrekt wäre URL gewesen... sorry...
0 Punkte
Beantwortet von exceldavid Einsteiger_in (21 Punkte)
Danke euch beiden schon mal,

ich versuche gerade, die ASCII-Dateien in ein regelmäßiges Excel-Format zu bringen, womit ich bisher leidlich erfolgreich bin. Denn natürlich ist es wichtig, dass die Informationen immer in den gleichen Spalten stehen und die Dateiinformation immer in der gleichen Zelle.

Ich werde dann Dateien hochladen.

Viele Grüße,
David
0 Punkte
Beantwortet von exceldavid Einsteiger_in (21 Punkte)
Mit dem folgenden Makro kriege ich prinzipiell alle Dateien in das gleiche Format
[/code]Sub Makro_Vorbereitung()
Makro_Vorbereitung Makro
ChDir "H:\Doktorarbeit\Fermentationen_TUHH\Analytik\Standards Juni_10"
Workbooks.OpenText Filename:= _
"H:\Doktorarbeit\Fermentationen_TUHH\Analytik\Standards Juni_10\DDCAL2.06A", _
Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
TrailingMinusNumbers:=True
Rows("4:5").Select
Selection.Cut
Rows("35:35").Select
ActiveSheet.Paste
Rows("1:14").Select
Range("A14").Activate
Selection.Delete Shift:=xlUp
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(3, 1), Array(7, 1), Array(16, 1), Array(22, 1), _
Array(37, 1), Array(56, 1), Array(69, 1), Array(78, 1)), TrailingMinusNumbers:=True
End Sub


Blöd ist, dass ich hier in den ersten beiden Zeilen die Datei vorgebe
ChDir "H:\Doktorarbeit\Fermentationen_TUHH\Analytik\Standards Juni_10"
Workbooks.OpenText Filename:= _
"H:\Doktorarbeit\Fermentationen_TUHH\Analytik\Standards Juni_10\DDCAL2.06A"[code]
Mir wäre es natürlich lieber, wenn ich das Makro automatiscch auf alle ASCII-Dateien in einem Ordner anwenden könnte. Egal, ich habe mal zwei Beispieldateien hochgeladen.
Hier:
www.file-upload.net/download-2640062/S1_5_RI.xls.html
www.file-upload.net/download-2640063/S1_1_RI.xls.html

Dabei ist in der ersten Datei in Blatt zwei die Art der Ergebnisdarstellung gezeigt, wie ich sie gerne hätte.
Die Dateiinfo für die Probe steht immer in C21, die Namen der Stoffe in Spalte E, die umgerechneten Messwerte (jetzt ohne Kalibration =0) in Spalte G.
Die Dateiinfo wird immer die Form haben: xy_Probennummer. Anhand der Probennummer soll die Zeile vorgegeben werden.

Gruß David
0 Punkte
Beantwortet von finger59 Experte (1.3k Punkte)
Hi David,

a) bzgl. Deines Dateinamensproblems - so musst Du ja das Makro jedesmal zu Fuß abändern....
Frage... ich nehme an, dass es einen bestimmten Zeitrahmen gibt, in dem diese Datei gespeichert wird (z.B. täglich).
Falls es nur eine pro Tag oder Woche oder Monat geben würde, so könntest Du in dem Verzeichnis immer die aktuellste Datei abfragen und könntest das Namensproblem damit umgehen.

b) zu welchem Zeitpunkt benötigst Du denn Deine Zusammenstellung? täglich, am Wochenende, am Monatsende?

c) In S1_5 steht in Zeile 11 ein Ergebnis... soll das auch irgendwo mit integriert werden?

d) Frage ich mich immer noch wie genau Dein Ergebnis aussehen soll... wäre es Dir möglich eine Ergebnisdatei zusammenzustellen aus den beiden Musterdateien S1_ 5 und S1_1 und sie als download bereitzustellen. Dann wissen alle die Dir helfen möchten auch sofort was Du erreichen möchtest.

Wieder ein paar Fragen mehr, aber ich denke es wird eine Lösung für Dich geben....

In diesem Sinne... have a nice Day... Gruß Helmut
0 Punkte
Beantwortet von
Hallo David!

Wie Du bereits mitgeteilt hast, sind in der Analyse-Excel Datei
Dateiname z.B. 1.26
Name der Stoffe z.b. Laktat
Messwerte: 2,60E+01 (für Laktat)
Alles jeweils in der gleichen Spalte!
Wobei es für die Lösung völlig egal ist, in welcher Spalte es in der Analyse Excel-Datei steht

Sagen wir z.B.:
Dateiname = C 21
Name der Stoffe = Spalte D
Messwerte = Spalte E

Am einfachsten wäre es die Auswertung gleich in der Analysedatei (Tabelle) durchzuführen.

Beispiel:
K1 Datei (Überschrift)
L1 Laktat (Überschrift)
M1 Acetate (Überschrift)
usw.....

in L2 gib folgende Formel ein

=WENN(D2="Laktat";E2;"")

An der Lasche herunterziehen bis L?, je nachdem wie viel Zeilen die Analyse haben kann.

Das gleiche in M2 nur mit „Acetate“

Den Bereich von K1 bis R ? je nachdem wie viel Spalten und Zeilen die Auswertung braucht (bzw. max, sein soll) kannst Du kopieren und mit Inhalte einfügen (entweder alles oder nur Werte etc.) in eine eigene Tabelle einfügen.

Nächste Analyse Datei (Excel Tabellenblatt) öffnen:
>Den Bereich von K1 bis R? in der vorherigen Analyse kopieren
>mit Inhalte einfügen (nur Formeln anhaken)in K1
>somit stehen die Überschriften mit den Werten der neuen Analyse von K1 (eigentlich ab K2) im Bereich K1 bis ?

Es sollte nur ein Anhaltspunkt sein, wie es gelöst werden könnte auf Grund der mir zur Verfügung stehenden Informationen.

Schöne Grüße

Paul1
...