Bagaimana saya bisa mengganti sel kosong dengan nol di Google Spreadsheet?

13

Saya memiliki spreadsheet tempat orang lain memasukkan data. Mereka meninggalkan sel kosong alih-alih merekam 0 nilai. Bagaimana cara mengganti sel kosong dengan 0s?

Saya mencoba mencari dan mengganti dengan ekspresi reguler menggunakan ^ $, tetapi tidak berhasil.

vanden
sumber
1
Relevan .
Alex
Apakah Anda menemukan waktu untuk meninjau jawaban yang diberikan?
Jacob Jan Tuinstra

Jawaban:

12

Saya berasumsi Anda hanya ingin melakukan ini di bagian tertentu dari spreadsheet, dan itu adalah masalah satu kali yang perlu Anda perbaiki, bukan sesuatu yang perlu Anda ulangi.

Untuk ini, pendekatan paling sederhana adalah menemukan area lain dengan bentuk dan ukuran yang sama (mungkin di lembar kerja lain), dan saat ini tidak digunakan .

Di setiap sel di area itu, setel forumula ke sesuatu seperti ini (tergantung pada sel yang Anda gunakan):

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

Pilih data dari area ke-2, salin, dan tempel kembali ke aslinya menggunakan Edit> Tempel Spesial> Tempel nilai saja

Anda mungkin perlu menerapkan kembali beberapa format (mis. Format tanggal), tetapi nilainya akan tetap ada.

fyi, saya telah memberikan contoh yang berhasil dari pendekatan ini di sini: https://docs.google.com/spreadsheets/d/1T6owfGtpKt3NLl5hq1AZpeWA1ILWUwBw44QlAmekF0/edit?usp=sharing

MaryC.dariNZ
sumber
2
Ini bekerja dengan sangat baik. Saya memang memiliki masalah kecil dengan menggunakan perintah SMALL pada hasilnya. Saya dapat memperbaikinya dengan menggunakan = if (isblank (A3), 0, A3) Sebagai gantinya.
Joe Manlove
9

Gunakan ekspresi reguler di Temukan dan Ganti :

^\s*$

Ganti spreadsheet Google kosong dengan 0

NeoAsh
sumber
Untuk situasi saya, ini adalah jawaban terbaik. Saya memiliki dua rentang sel yang perlu memiliki nilai, tetapi kosong. Saya mengisi beberapa sel dengan nilai, jika data tersedia untuk mereka. Lalu aku ingin semua sel kosong lainnya diisi dengan nol untuk menunjukkan aku sudah mempertimbangkan sel-sel itu.
LS
Ini sangat membantu, terima kasih.
lathomas64
8

Script berikut akan menambahkan 0ke setiap sel kosong dalam rentang.

Kode

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

Catatan

Ketika file dibuka, item menu yang disebut Nol dibuat, memiliki empat sub item. Jika Anda ingin menjalankan fungsi manual setelah pembukaan juga, cukup tambahkan seperti ini: masukkan deskripsi gambar di sini

Contoh

Saya telah membuat contoh file untuk Anda: Ganti sel kosong dengan nol .
1. Buat salinan file atau tempel kode di bawah Tools> Script editor . 2. Tekan tombol bug jam untuk mengautentikasi skrip. masukkan deskripsi gambar di sini 3. Buka kembali dokumen Anda, sekarang Anda memiliki menu baru! masukkan deskripsi gambar di sini

Jacob Jan Tuinstra
sumber
Bekerja seperti pesona. Setidaknya dalam versi terbaru Anda perlu menambahkannya ke makro untuk menjalankannya.
Nic Szerman
2

Untuk jumlah kolom yang terbatas, Anda dapat memfilter untuk memilih Blanks, lalu menyisipkan dan menyalin 0.

kacang
sumber
2

Salah satu cara yang berhasil bagi saya dalam situasi serupa di spreadsheet Google adalah dengan SUM kolom kosong dengan 0 dan menyimpan hasilnya dalam kolom baru.

Jika kolom Amemiliki sel kosong yang ingin Anda gantikan dan, katakanlah, Anda memiliki data B, kemudian gunakan kolom kosong berikutnya Cuntuk menyimpan nilai yang diperbarui seperti:

C1=SUM(A1, 0) dan seterusnya untuk seluruh kolom C.

Dalam kasus saya, saya perlu melipatgandakan nilai dan mengosongkan sel bekerja seperti 1s bukannya 0s dengan PRODUCT(), jadi saya lakukan:

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

yang memberi saya hasil yang diharapkan untuk sel kosong atau non-angka di A.

kamal
sumber
1

Saya memiliki data besar dengan kekosongan yang ditetapkan secara acak di dalamnya, jadi menggunakan if(isblank())adalah ide yang buruk bagi saya karena itu akan menjadi padat karya.

Sebagai gantinya, saya mengunduh lembar saya sebagai csv, dan membukanya di TextWrangler (editor teks apa pun dengan menemukan dan mengganti akan berfungsi). Kemudian saya menemukan ',,' dan diganti dengan ', 0,'. Saya harus melakukannya dua kali. Kemudian ketika saya mengimpor kembali, saya if(isblank())hanya menggunakan kolom pertama dan terakhir dari kumpulan data saya. Segala sesuatu yang lain tidak diurus. Hanya butuh sekitar 5-10 menit.

Sam P
sumber
1

Anda dapat menggunakan "Temukan dan Ganti" ( Ctrl+ F→ Opsi lainnya).

  • Temukan: ^$
  • Ganti dengan: 0
  • Cari: Kisaran Anda
  • Pilih: Cari menggunakan ekspresi reguler
Philippe van Gammeren
sumber
1
-1. Pertanyaannya dengan jelas menyatakan bahwa ini tidak berhasil untuk si penanya.
msh210