2016-10-12 10 views
0

Iは、スクリプトを作った:グーグルスクリプト:戻り値の代わりに式

function getWN8() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheets()[0]; 
    var startRow = 11; 
    var queryString = Math.random(); 
    var dataRange = sheet.getRange(startRow, 3) 
    var data = dataRange.getValues(); 
    var values = SpreadsheetApp.getActiveSheet().getDataRange().getValues() 
    var input, cellFunction, range, row; 


    for (var n=startRow-1; n < values.length;++n){ 
    input = values[n][0]; 
    row = values[n]; 
    cellFunction = '=INDEX(IMPORTHTML("http://en.wot-life.comeu/player/' + input + '", "table", 1),16,2)'; 

    for (var i = 0; i < row.length; ++i) { 
     range = sheet.getRange((n+1), 2); 
     range.setValue(cellFunction); 
    } 
    } 
} 

このスクリプトは、最初の列から値を読み出して、HTTPリンクを出力する第一のカラムからの挿入値が第2列のセル内に押し込まれます。しかし、私がシートを見ると、セルに数値が表示されていますが、式として扱われています。したがって、条件付き書式設定はできません。

私がする必要があるのは、式の代わりにセルに値をプッシュすることだけです。どのようにそれを行うことができますか?私はスクリプトやプログラミングにあまり熟練していません。あなたはsetFormula(formula)またはsetFormulaR1C1(formula)を使用する場合があります任意の助け

イヴォ

答えて

0

ため

感謝。

setFormula(formula)

  • この範囲の数式を更新します。指定された数式はA1表記でなければなりません。
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getSheets()[0]; 

var cell = sheet.getRange("B5"); 
cell.setFormula("=SUM(B3:B4)"); 

setFormulaR1C1(formula)

  • この範囲の数式を更新します。指定された数式はR1C1表記でなければなりません。
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getSheets()[0]; 

var cell = sheet.getRange("B5"); 
// This sets the formula to be the sum of the 3 rows above B5 
cell.setFormulaR1C1("=SUM(R[-3]C[0]:R[-1]C[0])"); 

この情報がお役に立てば幸いです。

+0

docリンク:https://docs.google.com/spreadsheets/d/1LVlRhOQRkGNIB8-fcZzzK4AneQ5PYlse49EkY9Pd3HE/edit?usp=sharing B11:B111の合計を得るためにnedを加算する値はありません。 –

0

あなたのようなあなたの最後の反復に何かを追加する必要があります値に数式を有効にするには:

残念ながら
var val = range.getValue; 
range.setValue(val); 

、私は道の計算を発見し、スプレッドシートを使用して直接値に入れていません式。値を直接入れるには、数式とまったく同じ数式を実行しているコードが必要です。

関連する問題