2017-02-06 13 views
-1

このスクリプトは、シートからデータを取り出し、新しいシートに挿入します。私は2番目の関数を3番目の行に挿入する必要があります。Google App Script - 次の列にデータを挿入

結果が欲しい -

タイムスタンプ|インプレッションCTR

function AggregateData() { 
Impressions(); 
CTR(); 
} 

function Impressions() { 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getSheetByName("Metrics"); 
var source = sheet.getRange("G16:H16"); 
var values = source.getValues(); 
var sheet = ss.getSheetByName("Aggregate"); 
values[0][0] = new Date(); 
sheet.appendRow(values[0]); 
}; 

function CTR() { 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getSheetByName("Metrics"); 
var source = sheet.getRange("F16:G16"); 
var values = source.getValues(); 
var sheet = ss.getSheetByName("Aggregate"); 
values[0][0] = new Date(); 
sheet.appendRow(values[0]); 
}; 

このコードは、2番目の関数自体を最初の関数の結果の下に追加します。

+0

いくつかの説明を探してください:1)2番目の関数はCTR()ですか? 2)CTR()とインプレッション()を別のシートに追加すると、CTRでインプレッションによって追加されたものをどのように下に追加できますか? –

+0

申し訳ありませんが、私はコードを調整しました。それは同じシート上にあるべきです。注文はタイムスタンプ(col A)インプレッション(col B)CTR(col C)になります。私はdate()が既にimpression()によって設定されているので、CTR関数からdate()を削除する必要があると思います。助けてくれてありがとう。 – user1314051

+0

あなたの質問のもう一つの混乱事はあなたの質問の始めに "私は2番目の関数を毎回3番目の行に挿入したい"と言っています。しかし、上記のコメントから、あなたは「第3列に挿入する」と言ったと思います。私は正しいのですか、何か不足していますか?あなたのコードから、列Fと列Hをメトリックスシートから集計シートに交換しようとしています。 –

答えて

0

このコードでは、必要な順序でデータを新しいシートにコピーします。しかし、私はそれを一つの関数に減らしました。

Sheet.appendRow(data) 

はあなたが空の新しい行に供給したデータを置く:あなたのコードは、新しい行に新しいデータを置く理由は、この行です。それが私が2つの機能を1つに組み合わせた理由です。

function AggregateData() { 
Impressions(); 
} 

function Impressions() { 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getSheetByName("Metrics"); 
var source = sheet.getRange("F16:H16"); 
var values = source.getValues(); 
var pasteValues = [] // create new array which will hold the data you need to be pasted into the aggregate Sheet 
pasteValues[0] = [] // Adding a second dimesion to the array 
var sheet = ss.getSheetByName("Aggregate"); 
// below 3 lines does the switch of data and adds the time stamp 
pasteValues[0][0] = new Date(); 
pasteValues[0][1] = values[0][2] //Copy the col h (impressions value) value into the new array 
pasteValues[0][2] = values[0][1] //Copy the col G (impressions value) value into the new array 
sheet.appendRow(pasteValues[0]); //Append the new array into the sheet 
}; 
+0

ありがとうございます。同じ配列の中に別の列を追加するにはどうすればよいですか? – user1314051

+0

別の列を追加するには、pasteValuesの配列の新しいデータを追加してください。pasteValue [0] [3] = "new Col data here" –

+0

Thankyou J.これは一日中私を悩ませていました。 – user1314051

関連する問題