昨日私はこの質問をしました:Send email notification when values in different columns increase 基本的にはパーセント計算の配列があり、最後の行の異なる列の値が増加基準を満たしていれば別のシートにコピーされます。値が増加したときにセルを別のシートにコピー
私はそれに応じてコードを変更しようとしました:私はすべてを変えただけで1つのセルは罰金ですが、複数のセルがある場合、スクリプトは一つの値だけをコピーし、それがあるとき今問題がある
function compareValue() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Perc");
var data = sheet.getRange(1, 1, sheet.getLastRow(), sheet.getLastColumn()).getValues();
var list = [];
for(var i=0; i<data[0].length; i++){
var title = data[0][i];
var value = parseFloat(data[data.length -1][i]);/
if(value >= 2){
var element = [title, value];
list.push(element)
}
}
if(list.length >= 1){
setValues(list);
}
}
function setValues(list) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Alert");
sheet.getRange('A1:Z50').clearContent();
var title = sheet.getRange(1, 1, list.length);
var value = sheet.getRange(1, 2, list.length);
for(var i=0; i<list.length;i++){
title.setValue(list[i][0]);
value.setValue(list[i][1]);
}
}
を必要な値の数だけ繰り返されます。たとえば、値2を超えて4つのセルが増加した場合、1つの値のみがコピーされ、4回繰り返されます。私は間違って何をしていますか?ありがとうございます
このコードから、配列の288番目の行だけを分析します。すべての値の変更を設定する場合は、行分析のループを追加する必要があります。 –
こんにちはPierre-Marie、昨日のように最後の行を分析するだけでいいです。しかし今は、電子メールを送信する代わりに、別のシートに値をコピーしたいと思います。私はあなたのコードを変更しようとしましたが、私の方法では機能しません。 –