Wie kann ich leere Zellen in Google Spreadsheet durch Nullen ersetzen?


11

Ich habe eine Tabelle, in die jemand anderes die Daten eingegeben hat. Sie ließen leere Zellen, anstatt 0 Werte aufzuzeichnen. Wie kann ich die leeren Zellen durch Nullen ersetzen?

Ich habe versucht, mit ^ $ nach regulären Ausdrücken zu suchen und diese zu ersetzen, aber es hat nicht funktioniert.



Haben Sie die Zeit gefunden, eine der gegebenen Antworten zu überprüfen?
Jacob Jan Tuinstra

Antworten:


12

Ich gehe davon aus, dass Sie dies nur in einem bestimmten Teil der Tabelle tun möchten und dass es sich um ein einmaliges Problem handelt, das Sie beheben müssen, und nicht um etwas, das Sie wiederholen müssen.

Der einfachste Ansatz besteht darin, einen anderen Bereich mit derselben Form und Größe (möglicherweise in einem anderen Arbeitsblatt) zu finden, der derzeit nicht verwendet wird .

Stellen Sie in jeder Zelle in diesem Bereich die Forumula auf ungefähr so ​​ein (abhängig von den verwendeten Zellen):

= if (isblank (A3), "0", A3)

Wählen Sie die Daten aus dem 2. Bereich aus, kopieren Sie sie und fügen Sie sie wieder in das Original ein. Verwenden Sie dazu nur Bearbeiten> Spezial einfügen> Werte einfügen

Möglicherweise müssen Sie einige Formatierungen (z. B. Datumsformate) erneut anwenden, die Werte sind jedoch vorhanden.

Zu Ihrer Information, ich habe hier ein funktionierendes Beispiel für diesen Ansatz angegeben: https://docs.google.com/spreadsheets/d/1T6owfGtpKt3NLl5hq1AZpeWA1ILWUwBQ44bdlAmekF0/edit?usp=sharing


2
Das funktioniert wunderbar. Ich hatte ein kleines Problem mit der Verwendung des Befehls SMALL für das Ergebnis. Ich konnte es beheben, indem ich stattdessen = if (isblank (A3), 0, A3) verwendete.
Joe Manlove

8

Das folgende Skript fügt 0jeder leeren Zelle im Bereich ein hinzu.

Code

function onOpen() {
  SpreadsheetApp.getUi().createMenu("Zeros")
    .addItem("Sheet", "zeroSheet")
    .addItem("Data range", "zeroDatarange")
    .addItem("Selection", "zeroSelection")
    .addItem("Manual Override", "zeroManual")
  .addToUi();      
}   

function zeroSheet() {
  var sheet = SpreadsheetApp.getActiveSheet();
  zero(sheet, 'sheet');
}

function zeroDatarange() {
  var range = SpreadsheetApp.getActiveSheet().getDataRange();
  zero(range, 'datarange');
}

function zeroSelection() {
  var range = SpreadsheetApp.getActiveSheet().getActiveRange();
  zero(range, 'activerange');
}

function zeroManual() {
  var spreadsheet = SpreadsheetApp.getActive();
  zero(spreadsheet, 'manual');
}

function zero(source, type) {
  var data, range;
  switch(type) {
    case 'sheet':
      var lastRow = source.getMaxRows();
      var lastColumn = source.getMaxColumns();    
      range = source.getRange(1, 1, lastRow, lastColumn);
      break;
    case 'manual':
      range = source.getSheetByName('Sheetname').getRange(2, 4, 3, 6);    
      break;
    case 'datarange':
    case 'activerange':
      range = source;
      break;
  }
  data = range.getValues();
  range.setValues( data.map( function(row) {
    return row.map( function(cell) {
      return !cell ? 0 : cell;
    });
  }));
}

Hinweis

Wenn die Datei geöffnet wird, wird ein Menüelement namens Nullen mit vier Unterelementen erstellt. Wenn Sie die manuelle Funktion auch beim Öffnen ausführen möchten, fügen Sie sie einfach folgendermaßen hinzu: Geben Sie hier die Bildbeschreibung ein

Beispiel

Ich habe eine Beispieldatei für Sie erstellt: Ersetzen Sie die leere Zelle durch Nullen .
1. Erstellen Sie eine Kopie der Datei oder fügen Sie den Code unter Extras> Skripteditor ein . 2. Drücken Sie die Uhr-Bug-Taste, um das Skript zu authentifizieren. Geben Sie hier die Bildbeschreibung ein 3. Öffnen Sie Ihr Dokument erneut, Sie haben jetzt das neue Menü! Geben Sie hier die Bildbeschreibung ein


Lief wie am Schnürchen. Zumindest in der neuesten Version müssen Sie es Ihren Makros hinzufügen, um es auszuführen.
Nic Szerman

8

Verwenden Sie reguläre Ausdrücke in Suchen und Ersetzen :

^\s*$

Google-Tabelle leer durch 0 ersetzen


Für meine Situation war dies die beste Antwort. Ich hatte zwei Zellbereiche, die Werte haben mussten, aber leer waren. Ich habe einige Zellen mit Werten ausgefüllt, wenn die Daten für sie verfügbar waren. Dann wollte ich, dass alle anderen leeren Zellen mit Null gefüllt werden, um anzuzeigen, dass ich diese Zellen bereits berücksichtigt habe.
LS

Das war hilfreich, danke.
lathomas64

2

Für eine begrenzte Anzahl von Spalten können Sie filtern, um Leerzeichen auszuwählen, dann einfügen und nach unten kopieren 0.


2

Eine Möglichkeit, die in ähnlichen Situationen in Google-Tabellen für mich funktioniert hat, bestand darin, die leere Spalte mit 0 zu summieren und das Ergebnis in einer neuen Spalte zu speichern.

Wenn die Spalte Adie leeren Zellen enthält, die ersetzt werden sollen, und beispielsweise Daten enthalten sind B, verwenden Sie die nächste leere Spalte C, um die aktualisierten Werte wie folgt zu speichern:

C1=SUM(A1, 0) und so weiter für die gesamte Spalte C.

In meinem Fall musste ich Werte multiplizieren und leere Zellen arbeiteten wie 1s anstelle von 0s mit PRODUCT(), also tat ich:

=PRODUCT(SUM(A,0), multiplier)

Das gab mir erwartete Ergebnisse für leere oder nicht nummerierte Zellen in A.


1

Ich hatte riesige Datenmengen mit zufällig eingestellten Leerzeichen, daher war die Verwendung if(isblank())für mich eine schlechte Idee, da sie sehr arbeitsintensiv gewesen wäre.

Stattdessen habe ich mein Blatt als CSV heruntergeladen und in TextWrangler geöffnet (jeder Texteditor mit Suchen und Ersetzen funktioniert). Dann fand ich ',,' und ersetzte durch ', 0,'. Ich musste das zweimal machen. Beim erneuten Importieren habe ich if(isblank())nur die erste und die letzte Spalte meines Datensatzes verwendet. Alles andere wurde auf Null gesetzt. Es dauerte nur etwa 5-10 Minuten.


1

Sie können "Suchen und Ersetzen" verwenden ( Ctrl+ F→ Weitere Optionen).

  • Finden: ^$
  • Ersetzen durch: 0
  • Suche: Ihr Bereich
  • Wählen Sie: Suche mit regulären Ausdrücken

1
-1. Die Frage besagt eindeutig, dass dies für den Fragesteller nicht funktioniert hat.
msh210
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.