①指定の列が"完了"となれば"完了"となっている行全体を別シートに貼り付け
②元シートの指定の列が"完了"となっている行のセル(例2列目、5列目、7列目)をクリアするにはどうすればよいでしょうか。
"完了"となる列は16列目になります。(A行からでP行にあたる)
※よく似た元ソースは見つけたのですが、列全体を削除してしまいます。
よろしくお願いします。
function triggeredCutPaste() { const spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); const src = spreadsheet.getSheetByName("○○"); const dst = spreadsheet.getSheetByName("○○"); copyPaste(src, dst); deleteRows(src); } function copyPaste(src, dst) { const finished = src.getDataRange().getValues() .filter(function(element, index, array) { return element[15] === "完了"; }); if(finished.length > 0) { dst.getRange(dst.getLastRow() + 1, 1, finished.length, finished[0].length).setValues(finished); } } function deleteRows(sheet) { sheet.getDataRange().getValues() .map(function(element, index, array) { return [index + 1, element[15]] }).filter(function(element, index, array) { return element[1] === "完了"; }).map(function(element, index, array){ return element[0]; }).reverse().forEach(function(element, index, array){ sheet.deleteRow(element); }); }
追記
|A|B|C|D|~|O|P|
|:--|:--:|--:|
|あ|い|う|え|~|た|完了|
例えですがP列に完了が入ると別シートに行全体がコピペされ
元シートの「い」「え」だけクリアされるイメージです。
回答1件
あなたの回答
tips
プレビュー