Як можна замінити порожні комірки нулями в електронній таблиці Google?


13

У мене є електронна таблиця, куди хтось ще ввів дані. Вони залишили порожні клітинки замість запису 0 значень. Як можна замінити порожні комірки на 0?

Я спробував знайти та замінити регулярні вирази, використовуючи ^ $, але це не вийшло.



Ви знайшли час переглянути будь-яку з наведених відповідей?
Яків Ян Туінстра

Відповіді:


12

Я припускаю, що ви хочете зробити це лише в певній частині електронної таблиці, і що це одноразова проблема, яку потрібно виправити, а не те, що потрібно повторювати.

Для цього найпростішим підходом є пошук іншої області такої ж форми та розміру (можливо, в іншому робочому аркуші), яка наразі не використовується .

У кожній комірці в цій області встановіть форуму щось подібне (залежно від осередків, які ви використовуєте):

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

Виберіть дані з 2-ї області, скопіюйте їх і вставте їх до оригіналу, використовуючи Правка> Спеціальна вставка> Лише значення вставки.

Можливо, вам доведеться повторно застосувати деякі формати (наприклад, формати дати), але значення будуть там.

fyi, я приклав тут спрацьований приклад такого підходу: https://docs.google.com/spreadsheets/d/1T6owfGtpKt3NLl5hq1AZpeWA1ILWUwBQ44bdlAmekF0/edit?usp=sharing


2
Це чудово працює. У мене була невелика проблема з використанням команди SMALL в результаті. Я зміг це виправити, використовуючи натомість = if (isblank (A3), 0, A3).
Джо Менлове

9

Використовуйте регулярний вираз у пошуку та заміні :

^\s*$

Електронну таблицю Google замініть порожнім на 0


Для моєї ситуації це була найкраща відповідь. У мене було два діапазони комірок, які потребували значень, але були порожніми. Я заповнював деякі клітинки зі значеннями, якщо дані були доступні для них. Тоді я хотів, щоб усі інші порожні комірки були заповнені нулем, щоб вказати, що я вже вважав ці комірки.
LS

Це було корисно дякую.
lathomas64

8

Наступний сценарій додасть 0до кожної порожньої комірки в діапазоні.

Код

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

Примітка

Коли файл відкривається, створюється пункт меню під назвою Нулі, який містить чотири підпункти. Якщо ви також бажаєте запустити функцію вручну після відкриття, просто додайте її так: введіть тут опис зображення

Приклад

Я створив для вас прикладний файл: Замініть порожню клітинку нулями .
1. Створіть копію файлу або вставте код у меню Інструменти> Редактор сценаріїв . 2. Натисніть кнопку помилки годинника, щоб підтвердити сценарій. введіть тут опис зображення 3. Повторно відкрийте документ, тепер у вас є нове меню! введіть тут опис зображення


Працював як шарм. Принаймні, в останній версії вам потрібно додати його до своїх макросів, щоб виконати його.
Нік Шерман

2

Для обмеженої кількості стовпців ви можете фільтрувати, щоб вибрати Пробіли, а потім вставити та скопіювати 0.


2

Один із способів, який працював на мене у подібних ситуаціях на електронних таблицях Google, - підсумувати порожній стовпець із 0 та зберегти результат у новому стовпчику.

Якщо у стовпці Aє порожні комірки, які ви хочете замінити, і, скажімо, у вас є дані B, використовуйте наступний порожній стовпець Cдля збереження оновлених значень на зразок:

C1=SUM(A1, 0) і так далі для всієї колонки C.

У моєму випадку мені потрібно було помножити значення, і порожні комірки працювали як 1s замість 0s PRODUCT(), так що я зробив:

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

що дало мені очікувані результати для порожніх або нечислових комірок у A.


1

У мене було величезна кількість даних із заготовками, випадково встановленими всередині неї, тому використання if(isblank())було поганою ідеєю для мене, оскільки це було б дуже трудомістко.

Натомість я скачав свій аркуш як csv і відкрив його в TextWrangler (будь-який текстовий редактор з пошуку та заміни буде працювати). Потім я знайшов ",," і замінив на ", 0". Мені довелося це робити двічі. Потім, коли я повторно імпортував, я використовував if(isblank())лише перший та останній стовпці мого набору даних. Все інше було нульовим. Всього зайняло близько 5-10 хвилин.


1

Ви можете використовувати "Знайти та замінити" ( Ctrl+ F→ Додаткові параметри).

  • Знайти: ^$
  • Замініть на: 0
  • Пошук: Ваш асортимент
  • Виберіть: Пошук за допомогою регулярних виразів

1
-1. У запитанні чітко зазначено, що це не спрацювало на запитувача.
msh210
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.