公式資料を参照して構成した手順です。本記事の操作・コードの実行は未確認です。小さな入力例で期待結果を確かめてから利用してください。
できあがるもの
不足一覧は見出しに続き「3,担当者」「4,番号」の2行です。問題のない行2は出ず、空白文字だけの値も不足として扱います。
始める前に
- ブラウザ版Googleスプレッドシートの編集権限と紐付きApps Script
- コピーした検証用ファイルで実行。Apps ScriptはV8ランタイムを利用
- 「申請」A列番号・B列担当者、1000行以内
- 出力先「不足一覧」は未作成
入力例
申請!A1:B4は「番号,担当者」「R01,担当A」「R02,」「,担当C」。検証には個人名でなく架空の担当名を使います。
手順
- 申請シートを含むファイルをコピーします。見出しの次がデータ行になるようにし、列AとB以外の情報はこの検査の対象にならないことを確認します。
- 以下をスクリプトへ貼り付けて保存します。独立した例なので、ほかの記事の同名関数があるプロジェクトには混ぜません。 /** @OnlyCurrentDoc */ function missingReport() { const ss=SpreadsheetApp.getActive(), s=ss.getSheetByName('申請'); if(!s || ss.getSheetByName('不足一覧')) throw Error('シートを確認'); const n=s.getLastRow(); if(n<2 || n>1000) throw Error('行数を確認'); const out=[['元の行','不足項目']]; s.getRange(2,1,n-1,2).getDisplayValues().forEach((r,i)=>{ const missing=['番号','担当者'].filter((_,j)=>!r[j].trim()); if(missing.length) out.push([i+2,missing.join('・')]); }); ss.insertSheet('不足一覧').getRange(1,1,out.length,2).setValues(out); }
- missingReportを手動実行し、対象ファイルの権限を確認します。元の行3は担当者、行4は番号が不足と出ることをチェックします。
- 申請側の不備を埋めた後は、既存の不足一覧を保管するか削除してから再実行します。出力名が残る間は停止するので、前の結果を無断で上書きしません。
期待結果と照合する
不足一覧は見出しに続き「3,担当者」「4,番号」の2行です。問題のない行2は出ず、空白文字だけの値も不足として扱います。
まずこの入力例で確認し、件数や値が一致しているかを見ます。完了表示だけで判断せず、重複・空欄・対象外データも残っていないか確認してください。
うまくいかないとき
- 途中の完全空行も2項目不足として出ます。空行を許す台帳なら除外条件を業務定義に合わせて追加します。
- 担当者が実在するかや、番号が重複するかは別の検査です。必須値の有無だけを確認します。
止める・元に戻す
不足一覧だけを削除し、missingReport関数を外します。原本の申請データはこのコードから更新していません。
公式資料・対応範囲
参照日:2026-10-17。公式資料の一般的な機能説明と、本記事固有の入力例の実行検証は別です。実務での短縮時間や効果は未計測です。