Bereiche
News
Rewind
Tipps & Berichte
Forum
Galerie
Journals
Events
Umfragen
Themenwoche
Kleinanzeigen
Interaktiv
Anmelden
Registrierung
Zu allen empfangenen Nachrichten
Suche...
Zur erweiterten Suche
Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum
>
Software
>
Einzelne Buchstaben in Excel ersetzen?
Einzelne Buchstaben in Excel ersetzen?
jogoto
23.09.14
08:51
Ich muss in einer Spalte einzelne Buchstaben ersetzen aber eben nur, wenn sie las einzelner Buchstaben vorkommen und nicht in einem Wort, also A soll euch B ersetzt werden aber nicht "Alt" durch "Blt".
Hilfreich?
0
Kommentare
Dayzd
23.09.14
09:15
Mit den Filtern von Excel dürftest du zumindest die einzelnen Buchstaben rausfiltern können
. Stichwort "?".
Reguläre Expressionen unterstützt Excel so direkt leider nicht.
Ich glaube, wenn du dir viel Handarbeit ersparen möchtest, kommst du um VBA nicht herum... Falls die Zellen wirklich nur einen Buchstaben und nicht z.B. "A Text" enthalten, kannst du ganz einfach mit der Funktion Len() die Länge/Größe des Zellinhalts herausfinden(muss also 1 sein) und mit
Replace()
dann das Ersetzen durchführen.
Hilfreich?
0
jogoto
23.09.14
16:28
Interessanter Artikel, danke!
Vielleicht bekomme ich es ja im Ausschluss hin. Erscheint mir in meinem Fall allerdings etwas kompliziert.
Ich habe eine Spalte, in der Kriterien in Abkürzungen stehen. Diese Kriterien sollen alle in ausführliche Versionen geändert werden. Da gibt es A aber leider auch AB.
Ich habe mir zwischenzeitlich einen Umweg überlegt. Zuerst AB in §% ersetzen, dann kann ich die geänderten Daten nach A filtern. Wenn A ersetzt ist, kann ich §% wieder in was anderes ersetzen.
Wenn jemand noch was eleganteres einfällt, gerne.
Hilfreich?
0
HumpelDumpel
23.09.14
17:00
Hast du mehr als 7 Abkürzungen?
Hilfreich?
0
HumpelDumpel
23.09.14
17:10
2. Frage: Enthält die Datei nur Daten? Oder anders gefragt: Kannst du sie ohne Verluste als .csv abspeichern?
Hilfreich?
0
jogoto
23.09.14
17:31
Mehr als 7 Abkürzungen, so um die 20. CSV ist möglich. Ist ein Export aus Access.
Hilfreich?
0
Dayzd
23.09.14
17:38
jogoto
Da gibt es A aber leider auch AB.
Dann wären es z.B. folgende 2 Kriterien: 1) "A", 2) "<>??*"
2) heißt: <>: does not contain
?: Ein Zeichen
?*: mindestens 1 Zeichen oder mehrere.
Dies müsste also bedeuten, dass mit beiden Kriterien alle Zellen gefunden werden, die ein A enthalten aber nicht mehr als 2 Buchstaben haben.
Getestet habe ich das allerdings jetzt nicht.
Hilfreich?
0
gickel
23.09.14
17:50
Als CSV-Text sollte das keine zu großen Schwierigkeiten bereiten. Nisus dürfte das mit Suchen und Ersetzen können, wenn man die Zell-Separatoren dazu nimmt, oder?
Hilfreich?
0
HumpelDumpel
23.09.14
17:51
jogoto
CSV ist möglich.
Na dann
als .csv speichern
in Texteditor öffnen
Die Datensätze sind mit Semikolon getrennt
...;A;...
Einfach suchen und ersetzen
;A;
;Arschloch;
Hilfreich?
0
jogoto
23.09.14
17:55
Ich glaube beide Varianten gehen nicht, muss es aber natürlich noch testen.
Es können mehrere Kriterien in einem Feld stehen, also entweder nur A oder nur AB aber auch A,AB und das ist auch das zweite Problem, es wurde mit "," gearbeitet und kein Leerzeichen.
Aber wie gesagt, ich versuche erst mal beide Varianten, danke euch!
Hilfreich?
0
HumpelDumpel
23.09.14
18:18
Kopier die Spalte in neue Datei
dann .csv
Dann in Texteditor, der
entweder
nach "Wort suchen" kann
A
Arschloch
oder RegEx kann
\bA\b
Arschloch
Hilfreich?
0
Dayzd
23.09.14
18:44
wenn du es als CSV exportieren kannst, könntest du auch folgendes machen:
Als Editor empfehle ich TextMate (kostenlos)
Dessen Suche beherrscht reguläre Ausdrücke. (Unter anderem Zeigt er dir auch die gefundenen Zeilen an und wie er sie ersetzen würde. Dafür einfach auf "Find All" klicken und wenn du das Textfeld von Replace auswählst, zeigt er dir in der gefundenen Liste an, wie er es ersetzen würde.)
1) Nun könntest du jeweils an Zeilenanfang folgendes hinzufügen: "
Buchstabe
;
Ersetzendes Wort
;". Dafür ganz einfach Als Suchtext "^" eingeben, als Replace-Text zB. "A;Abseits;", reguläre Ausdrücke aktivieren und Replace all klicken. ("^" steht für den Zeilenanfang)
2) Schritt:
- Suchtext: "^(\w);([^;]*);(([^;]*;){
Spaltenzahl
})([\w,]*)\1([\w,]*)"
Als Spaltenzahl, die Anzahl der Spalten zwischen "Abseits;" und dem Feld mit deinem Kriterien angeben.
z.B: Falls die Zeile lautet "A;Ersatz;23e 212 ; 230 fas;B,A,CD; qedlk; asd;aldj;" wäre die Spaltenzahl 2.
- Replace-Text: "$1;$2;$3$5$2$6"
3) Schritt: Nun müsstest du halt wieder deine nächste Abkürzung "eingeben", bzw. die alte ersetzen. Hier kannst du auch wieder reguläre ausdrücke verwenden:
Suchtext: ""^(\w);([^;]*)"
Replacetext: "B;Bundesland"
bei 20 Abkürzungen aber ziemlich viel Handarbeit... Da würde ich mir lieber ein Perlskript oder so basteln.
Noch kurz als Erklärung zu den Regulären Ausdrücken:
^: Zeilenanfang
\w: Buchstabe
[^;]: Jedes Zeichen ausser ";"
*: so oft sich das voranstehende "Zeichen" wiederholt.
(): Hiermit werden Gruppen erstellt, die im gleichen Ausdruck mit \Zahl aufgerufen werden können, oder über eine Variable $Zahl im Replace-Text. Dabei wird von links nach rechts und von aussen nach innen gezählt.
Alternativ könntest du auch einfach Schritt 1) weglassen und die Abkürzung gleich in den Suchtext setzen:
Suchtext: (([^;]*;){
Spaltenzahl vor Kriterium
})([\w,]*)
A
([\w,]*)
Replacetext: $1$
3Abseits
$4
Hilfreich?
0
HumpelDumpel
23.09.14
19:03
Dayzd
bei 20 Abkürzungen aber ziemlich viel Handarbeit... Da würde ich mir lieber ein Perlskript oder so basteln.
Ich glaube, da bin ich mit meiner Methode schon fertig...
Hilfreich?
0
Dayzd
23.09.14
19:22
HumpelDumpel
Dayzd
bei 20 Abkürzungen aber ziemlich viel Handarbeit... Da würde ich mir lieber ein Perlskript oder so basteln.
Ich glaube, da bin ich mit meiner Methode schon fertig...
Stimmt, das \b hatte ich ganz vergessen. Dann darf allerdings in keiner anderen Spalte irgendwo ein einzelner Buchstabe stehn. Sonst müssen diese trotzdem irgendwie wie in meinem Beispiel durch abzählen ausgeschlossen werden.
Ich schreibe trotzdem lieber ein Skript, das ich vielleicht nochmal verwenden kann, als 10 Minuten search/replace zu spielen.
#!/usr/bin/perl
use warnings;
use strict;
open my $fh, '<', "input.csv" or die "error opening input.csv: $!";
my @file_content=<$fh>;
close($fh);
my @Abkuerzungen = ("A", "B", "C");
my @Volltext = ("Abseits", "Bundesland", "Clown");
foreach (@file_content) {
for ($count = 0; $count <= $#Volltext; $count++) { $find = "\b$Abkuerzungen[$count]\b"; $replace = "$Volltext[$count]"; s/$find/$replace/; }
}
print qq|$_;\n| for @file_content;
Das wäre spontan das was du gemacht hast, nur halt als Skript... Die Arrays sind ja schnell erstellt, wenn eine passende Liste vorhanden ist.
Hilfreich?
0
gvg
23.09.14
19:23
Ich weiß nicht, ob ich was überlesen habe, aber warum überprüfst Du denn nicht zuerst die Länge des Feldes? Wenn ein Feld die Länge 1 hat und A enthält, dann ersetze ...
=WENN(LÄNGE(A1)=1;WENN(A1="A";"B";A1);A1)
Ausprobiert in Excel, macht aus A ein B und lässt z.B. ALT unverändert.
Hilfreich?
0
HumpelDumpel
23.09.14
19:46
gvg
Ich weiß nicht, ob ich was überlesen habe, aber warum überprüfst Du denn nicht zuerst die Länge des Feldes? Wenn ein Feld die Länge 1 hat und A enthält, dann ersetze ...
=WENN(LÄNGE(A1)=1;WENN(A1="A";"B";A1);A1)
Ausprobiert in Excel, macht aus A ein B und lässt z.B. ALT unverändert.
Man kann nur maximal 7 "WENN"s verschachteln - er hat aber 20 Abkürzungen, die zudem auch noch kombiniert (Komma getrennt) auftreten...
Hilfreich?
0
HumpelDumpel
23.09.14
19:49
Dayzd
Ich schreibe trotzdem lieber ein Skript, das ich vielleicht nochmal verwenden kann, als 10 Minuten search/replace zu spielen.
Bis ich unter meinen Scripts das nach einem halben Jahr wiedergefunden habe, bin ich schon mindestens 2x fertig...
Aber jedem das Seine...
Hilfreich?
0
Kommentieren
Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.
FLOP und SLAP: Zwei neue CPU-Lücken in Apples M...
Neues Apple TV und neuer HomePod mini auf dem W...
Deepseek: Neue KI aus China schickt Aktien der ...
Zehn Prozent US-Einfuhrzoll auf China-Importe: ...
Erste GPU-Benchmarks des MacBook Air M4?
PIN-Code erraten: Dauer
Das Apple-Frühjahr 2025
Platzgründe: Apple begründet modulare SSD und P...