
How this page was reviewed
Orders というシートと Status 列を持つ独立した Apps Script プロジェクトでテストしました。承認前に要求されるスコープを確認してください。
安全な実装
シートのコピーから始め、期待する結果を明確にし、トリガーを追加する前に関数を手動で実行します。
失敗しやすい点
シート名の欠落、列の移動、認可不足、割り当て量によって自動化が停止することがあります。エラーを記録し、処理を冪等にしてください。
Implementation note
Tested example
function markPendingOrders() {
const sheet = SpreadsheetApp.getActive().getSheetByName('Orders');
if (!sheet) throw new Error('Orders sheet not found');
const values = sheet.getDataRange().getValues();
values.slice(1).forEach((row, index) => {
if (row[2] === 'Pending') sheet.getRange(index + 2, 3).setValue('Ready');
});
}- Required scope
- https://www.googleapis.com/auth/spreadsheets.currentonly
- Expected output
- Orders の C 列にある Pending がすべて Ready に変わります。
- Watch for
- Orders がない場合、関数はエラーになります。検証で本番実行を保護し、大きなシートでセル単位の書き込みを避けてください。
Official sources
Read the original documentation before changing a production workflow.