2017-08-01 3 views
1

私は1枚のシートにいくつかのテーブルがあり、毎日メールを送るためにスクリプトを作成する必要があります。私が今日検索したスクリプトは、それを私のテーブルにマッチさせて列番号を返します。そして、最初の列(A)のTotalを探して、それを見つけたら行番号を返します。行番号と列番号を取得したら、その日の合計値を返します。私はJavaScriptで進歩していないし、配列(まだ学んでいる)と闘っている。私がこれまでに持っていたスクリプトは、そのシートに1つのテーブルしかない限り、とてもうまくいっていますが、シート上には50以上のテーブルがあり、最後に合計があります。私が持っている数式は、合計を見つけるが、すべての合計(行番号)を文字列として返します。私が必要とするのは、最初の合計(行番号)を取得することだけです。私はそれがすべて理にかなってほしい。返信行番号は一致エラーです

私はアイデアを作るために画像を添付しているし、私のスクリプト私がこれまで持っている:

function getTodaysTotal() { 
function toDateFormat(date) { 
try {return date.setHours(0,0,0,0);} 
catch(e) {return;} 
} 

var values = SpreadsheetApp 
    .openById("ID") 
    .getSheetByName("Q3 - W27 - 39") 
    .getDataRange() 
    .getValues(); 


for (i in values){ 
if (values[i][0]=='Total'){ 
var nr = i; 

    Logger.log(nr); // will return two values (41 - first total and 
    104 second total ... if you add more Total it will return all rows 
    numbers that contain word Total 

} 
} 

var today = toDateFormat(new Date()); 
var todaysColumn = 
values[5].map(toDateFormat).map(Number).indexOf(+today); 
var output = values[nr][todaysColumn]; 
//  Logger.log(output); 
var emailDate = Utilities.formatDate(new Date(today),"GMT+1", 
"dd/MM/yyyy"); 

table

これはちょうど最初のテーブルですが、この1とそれぞれの下に多くのがあるだろう1つは合計を持つでしょう。

ありがとうございました!

大切にしてください!

+0

シートのサンプルシートを50枚のテーブルで提供できますか、実際のシートへのリンクが良いでしょうか?各テーブルを他と区別できるのは何ですか? – mongoose36

+0

私は2つのテーブルでテストファイルを提供することができます。パターンはすべて50で同じになります。https://drive.google.com/open?id=1Of2qpfaz8Z8sAhblVP1ebllHR3WT7b3kEehli6xqe0U。 .... –

+0

ありがとうAndrei!シートに編集権限を与えることは可能でしょうか。 – mongoose36

答えて

2

ループの外側にnrを宣言する必要があります。値を使用するからです。

var nr = 0; 

あなたは、配列を読んでいるので、あなたはStringとしてあなたの合計を取得したら、あなたは以下を呼び出すことで数値に変換することができますループ

for (var i=0; i<values.length; i++){ 
    if (values[i][0]=='Total'){ 
    nr = i; 
    Logger.log(nr); 
    break; // this will stop at the first match 
    } 
} 

のための配列の長さを使用する必要があります関数。

var string = values[a][b]; 
var num = Number(string); 
+0

ありがとう!それは完璧に働いています:) –

+0

簡単な質問...もし私が第2の価値か第3の価値を望むなら?私は列のみ(合計)を意味します。ありがとうございました! –

関連する問題