Text innerhalb der Zelle wechseln / austauschen (Google Tabellen)

In diesem Tutorial zeige ich Euch wie Ihr mit GOOGLE TABELLEN innerhalb von der Zelle Text auswechseln also austauschen könnt.



Wer das erste mal mit Google Tabellen oder überhaupt mit einem Tabellenkalkulationsprogramm arbeitet sollte sich vielleicht auch erst einmal dieses Tutorial anschauen:
Einfache Berechnungen für Anfänger (Google Tabellen)
Das Tutorial zeigt ganz einfache Berechnungen und sollte den Einstieg wesentlich leichter machen.

Dieses Tutorial ist extra für Anfänger die sich mit dem Tabellenkalkulationsprogramm GOOGLE TABELLEN / SPREADSHEETS noch nicht so viel beschäftigt haben. Es zeigt die Funktionen und Möglichkeiten Schritt für Schritt.

Das Video-Tutorial "Text innerhalb der Zelle wechseln / austauschen (Google Tabellen)"

 



Das könnte Dich auch interessieren

11 Kommentare

  1. Alfred Bublik sagt:

    hi chris, mein unersätlicher wissensdurst gepaart mit der unfähigkeit eine lösung zu finden treibt mich wieder mal zu dir.
    hab 2 probleme die indirekt im zusammenhang stehen.
    1. suchen und ersetzen per skript.
    wollte mir mittels makro editor die funktion suchen und ersetzen aufzeichnen. leider zeichnet er die befehle nicht auf.
    ich muss in meinem arbeitsblatt diverse texte unformatieren. sind etwa 40 verschiedene eingaben. wäre natürlich cool wenn man diese 40 vorgänge in einen skript unterbringen kann. mit dem befehl "wechsel" sollte das normal möglich sein.
    z.b. schaut dieser text "w1v *norm *i2 68% +2" nachher so aus "2i 68 +2"

    das weiaus wichtigere problem ist aber ein copy problem

    ich möchte die felder v6:an37 nach B6:t37 kopieren. dabei dürfen aber felder in denen schon werte stehen nicht überschrieben werden.

    geht sowas überhaupt?

    welche befehle würden da überhaupt in frage kommen.

    ein kleines dankeschön für deine bemühungen ist unterwegs

    gruß alfred

    • Chris sagt:

      Danke Dir alfred, das Dankeschön ist schon angekommen 😉
      Beim kopieren wirst Du bei dem was Du vorhast um ein Script wohl nicht herum kommen. Hier brauchst Du zwei verschachtelte Schleifen. Im Zielbereich muss dann jede Zelle im ausgewählten Spalten- / Zeilenbereich durchlaufen werden. Hier wird dann vor dem Einfügen geprüft ob Inhalt vorhanden ist oder nicht. Wenn die Zelle leer ist wird der Inhalt eingefügt.
      Ein Beispiel für so eine doppelte For Schleife siehst Du hier:
      https://toptorials.com/for-schleife-google-tabellen-script/
      Besser und schneller als die Zellen einzeln zu durchlaufen wäre es das in ein Array einzulesen und zu verarbeiten. Ein Beispiel für die Vorgehensweise bei einem Array siehst Du hier:
      https://developers.google.com/apps-script/articles/removing_duplicates
      Bei dem ersten Teil habe ich allerdings nicht ganz verstanden wie das gemeint war. Was wolltest Du mit Wechsel bewirken. Schreib mal bitte exakt auf wie sich der Eintrag ändern sollte.
      („w1v *norm *i2 68% +2“ nachher so aus „2i 68 +2“) Sollte es so am Ende aussehen oder kam das als fehlerhafter Eintrag zurück. Ich weiß ja nicht genau was Du anschließend vor hast.
      Das mit der Schleife schaue ich mir dann selbst noch mal genauer an. Ich muss das erst einmal selbst testen. Da musst Du allerdings 1-2 Tage Geduld haben. Bei den Temperaturen und dem Fulltimejob ist gerade die Luft voll raus.

      Viele Grüße und ein großes Dankeschön nochmal 😉
      Chris

  2. Alfred Bublik sagt:

    der eintrag kommt so richtig zurück. ich mach das halt über mehrere schritte
    1.suche nach w1v ersetzen durch nichts
    2. suche nach * ersetzen durch nichts
    3. suchen nach % ersetzen durch nichts
    4. suchen nach i2 ersetzen durch 2i
    5…usw….

    und weil ich da sehr vieles umtauschen oder löschen muss wäre da ein skript mehr als hilfreich.

    vor allem weil von zeit zu zeit (daher das kopier problem) neue einträge dazukommen….duie dann wieder umformatiert werden müssen.

    schade ist echt das der makro rekorder da nix aufzeichnet was ich mit den board eigenen menü bei bearbeien / suche und ersetzen mache

    • Chris sagt:

      Hi Alfred, ich kämpfe mich gerade ein wenig durch. Das dauert etwas länger als erwartet. Deshalb verschiebe ich das auf das Wochenende. Momentan bin ich am Auslesen des Arrays aus dem Bereich. Das Ausführen aus einer Funktion heraus (was ich eigentlich vor hatte) funktionierte nicht so wie ich das wollte. Jetzt schreibe ich das so um das Quelle und Ziel in einer Zelle angegeben werden können. Da es aber länger dauert, kann ich nicht jeden Tag so viel Zeit damit verbringen. Ich hoffe Du verstehst dass. Momentan (außer der Hitze und dem Fulltime Job) habe ich extrem viel zu tun. Falls Du mal Lust hast, kannst Du ja mal auf meinen eigentlichen neuen Hauptkanal vorbei schauen.
      C4D4U aber unbedingt die Lautstärke etwas reduzieren da das Intro sehr laut ist.
      Hier siehst Du auch (extrem viele Kommentare) warum ich keine Zeit mehr habe auf YouTube neue Tutorials hochzuladen.

      Viele Grüße
      Chris

  3. Alfred Bublik sagt:

    mach ich. und bei mir eilt das nie. manchmal brauch ich nur ein denkanstoss um vielleicht selber eine lösung zu basteln. aber aufgrund der hitze auch nicht soviel vorm rechner.
    wobei ich sagen muss, das mit den array übersteigt meine bescheidenen kentnisse schon etwas.

  4. Alfred Bublik sagt:

    das copy problem hab ich bereits übergangen. kann da viel mit der "wenndann sonst" formel direkt in der zelle machen.
    nur das suchen und ersetzen bereitet mir noch kopf zerbrechen.
    kann man in der eingabemaske vom board eigenen suchen und ersetzen mehrere werte angeben? z.b. durch ein semikolon getrennt

    gruß

    • Chris sagt:

      Hallo Alfred,
      ich habe ein kleines Script geschrieben welches Daten aus einem Bereich in den anderen Bereich kopieren kann ohne schon vorhandene beschriebene Zellen zu überschreiben. Also werden nur Werte in die Zellen kopiert die leer sind.

      Hier das Script:

      function bereichKopieren(){

      var sheet = SpreadsheetApp.getActiveSheet();

      // Quell-, Ziel- und Ergebnisbereich
      var quelle="I2"; // Zelle die den Bereich der neuen einzulesenden Daten enthält
      var ziel="J2"; // Zelle die den Bereich der schon vorhandenen Daten enthält
      var ergebnis="K2" // Hier wird angezeigt wie viele neue Werte eingetragen wurden.

      var quellBereich =sheet.getRange(quelle).getValue();
      var zielBereich =sheet.getRange(ziel).getValue();

      // Quell- und Zielbereich als Array einlesen
      var quellBereichDaten = sheet.getRange(quellBereich).getValues();
      var zielBereichDaten = sheet.getRange(zielBereich).getValues();

      var counterNeu=0;

      for(i in zielBereichDaten){
      for(j in zielBereichDaten[i]){
      // Hier die Prüfung ob ein Wert vorhanden ist.
      if(zielBereichDaten[i][j]!=""){
      quellBereichDaten[i][j]=zielBereichDaten[i][j];
      }else{
      counterNeu++;
      }
      }
      }

      // Leeren des Zielbereichs und Eintragen aller Werte in den Zielbereich
      sheet.getRange(zielBereich).clear().setValues(quellBereichDaten);
      // Ausgeben der Informationen (Zeilen, Spalten, Anzahl neuer Einträge)
      sheet.getRange(ergebnis).setValue("Zeilen:"+zielBereichDaten.length+" / Spalten:"+zielBereichDaten[0].length+" / Neu:"+counterNeu);
      }

      Tabelle für das Script zum Kopieren und Einfügen ohne Überschreiben

      Die Bereiche kannst Du alle anpassen und Im Script entsprechend ändern. In dem Bild siehst Du als Ergebnis bei Neu eine 0. Das hängt damit zusammen das ich das Script zweimal ausgeführt habe. Beim ersten Mal habe ich einige Einser im Zielbereich gelöscht um Leerzellen zu haben und es wurden dann aus dem Quellbereich die Werte korrekt in den Zielbereich übernommen. Beim zweiten Ausführen gab es dann keine Leerzellen mehr, deshalb die 0.
      Teste das Script aber erst einmal in einer anderen Tabelle bevor du loslegst. Wichtig ist auch das der Quell und Zielbereich die gleiche Größe haben sonst kommt es zu Fehlern.

      Mit besten Grüßen
      Chris

  5. Alfred Bublik sagt:

    wäre es eine hilfe wenn dass suchen und ersetzen problem nur auf eine spalte anzuwenden wäre?

    du hast mir früher mal beim auslesen des tabelennamens (bzw. nach dem suchen eines wortes inerhalb des tabellenblattnamen) geholfen.
    auszug des codes:

    var re=("GK+");
    var regExp=new RegExp(re);
    if(!tabellenBlattName.match(regExp))
    continue;

    könnte man ähnliches auf das suchen und ersetzen problem anwenden?

    gruß alfred

    • Chris sagt:

      Hallo Alfred,
      bei "Suchen und ersetzen" machst Du ein Häkchen bei "Suche mithilfe regulärer Ausdrücke".
      Die Groß-Kleinschreibung wird automatisch mit aktiviert und kann auch so bleiben falls Du die Groß und
      Kleinschreibung unterschiedlich behandeln möchtest.
      Mit regulären Ausdrücken hast Du enorm viele Möglichkeiten. Das Thema an sich ist aber auch sehr komplex.
      Google Script verwendet hierzu die Syntax nach RE2. Mehr Infos über die Infos erhältst Du hier:
      RE2 bei Wikipedia
      RE2 Syntax bei GitHub

      Falls es sich auch um Formeln handeln sollte die Du anpassen möchtest, musst Du noch einen Haken bei "Auch in Formeln suchen" machen.

      Bei den regulären Ausdrücken bedeutet | soviel wie "oder".
      Beim Suchen könntest Du folgendes im Suchenbereich eingeben:
      w1v|\*|%
      Damit wird alles gefunden entweder w1v, * oder %
      Der Bereich "Ersetzen durch" würde dann leer sein. Damit werden genau
      diese Einträge dann gefunden und gelöscht.

      Beim Ersetzen von i2 zu 2i benötigtst Du auch nur den Eintrag im Suchenbereich:
      i2
      Im Ersetzen Bereich steht dann:
      2i
      Damit wird dann i2 durch 2i ersetzt. Daran denken das es bei Formeln nur funktioniert wenn "Auch in Formeln Suchen" aktiviert wurde.

      Du kannst sogar Teile der Suche im Bereich "Ersetzen durch" mit ausgeben. Hierfür werden die Bereiche die gesucht werden in Klammern gesetzt.
      Jedes Ergebnis der Klammer kann dann ausgegeben werden. Diese werden durch $1 für die erste Klammer $2 für die zweite Klammer ausgegeben.
      Nehmen wir ein einfaches Beispiel. Hast Du in mehreren Zellen zwei Zahlen oder Buchstaben, kannst Du diese einfach umdrehen.
      Wenn bei "Suchen" folgendes eingegeben wird:
      ^(.)(.)$
      kannst Du im Ersetzen durch dann $2$1 eintragen um die beiden Einträge umzukehren.
      Du kannst auch nur $1 für den ersten Wert oder $2 für den zweiten Wert angeben falls Du nur das ausgeben möchtest.
      Das ^ Zeichen bedeutet Anfang und $ bedeutet Ende und genau dazwischen die beiden Punkte die angeben das ein beliebiges Zeichen benutzt werden kann (also z.B. Buchstaben oder Zahlen)

      Soweit mir bekannt ist, kannst Du zwar über die regulären Ausdrücke verschiedenste Einträge herausfiltern aber für eine ODER Bedingung innerhalb des Ausdrucks keine unterschiedlichen Ergebnisse wie bei einer WENN Funktion zurückliefern. Außer natürlich die Ergebnisse aus den gerade beschriebenen Klammern mit $1 etc. Zumindest habe ich das noch nicht entdeckt 😉

      Viele Grüße
      Chris

      • Alfred Bublik sagt:

        hi….
        musste erst mal paar tage lang das testen und mich einarbeiten.

        also dieses ( w1v|\*|% ) ist genial. hab mir in einer zelle bereits mehr als 50 verschiedene suchkriterien zusammengestellt, diese werden innerhalb einer sekunde alle gellöscht. da werden in einer arbeitsmappe schon mal mehr als 1500 löschvorgänge gemacht.
        pinpos1|pinpos2|pinpos3|pinpos4|pinpos5|w1vvr|w1vrr|w1hrr|w1hhr|w1hhl|w1hll|w1vll|w1vvl|w2vvr|w2vrr|w2hrr|w2hhr|w2hhl|w2hll|w2vll|w2vvl|w3vvr|w3vrr|w3hrr|w3hhr|w3hl|w3hll|w3vll|w3vvl|w1rv|w1rh|w1lh|w1lv|w2rv|w2rh|w2lh|w2lv|w3rv|w3rh|w3lh|w3lv|w1v|w1l|w1h|w1r|w2v|w2l|w2h|w2r|w3v|w3l|w3h|w3r|\*|% sind meine suchkriterien

        nun zu dem hier. ( ^(.)(.)$ ). das kann man ja bedingt zum mehrfach suchen und ersetzen benutzen. jedenfalls im meinen fall eine geniale funktion das mich etwas gefuxt hat.. lag daran das manchmal die erste und der letzte zeichenkette gar nicht oder nur teilweise gefunden wurde.
        in dem fall:
        ^(1)(w)|(2)(w)|(3)(w)|(4)(w)|(5)(w)$
        wurde 1w und 5w nicht immer gefunden. habs dann lösen können indem ich nicht vorhandene zeichenketten vorne und hinten anhänge:
        ^(0)(w)|(1)(w)|(2)(w)|(3)(w)|(4)(w)|(5)(w)|(6)(w)$
        ersetzen tu ich dann so:
        $2$1$4$3$6$5$8$7$10$9$12$11$14$13

        geht auch mit wörtern. eine suchen und ersetzen zeile schaut so aus:
        suchen:
        ^(p)(o)(w)|(d)(r)(a)(w)(h)|(f)(a)(d)(e)(h)|(s)(k)(y)|(t)(i)(e)(f)|(p)(u)(n)(c)(h)|(p)(i)(t)(c)(h)|(d)(r)(a)(w)|(f)(a)(d)(e)|(h)(o)(c)(h)|(f)(l)(o)(p)|(b)(a)(c)(k)|(n)(o)(r)(m)|(x)(y)$
        ersetzen:
        *$1$2$3$4$5$6$7$8$9$10$11$12$13$14$15$16$17$18$19$20$21$22$23$24$25$26$27$28$29$30$31$32$33$34$35$36$37$38$39$40$41$42$43$44$45$46$47$48$49$50$51$52$53$54$55$56

        so bleiben aus etwa gefühlt 100 arbeitschritten nur noch etwa 10 übrig.

        danke nochmals.

        das mehrfach suchen und ersetzen scheint nicht zu gehen. die einzigsten lösungen die ich im netz gefunden habe sind skripte die auf tabellen zurückgreifen. da steht dann in ai der alte wert und in b1 der neue wert. a2 der alte, b2 der neue….usw

        Lg Alfred und alles gute

        • Chris sagt:

          Hi Alfred,
          das sieht ja ziemlich komplex aus und wie ich sehe eine ganze Menge "Oder" Anweisungen 😉
          Die Zeichen ^ bezieht sich auf den Anfang und $ auf das Ende. Das heißt das erste Zeichen in der Zelle muss dann das Zeichen nach dem ^ sein. Das gleiche für das $ Zeichen. Das heißt das Zeichen vor dem $ muss dann das letzte Zeichen in der Zelle sein. In dem Beispiel: ^..$ werden nur Zellen gefunden wo es genau zwei Zeichen gibt. ^a bedeutet der erste Buchstabe muss ein a sein. a$ bedeutet das der letzte Buchstabe ein a sein muss.
          Das Thema ist noch wesentlich komplexer. Du kannst in geschweiften Klammern festlegen wie viele vorhanden sein müssen {1,3} also 1-3 von den Zeichen, mit + muss mindestens eins oder mehr vorhanden sein und mit * keins oder mehrere. Mit ? entweder eins oder keins. Schau Dir ruhig noch mal das hier an:
          https://github.com/google/re2/blob/master/doc/syntax.txt
          Der Hammer was damit alles möglich ist 😉

          Viele Grüße
          Chris

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.