Google App Scriptを使用すると、Sheet1に存在するSheet2のIDを見つけて、Sheet2内のCommentフィールドに記載されているものとともにSheet1内にコメントフィールドを追加します。別のセルの値に基づいて行を追加するGoogleスクリプト
シート1は:
Sheet2のIDに基づいて、すべてのデータを保持します:
Sheet1の例次の使用例は、シート1に、いくつかのID年代に
ID Type In Stock Comment
1 Apple Yes
2 Banana No
3 Orange Yes
Sheet2の例
ID Comment
1 Text
2 Text
に関連するコメントを保持します
コード
これは、私はIDが可変であるとして明らかに、これは、このケースでは動作しません、「はい」と呼ばれる変数を識別するために、私の元データをループ何か他のもののために使用してきたコードですダイナミックなものを見つける必要があります。
私はこのコードを変更してSheet2をループし、すべてのIDを取得し、そのIDをSheet1に対してチェックするようにしています。これらのIDがSheet1に存在する場合は、Sheet2に既にリストされているコメントをSheet1のコメントに更新してください。
function setComment(){
var outputSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
var lastRow = outputSheet.getLastRow();
var lastCol = outputSheet.getLastColumn();
var targetValues = [];
var sourceSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");
var lastSourceRow = sourceSheet.getLastRow();
var lastSourceCol = sourceSheet.getLastColumn();
var sourceRange = sourceSheet.getRange(1, 1, lastSourceRow, lastSourceCol);
var sourceData = sourceRange.getValues();
{
//Loop through every retrieved row from the Source
for (row in sourceData) {
//IF Column I in this row has 'Yes', then work on it.
if (sourceData[row][1] === 'Yes') {
//Save it ta a temporary variable
var tempvalue = [sourceData[row][0], sourceData[row][7]];
//then push that into the variables which holds all the new values to be returned
targetValues.push(tempvalue);
}
}
//Save the new range to the appropriate sheet starting at the last empty row
outputSheet.getRange(lastRow + 1, 1 , targetValues.length, 2).setValues(targetValues);
}
}
おかげアントワーヌ、私はこのような何かを考えていたが、それは仕事を得ることができませんでした。 私はそれを打つつもりです! – bdev
@bdevどうしたらいいか教えてください! –