web-dev-qa-db-ja.com

クリアセルグーグルシートスクリプト

Googlesheetに行と列がたくさんあるシートがあります。

列Bに値0があるセルをクリアしたいと思います。

私はこのコードを書きましたが、機能しません。私はjavascriptの専門家ではありません:|

function clean0() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getDisplayValues();
  if(data == "0"){
    sheet.getRange('B:B').clearContent();
  }
}

私の間違いはどこにありますか?

手伝ってくれてありがとう :)

3
overer

値が「0」の列Bのセルのセルコンテンツをクリアしたいとします。私の理解が正しければ、この変更はどうですか?あなたの状況にはいくつかの答えがあると思います。ですから、これをその一つと考えてください。

変更点:

  • 「B:B」の値を取得します。
  • 取得した値が「0」の場合に範囲を取得します。
  • 取得した範囲のコンテンツをクリアします。

変更されたスクリプト:

function clean0() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getRange('B:B').getDisplayValues();
  var range = [];
  data.forEach(function(e, i){
    if (e[0] == "0") range.Push("B" + (i + 1));
  });
  sheet.getRangeList(range).clearContent();
}

参照 :

あなたの質問を誤解してしまったら、ごめんなさい。

2
Tanaike