2016-07-10 26 views
0

私は簡単な質問をして答えを見つけられませんでしたか?Googleスプレッドシート:自動的に新しい行が追加された新しい行に適用されます

マイスプレッドシートは次に、カラムCは、式B/10を介して計算され、この(例えば)

A B C 1 Name Amount Tax 2 Neil 20 2 3 Rose 100 10

ように見えます。私は新しい行を挿入したいのですが 行2の上に(最後ではありません)、列Cの新しい行に数式を適用します。

私はこれを自動的に行う方法が見つかりません。私は方法を知っています - 手動で数式をコピーします(もちろん、実際にこれをやりたい多くの列があります)。 - 数式を拡張するためにarrayformulaを使用してください。私が持っている問題は のようにarrayformulaを使用した場合です:arrayformula(B2:B/10)最後に行を追加するとすばらしいです。しかし、新しい行2になる行を挿入すると、式は元のセルにリンクされたままになり、論理的ですが新しい行2に論理式が関連付けられていないため、論理的ですがarrayformula(B3:B/10)に変更されます - arrayformula(B:B/10)を使用すると、行1(列ヘッダー)を含むすべての行に適用され、位置について非常に混乱します。

がある方法であるので、私はあなたを求める必要があり、

答えて

1

:-)あなたの援助のためのインターネットはここで一番上に新しい行を挿入し、新しい行に数式をコピーするAppsスクリプトを使用する方法です。データの複雑さによってはカスタマイズが必要になるかもしれませんが、うまくいけばいいと思います。少し読みから

// global 
 
var ss = SpreadsheetApp.getActive(); 
 

 

 
function addFirstRow() { 
 
    var firstRow = 2; 
 
    var sh = ss.getActiveSheet(); 
 
    var lCol = sh.getLastColumn(); 
 
    var range = sh.getRange(firstRow, 3, 1, lCol); 
 
    var formulas = range.getFormulas(); 
 
    sh.insertRowsAfter(1, 1); 
 
    newRange = sh.getRange(firstRow, 3, 1, lCol); 
 
    newRange.setFormulas(formulas); 
 
}

+0

、簡単で、インストール可能なトリガーが存在するようです。私は後者が必要だと思うし、スクリプトは行を追加しないように変更する必要がありますが、数式(3つの列が数式である)を新しく作成した行にコピーするだけです。 – Neil

関連する問題