Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1884to1888
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

Zeilen gezielt löschen

Zeilen gezielt löschen
20.05.2022 12:13:43
Andràs
Hallo,
Ich habe eine ASCII Datei mit Koordinaten. Die Datei ist so aufgebaut, dass in jeder Zeile drei Zahlen hintereinander stehen (x,y,z Koordinate).
Insgesamt sind es 1Millionen Zeilen (1 Quadratkilometer, Punkte in 1m Raster).
Die Dichte der Messpunkte möchte ich nun auf 1 Punkt / 10 Meter reduzieren.
Zunächst öffne ich die Datei als Kommagetrennt in Excel. Damit habe ich 1 Millionen Zeilen und drei Spalten.
Jetzt müsste man die entsprechenden "zuviel-Zeilen" löschen. Das wären:
Zeile 2-9
11 - 19
......
991 - 999
1001 - 8999
9901 - 9909
....
9991 -9999
und dann im gleichen Rhythmus weiter bis 1 Million.
Hätte da jemand vielleicht einen Lösungsvorschlag für mich?
Vielen Dank

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen gezielt löschen
20.05.2022 12:38:57
Rudi
Hallo,
in eine Hilfsspalte: =Rest(Zeile();10)=1
In Werte umwandeln, sortieren, nach FALSCH filtern und die Zeilen löschen.
Gruß
Rudi
AW: Zeilen gezielt löschen
20.05.2022 12:57:21
Fennek
Hallo,
um nur 1 von 10 Zeilen zu behalten, wäre ein Ansatz:
in der ersten freien Spalte ein "Falsch" eintragen
In Zeile 2: =REST(ZEILE();10)=0
mit Doppelklick nach unten kopieren
Menü "Daten:Duplikate entfernen"
mfg
AW: Mittagspause (owt)
20.05.2022 12:58:24
Fennek
AW: Zeilen gezielt löschen
20.05.2022 13:10:33
Daniel
Hi
das löscht dir aber alles bis auf zwei Zeilen, weil nur WAHR oder FALSCH das Ergebnis ist.
um eine von 10 Zeilen zu behalten, muss die Formel so aussehen: =Wenn(Rest(Zeile();10)=0;Zeile();0)
die kann man dann runterziehen und das Duplikate-Entfernen anwenden.
Wobei es bei einer Millionen Zeilen wahrscheinlich der Weg von Rudi im sortieren und filtern schneller ist.
Ist halt ein Arbeitsschritt mehr, aber das Duplikate-Entfernen braucht bei so vielen Zeilen auch einen Moment.
Gruß Daniel
Anzeige
AW: Zeilen gezielt löschen
20.05.2022 13:48:26
Andràs
Das klappt so leider nicht. Die Daten stellen einen Quadratkilometer Koordinaten mit einer xyz Koordinate jeden Meter dar. Nur halt nicht als Matrix, sondern als Liste. Somit sind die ersten 1000 Zeilen die ersten 1000m in x Richtung. Dann wird um 1m runtergerutscht und wieder 1000 Punkte. Um aus einem 1x1m Raster ein 10x10 Raster zu erzeugen muss man bei den ersten 1000 jede 10. Zeile stehen lassen, dann 9000 Zeilen löschen usw.
AW: Zeilen gezielt löschen
20.05.2022 13:59:24
Daniel
Du musst dir eine Formel ausdenken, die jede Zeile, die gelöscht werden soll markiert.
entweder bekommen die zu löschenden Zeilen ein WAHR und die anderen ein FALSCH, dann kannst du wie von Rudi gezeigt sortieren, filtern und dann löschen
oder die zu löschenden Zeilen bekommen eine 0 und die die stehen bleiben müssen die aktuelle Zeilennummer, dann kann man die Zeilen mit 0 direkt über das Duplikate-Entfernen löschen.
Welche Zeilen du löschen willst, musst du wissen und dir dazu die Formel ausdenken.
ich kann ja nicht wissen, wie du deine Daten angeordnet hast
Gruß Daniel
Anzeige
AW: Zeilen gezielt löschen
20.05.2022 14:00:08
Rudi
das ist was ganz anderes als die anfängliche Aufgabenstellung
Mit Power Query öffnen
20.05.2022 18:48:43
Yal
Hallo zusammen,
es geht nicht nur eine Richtung zu beschränken (x), sondern alle 3 (x,y,z), daher sollen die Datensätze behalten werden, wo alle 3 Werte mit 0 enden.
Mit Power Query (Kein Makro, kein Formel) kannst Du mit einem Vorschau arbeiten und es wird nur die passende Datensätze in Excel geladen. Da musst nicht mehr löschen:
_ neue Excel Datei
_ Menü "Daten" > "Neue Abfrage" > "Aus Datei" > "aus Text"
_ Datei auswählen
_ Trennzeichen oder feste Breite einrichten
_ "Bearbeiten"
_ Spalte 1 Filtern, "Textfilter" > "Endet mit..." > "0" eintragen
_ das gleich für bei andere Tabelle
_ im Menü "Datei" > "Schliessen & laden"
_ Fertig
Es sollten dann ein 1000-stel der originale Grösse also nur noch 1000 Datensätze haben.
VG
Yal
Anzeige
Sorry: z nicht
20.05.2022 18:54:47
Yal
ich schecke erst jetzt: nur x und y sollten beschränkt werden, nicht z.
also aus der Satz (der überigen falsch ist):
_ das gleich für bei andere Tabelle (Spalten war gemeint)
ändere in:
_ zweite Spalte (y) auch nach "Endet mit..." > "0" beschränken.
Verkleinerungsration ist 1/10 * 1/10 * 1 = 1 hunderstel, also 10.000 Datensätze übrig.
VG
Yal
AW: Zeilen gezielt löschen
24.05.2022 16:14:39
Frank
Hallo Andràs
So vielleicht...

For i = 100000 To 1 Step -1
For j = 0 To 8
ZZ = i * 10 - j
Cells(ZZ, 1).EntireRow.Delete
Next
Next
Das reduziert aber nur in X-Richtung. Wie Du richtig schreibst, müssten nach den ersten 1000 Punkten gleich 10000 gelöscht werden, um auch in Y-Richtung auf die richtige Auflösung zu kommen.
Hier wird's dann schwierig mit den Schleifen und braucht etwas mehr Hirnschmalz, als ich derzeit aufbringen kann...
Ausserdem glaube ich, dass der 991. Punkt der letzte der ersten "Zeile" ist (wenn die Zählung bei 1 anfängt). Das hiesse, 992-10000 müssten gelöscht werden, dann 100001/100011/100021... stehen bleiben und 10992-20000 gelöscht werden.
Grüsse
Frank
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige