Làm cách nào tôi có thể thay thế các ô trống bằng số không trong Bảng tính Google?


11

Tôi có một bảng tính nơi người khác nhập dữ liệu. Họ để trống các ô thay vì ghi 0 giá trị. Làm thế nào tôi có thể thay thế các ô trống bằng 0?

Tôi đã thử tìm và thay thế bằng các biểu thức thông thường bằng cách sử dụng ^ $, nhưng nó không hoạt động.



Bạn đã tìm thấy thời gian để xem xét bất kỳ câu trả lời được đưa ra?
Jacob Jan Tuinstra

Câu trả lời:


12

Tôi giả sử bạn chỉ muốn làm điều này trong một phần nhất định của bảng tính và đó là sự cố một lần mà bạn cần khắc phục, không phải là điều bạn cần lặp lại.

Đối với điều này, cách tiếp cận đơn giản nhất là tìm một khu vực khác có cùng hình dạng và kích thước (có lẽ trong một bảng tính khác) và hiện không được sử dụng .

Trong mỗi ô trong khu vực đó, đặt forumula thành một cái gì đó như thế này (tùy thuộc vào các ô bạn sử dụng):

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

Việc chọn dữ liệu từ khu vực thứ 2, sao chép nó và dán nó trở lại ban đầu bằng cách sử dụng Chỉnh sửa> Dán đặc biệt> Chỉ dán các giá trị

Bạn có thể cần phải áp dụng lại một số định dạng (ví dụ: định dạng ngày), nhưng các giá trị sẽ ở đó.

fyi, tôi đã đưa ra một ví dụ hoạt động của phương pháp này tại đây: https://docs.google.com/siversesheet/d/1T6owfGtpKt3NLl5hq1AZpeWA1ILWUwBQ44bdlAmekF0/edit?usp=shaming


2
Điều này làm việc tuyệt vời. Tôi đã có một vấn đề nhỏ với việc sử dụng lệnh SMALL trên kết quả. Tôi đã có thể sửa nó bằng cách sử dụng = if (isblank (A3), 0, A3) Thay vào đó.
Joe Manlove

8

Kịch bản sau đây sẽ thêm một ô 0vào mỗi ô trống trong phạm vi.

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

Ghi chú

Khi tệp được mở, một mục menu có tên Zeros được tạo, có bốn mục phụ. Nếu bạn cũng muốn chạy chức năng thủ công khi mở, thì chỉ cần thêm nó như vậy: nhập mô tả hình ảnh ở đây

Thí dụ

Tôi đã tạo một tệp ví dụ cho bạn: Thay thế ô trống bằng số không .
1. Tạo một bản sao của tệp hoặc dán mã trong Công cụ> Trình chỉnh sửa tập lệnh . 2. Nhấn nút lỗi đồng hồ để xác thực tập lệnh. nhập mô tả hình ảnh ở đây 3. Mở lại tài liệu của bạn, bây giờ bạn có menu mới! nhập mô tả hình ảnh ở đây


Làm việc như người ở. Ít nhất trong phiên bản mới nhất, bạn cần thêm nó vào macro của mình để thực thi nó.
Nic Szerman

8

Sử dụng biểu thức chính quy trong Tìm và Thay thế :

^\s*$

Bảng tính Google thay thế trống bằng 0


Đối với tình hình của tôi, đây là câu trả lời tốt nhất. Tôi có hai phạm vi ô cần có giá trị, nhưng trống rỗng. Tôi đã điền vào một số ô với các giá trị, nếu dữ liệu có sẵn cho chúng. Sau đó, tôi muốn tất cả các ô trống khác được điền bằng 0 để cho biết tôi đã xem xét các ô đó.
LS

Điều này rất hữu ích cảm ơn.
lathomas64

2

Đối với số lượng cột giới hạn, bạn có thể lọc để chọn Khoảng trống, sau đó chèn và sao chép xuống 0.


2

Một cách đã làm việc cho tôi trong các tình huống tương tự trên bảng tính Google là SUM cột trống với 0 và lưu kết quả vào cột mới.

Nếu cột Acó các ô trống bạn muốn được thay thế và giả sử bạn có dữ liệu B, sau đó sử dụng cột trống tiếp theo Cđể lưu trữ các giá trị được cập nhật như sau:

C1=SUM(A1, 0) và như vậy cho toàn bộ cột C.

Trong trường hợp của tôi, tôi cần nhân các giá trị và các ô trống hoạt động như 1s thay vì 0s với PRODUCT(), vì vậy tôi đã làm:

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

đã cho tôi kết quả mong đợi cho các ô trống hoặc không có số A.


1

Tôi đã có một dữ liệu khổng lồ với các khoảng trống được đặt ngẫu nhiên bên trong nó, vì vậy sử dụng if(isblank())là một ý tưởng tồi đối với tôi vì nó sẽ cực kỳ tốn nhiều công sức.

Thay vào đó, tôi đã tải xuống trang tính của mình dưới dạng csv và mở nó trong TextWrangler (mọi trình soạn thảo văn bản có tìm và thay thế sẽ hoạt động). Sau đó, tôi tìm thấy ',,' và thay thế bằng ', 0,'. Tôi đã phải làm điều đó hai lần. Sau đó, khi tôi nhập lại, tôi if(isblank())chỉ sử dụng trên cột đầu tiên và cuối cùng của tập dữ liệu của mình. Mọi thứ khác đều bị loại bỏ. Chỉ mất khoảng 5-10 phút.


1

Bạn có thể sử dụng "Tìm và thay thế" ( Ctrl+ F→ Tùy chọn khác).

  • Tìm thấy: ^$
  • Thay thế bằng: 0
  • Tìm kiếm: Phạm vi của bạn
  • Chọn: Tìm kiếm bằng biểu thức thông thường

1
-1. Câu hỏi nêu rõ rằng điều này không làm việc cho người hỏi.
msh210
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.