2016-08-12 3 views
0

私は、スクリプトを使ってMySQLデータベースからシートにデータをインポートします。このインポート中、重い数式(vlookup、sumifs、filter)を持つ他のシートは絶えず再計算されているため、永遠に使用されます。スクリプトで数式を挿入するために、MySQLデータが完全にインポートされるとします。Googleシート式をスクリプトでシートに抽出するにはどうすればよいですか?

この処理を簡単にするために、シート上のすべての数式(非常に長いシート)をファイルに抽出し、抽出されたデータを次のようにフォーマットします。例:概要」:シート

  • 内の各セルを通る

    • ループは、それが後で使用するために容易以下コーディング構造を使用してファイルに書き込む
    • セルの内側の式を読み取る

    例:

    cell A1 has formula "=SUM(B3:B4)" 
    cell A2 has formula "=C3+C5-C8" 
    

    出力はファイルに:

    var sheet = SpreadsheetApp.getActive().getSheetByName('Summary'); 
    var cell = sheet.getRange("A1"); 
    cell.setFormula("=SUM(B3:B4)"); 
    var cell = sheet.getRange("A2"); 
    cell.setFormula("=C3+C5-C8)"); 
    

    感謝を事前にご提案のため。

  • 答えて

    1

    あなたは、配列に数式のすべてを取得する範囲をクリアし、あなたの処理を行って、その後、数式を挿入し直してみてください:

    var rng = sheet.getRange("A1:B123"); 
    var arr = rng.getFormulas(); 
    rng.clear({contentsOnly: true}); 
    
    ...Do your processing... 
    
    rng.setFormulas(arr); 
    
    +0

    最適なソリューションを!私のために働く。ありがとう、alfie! –

    関連する問題