PDA

Vollständige Version anzeigen : Werte aus TXT Datei spaltenweise in Excel importieren


MichaelN
25.08.2017, 09:33
Guten Tag in die Runde.
ich habe mich hier angemeldet weil ich mit meinen Bescheidenen Office Abfrage Künsten nicht mehr weiter komme und hoffe, das ihr mir vielleicht helfen könnt.

Ich muss eine Datei die mir mein Messgerät auswirft eine Liste in Excel oder Word machen die in Tabellenform dargestellt wird um das ganze Übersichtlicher zu gestalten.

So sieht meine TXT Datei aus

0 MT204-S
1 1.30
2 1.12
8 38660006
4 TESTFIRMA
5 17/783/06
6 AUGSBURG
7 001
3 01 06 2017
9 BRÖCKER
10 = 0.32 OHM 0.2 A 0.56 OHM 0.00 OHM
7 002
3 01 06 2017
9 BRÖCKER
10 = 0.14 OHM 0.2 A 0.23 OHM 0.00 OHM
7 003
3 01 06 2017
9 BRÖCKER
10 = 0.27 OHM 0.2 A 0.38 OHM 0.00 OHM
7 004
3 01 06 2017
9 BRÖCKER
10 = 0.03 OHM 0.2 A 0.38 OHM 0.00 OHM
99 5932


Diese ist quasi beliebig lang und wiederholt sich in den Blöcken 7,3,9 und 10 immer wieder. Als Schlusszeichen ganz am Ende der Messliste fängt die Zeile dann mit 99 an

Mit Hilfe der 1. Ziffer ( 0-9 ) wird das zu beschreibende Feld bestimmt
0,1,2,3,4,5,6,8 und 9 sind nur für den Header bestimmt, Die Werte für 7 und 10 sollen dann Zeilenweise den Spalten zugeordnet erden. 99 wäre Tabellenende. Wie wäre so etwas am einfachsten möglich.

So soll es später aussehen:
Messgerät: MT204-S 1.30 1.12
Prüfdatum: 01.06.2017
Prüfer und Ort: BRÖCKER AUGSBURG
Kunde: TESTFIRMA

lfd Messung
1 0.32 OHM 0.2 A 0.56 OHM 0.00 OHM
2 0.14 OHM 0.2 A 0.23 OHM 0.00 OHM
3 0.27 OHM 0.2 A 0.38 OHM 0.00 OHM

usw..

Der Wert der aus den laufenden Nummern geschrieben werden muss fängt in der TXT Datei immer mit der 10 und dem = an.

Den Rest kann ich auch als Maske eingeben und manuell eintragen. Wichtig wären nur die lfd. Nummern weil das mehrere 100 sein können...
Ich danke schon mal jetzt für jeden zielführenden Hinweis.. Und nein.. von VBA hab ich kein Ahnung ;-) und es muss auch kein Excel sein.. wenns in Word einfacher geht umso besser...

feliweb
25.08.2017, 09:47
Hi,

zuerst musst du die Daten importieren:

Daten-> aus Text-> Datei auswählen


Dann musst die Spalten trennen:

markiere Spalte A->Daten-> Text in Spalten->

Dort auswählen:
getrennt->weiter

Trennzeichen:
alle häckchen weg und bei Andere "=" eintragen

Fertigstellen.

Danach kannst du denke ich den Inhalt in Spalte A komplett löschen.
Dann trägst in A1=1; A2=2, markierst beide und ziehst die Zellen nach unten

VG
feliweb

