-1

このスクリプトは E1 を 36 に変更し、D1 をクリアします。つまり、2 つのセルを追加してから、もう一方のセルをクリアします。D1 E1 10 26

 var ss = SpreadsheetApp.getActiveSheet(); 
 var num1 = ss.getRange("D1").getValue(); 
 var num2 = ss.getRange("E1").getValue();
 ss.getRange("E1").setValue(num1+num2); 
 ss.getRange("D1").clear();

Googleスプレッドシートスクリプトからコードをコピーして、2つのセルを一緒に追加したため. 上記の例を列内のすべてのセル、つまり列Dと列E全体に適用したい.

4

2 に答える 2

3

これは答えです:

function addColumns(){
  var ss = SpreadsheetApp.getActiveSheet();
  var len = ss.getLastRow();
  for(var i = 1 ; i < len +1  ; i++){
    var num1 = ss.getRange("D"+i).getValue(); 
    var num2 = ss.getRange("E"+i).getValue();
    ss.getRange("E"+i).setValue(num1+num2); 
    ss.getRange("D"+i).clear(); 
  }
}

まったく効率的ではありません...そのため、奇妙に遅いことがわかります。しかし、それは機能します。
@eddyparkinson に同意します。Google Apps スクリプト (JavaScript とほぼ同じ) を学ぶのは良いことです。約 1 年前にゼロから学習を開始する必要がありました。主に、Google Apps スクリプトのこの特定のフォーラムを見て、行き詰まったときに、インターネットで見つけることができる膨大な量の JavaScript の一般的なヘルプを参照して、手元にある用語を検索します。

編集 わかりやすくするために、このスクリプトをスプレッドシートで共有しました (ここをクリック)。そのスプレッドシートには、「スクリプト センター メニュー > 列 D を E に追加」というカスタム メニューがあります。

これにより、列 D シート 1 のすべての値が列 E シート 1 の値に追加され、それらが列 E に表示され、列 D の元の値が削除されます (実験したい場合は、列の値を手動で準備できます。列 D と E に必要な値を入力します。最初に列 D と E の現在の値をクリアする方が簡単な場合があります。デモンストレーション用に値を自分で設定する別の方法は、2 番目のメニュー項目 [スクリプト センター メニュー] > [コピー] を使用することです。 Sheet2 の既存の値を Sheet1 に単純にコピーする列)。

于 2013-08-17T19:26:32.053 に答える