しごと自動化レシピ

WORK RECIPE GAS

必須項目の不足だけを行番号付きで一覧にする

申請番号と担当者が空欄の明細を探し、元の行番号と不足項目を別シートへ出します。元データを自動補完せず、担当者が入力内容を確認するための点検表を作ります。

実行確認の記録なし

公式資料を参照して構成した手順です。本記事の操作・コードの実行は未確認です。小さな入力例で期待結果を確かめてから利用してください。

できあがるもの

不足一覧は見出しに続き「3,担当者」「4,番号」の2行です。問題のない行2は出ず、空白文字だけの値も不足として扱います。

始める前に

  • ブラウザ版Googleスプレッドシートの編集権限と紐付きApps Script
  • コピーした検証用ファイルで実行。Apps ScriptはV8ランタイムを利用
  • 「申請」A列番号・B列担当者、1000行以内
  • 出力先「不足一覧」は未作成
入力例

申請!A1:B4は「番号,担当者」「R01,担当A」「R02,」「,担当C」。検証には個人名でなく架空の担当名を使います。

手順

  1. 申請シートを含むファイルをコピーします。見出しの次がデータ行になるようにし、列AとB以外の情報はこの検査の対象にならないことを確認します。
  2. 以下をスクリプトへ貼り付けて保存します。独立した例なので、ほかの記事の同名関数があるプロジェクトには混ぜません。 /** @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); }
  3. missingReportを手動実行し、対象ファイルの権限を確認します。元の行3は担当者、行4は番号が不足と出ることをチェックします。
  4. 申請側の不備を埋めた後は、既存の不足一覧を保管するか削除してから再実行します。出力名が残る間は停止するので、前の結果を無断で上書きしません。

期待結果と照合する

不足一覧は見出しに続き「3,担当者」「4,番号」の2行です。問題のない行2は出ず、空白文字だけの値も不足として扱います。

まずこの入力例で確認し、件数や値が一致しているかを見ます。完了表示だけで判断せず、重複・空欄・対象外データも残っていないか確認してください。

うまくいかないとき

  • 途中の完全空行も2項目不足として出ます。空行を許す台帳なら除外条件を業務定義に合わせて追加します。
  • 担当者が実在するかや、番号が重複するかは別の検査です。必須値の有無だけを確認します。

止める・元に戻す

不足一覧だけを削除し、missingReport関数を外します。原本の申請データはこのコードから更新していません。

公式資料・対応範囲

参照日:2026-10-17。公式資料の一般的な機能説明と、本記事固有の入力例の実行検証は別です。実務での短縮時間や効果は未計測です。

同じツールで試す

GASの記事一覧へ →