Jak mogę zastąpić puste komórki zerami w arkuszu kalkulacyjnym Google?

13

Mam arkusz kalkulacyjny, w którym ktoś inny wprowadził dane. Pozostawili puste komórki zamiast rejestrować 0 wartości. Jak mogę zastąpić puste komórki zerami?

Próbowałem znaleźć i zastąpić wyrażeniami regularnymi przy użyciu ^ $, ale to nie działało.

Vanden
źródło
1
Istotne .
Alex
Czy znalazłeś czas na sprawdzenie którejś z udzielonych odpowiedzi?
Jacob Jan Tuinstra,

Odpowiedzi:

12

Zakładam, że chcesz to zrobić tylko w określonej części arkusza kalkulacyjnego i że jest to jednorazowy problem, który musisz naprawić, a nie coś, co musisz powtórzyć.

W tym celu najprostszym podejściem jest znalezienie innego obszaru o tym samym kształcie i rozmiarze (być może w innym arkuszu), a obecnie nieużywanego .

W każdej komórce w tym obszarze ustaw forumula na coś takiego (w zależności od używanych komórek):

= if (isblank (A3), „0”, A3)

Wybierz dane z 2. obszaru, skopiuj je i wklej z powrotem do oryginału za pomocą Edycja> Wklej specjalnie> Wklej tylko wartości

Konieczne może być ponowne zastosowanie niektórych formatowań (np. Formatów daty), ale wartości tam będą.

fyi, umieściłem tutaj działający przykład takiego podejścia: https://docs.google.com/spreadsheets/d/1T6owfGtpKt3NLl5hq1AZpeWA1ILWUwBQ44bdlAmekF0/edit?usp=sharing

MaryC.fromNZ
źródło
2
To działa cudownie. Miałem mały problem z użyciem polecenia SMALL w wyniku. Byłem w stanie to naprawić za pomocą = if (isblank (A3), 0, A3) Zamiast tego.
Joe Manlove
9

Użyj wyrażenia regularnego w Znajdź i zamień :

^\s*$

Arkusz kalkulacyjny Google zastąp pustą wartością 0

NeoAsh
źródło
W mojej sytuacji była to najlepsza odpowiedź. Miałem dwa zakresy komórek, które musiały mieć wartości, ale były puste. Wypełniłem niektóre komórki wartościami, jeśli dane były dla nich dostępne. Potem chciałem, aby wszystkie pozostałe puste komórki były wypełnione zerą, aby wskazać, że już rozważałem te komórki.
LS
To było pomocne dzięki.
lathomas64
8

Poniższy skrypt doda 0każdą pustą komórkę w zakresie.

Kod

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;
    });
  }));
}

Uwaga

Po otwarciu pliku tworzony jest element menu o nazwie Zeros, zawierający cztery elementy podrzędne. Jeśli chcesz uruchomić funkcję ręczną również podczas otwierania, po prostu dodaj ją w następujący sposób: wprowadź opis zdjęcia tutaj

Przykład

Utworzyłem dla Ciebie przykładowy plik: Zastąp pustą komórkę zerami .
1. Utwórz kopię pliku lub wklej kod w Narzędzia> Edytor skryptów . 2. Naciśnij przycisk błędu zegara, aby uwierzytelnić skrypt. wprowadź opis zdjęcia tutaj 3. Otwórz ponownie dokument, teraz masz nowe menu! wprowadź opis zdjęcia tutaj

Jacob Jan Tuinstra
źródło
Działa jak urok. Przynajmniej w najnowszej wersji musisz go dodać do makr, aby go wykonać.
Nic Szerman
2

W przypadku ograniczonej liczby kolumn możesz filtrować, aby wybrać Puste miejsca, a następnie wstawić i skopiować 0.

orzechy
źródło
2

Jednym ze sposobów, który działał dla mnie w podobnych sytuacjach w arkuszach kalkulacyjnych Google, było Zsumowanie pustej kolumny z 0 i zapisanie wyniku w nowej kolumnie.

Jeśli kolumna Azawiera puste komórki, które chcesz zastąpić i, powiedzmy, masz dane B, użyj następnej pustej kolumny, Caby zapisać zaktualizowane wartości w następujący sposób:

C1=SUM(A1, 0) i tak dalej dla całej kolumny C.

W moim przypadku musiałem pomnożyć wartości, a puste komórki działały jak 1s zamiast 0s PRODUCT(), więc zrobiłem:

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

co dało mi oczekiwane wyniki dla pustych lub nieliczbowych komórek w A.

kamal
źródło
1

Miałem ogromne dane z pustymi miejscami losowymi, więc używanie if(isblank())było dla mnie złym pomysłem, ponieważ byłoby bardzo pracochłonne.

Zamiast tego pobrałem mój arkusz jako plik csv i otworzyłem go w TextWrangler (dowolny edytor tekstowy z funkcją Znajdź i zamień będzie działał). Potem znalazłem „,,” i zastąpiłem „, 0,”. Musiałem to zrobić dwa razy. Następnie, kiedy ponownie zaimportowałem, użyłem if(isblank())tylko pierwszej i ostatniej kolumny mojego zestawu danych. Wszystko inne zostało wyzerowane. Zajęło to tylko około 5-10 minut.

Sam P.
źródło
1

Możesz użyć „Znajdź i zamień” ( Ctrl+ F→ Więcej opcji).

  • Odnaleźć: ^$
  • Zamień na: 0
  • Szukaj: Twój zasięg
  • Wybierz: Wyszukaj za pomocą wyrażeń regularnych
Philippe van Gammeren
źródło
1
-1. Pytanie wyraźnie stwierdza, że ​​nie działało to dla pytającego.
msh210