lupo1
25.08.2017, 09:48
=GLÄTTEN(TEIL(WECHSELN(INDEX($A:$A;ZEILE(A1)*4);" ";WIEDERHOLEN(" ";99));SPALTE(A1)*99-98;99)) (Quelle (http://www.office-hilfe.com/support/showthread.php/22254-String-oder-csv-mit-Trennzeichen-per-Formel-auf-Zellen-aufteilen))

runter und nach rechts kopieren, anschließend "platt machen" und dann überflüssige Vorspalten und Kopfzeilen (die teilweise beabsichtigte Fehler enthalten!) löschen.

ZEILE(A1)*4 justierst Du entsprechend: In Deiner Zeile 11 steht der erste Satz. Also nimmst Du ZEILE(A3)*4-1.

MichaelN
25.08.2017, 10:00
Danke für die 1. Antwort
Das hatte ich schon. Da gefiel es mir aber nicht, das ich die 7, 3 und 9 noch manuell bereinigen muss ;-) Ich brauche auf jeden fall die laufende Nummer davor damit ich die Messpunkte eindeutig zuordnen kann zur Dokumentation. Bisher hab ich mir den Kram der nicht dahin gehört einfach gelöscht und dann in die Spalte von dem ersten Messwert ne 1 gesetzt und dann einfach Spalte nach unten +1 gerechnet nach dem manuellen bereinigen.

MichaelN
25.08.2017, 10:03
=GLÄTTEN(TEIL(WECHSELN(INDEX($A:$A;ZEILE(A1)*4);" ";WIEDERHOLEN(" ";99));SPALTE(A1)*99-98;99))

;-) Danke... Das muss ich mal sacken lassen und testen. Sind erstmal nur böhmische Dörfer.. Mal sehen ob ich da am WE mal was testen kann und rausbekomme wo ich die Formel einsetzen muss.. Der Link ist auf jeden Fall sehr interessant.

MichaelN
26.08.2017, 14:01
hab nun mal so einiges versucht.. Das Problem welches ich festgestellt habe ist das ich doch nicht das = Zeichen als Trenner für den Import verwenden kann.. = steht da nur wenn die Messung ok war.. ( das ist mir bisher nie aufgefallen ) Sobald die nicht ok ist steht da > oder < .
Das einzige was nun für die Feldzuordnung hilfreich ist sind die Ziffern von 1-99 die in jeder Zeile als erstes stehen..

Das mit dem Glätten muss ich mir noch mal ansehen.. Da blick ich so nun gar nicht durch.. Aber ich werds schon schaffen ;-)

lupo1
26.08.2017, 14:46
Real vergleichbare Beispieldaten. Sonst hilft Dir keiner. Niemand hat Lust auf Aus-der-Nase-zieh-Threads mit 50 Beiträgen.

Drogist
26.08.2017, 15:04
Und noch ein Nachschlag: Welche Excel-Version verwendest du?
Mit 2016 gibt es da nämlich eine sehr komfortable Lösung (evtl. auch ab 2010).

drambeldier
26.08.2017, 17:46
Moin,

mit ein bisschen Vorarbeit (Zeilenkennung abtrennen) und einer kleinen VBA-Routine ist das alles kein Problem.

MichaelN
28.08.2017, 09:58
Danke für die Anregungen und Hilfeansätze.

Ich verwende Office 2010. Die Original TXT Datei ist diese

104608


Und so soll es später aussehen:

104611

lupo1
28.08.2017, 10:21
Hier zurück. Beachte die zwingende WECHSELN-Reihenfolge.

MichaelN
28.08.2017, 10:34
Super vielen Dank !!
habs noch ein wenig geändert

Alt

=WECHSELN(WECHSELN(INDEX(TXT!A:A;ZEILE(A1)*4+8);"10 = ";);"10 ";)

jetzt

=WECHSELN(WECHSELN(INDEX(TXT!A:A;ZEILE(A1)*4+8);"10 ";);"10 ";)

dadurch habe ich jetzt die =, > und < direkt vor dem Wert stehen und sehe auf einen Blick die Abweichungen

Drogist
28.08.2017, 10:44
Auch wenn du schon eine Lösung hast, ich will mir die Arbeit nicht umsonst gemacht haben ...
Kannst/darfst/willst du Power Query -> http://www.excel-ist-sexy.de/power-query-das-add-in/ nutzen? Dann sieh die doch einfach einmal mein Ergebnis an ... (Wenn du die "=" brauchst, kannst du die eine Anweisung einfach löschen; ich würde aber bedingte Formatierung vorziehen.)

EDIT:
Die Textdatei liegt in C:/Daten (falls du es nachvollziehen willst) /=Backslash

MichaelN
28.08.2017, 12:14
Hallo Drogist,

ich lade es mir gerade mal runter. Installieren kann darf und werde ich das mal. Das Ergebnis sieht so aus wie ich es brauche. Dankeschön !!!