しごと自動化レシピ

WORK RECIPE GAS

複製した台帳に状態のプルダウンを付ける

進捗台帳のコピーへ状態の選択肢を設定し、表記ゆれを減らす入力欄を作ります。既存データの正しさは別に点検し、選択肢にない入力を拒否する動作を確認します。

実行確認の記録なし

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

できあがるもの

複製先のB2:B100に未着手・対応中・完了の選択肢が付きます。選択肢以外の文字入力を拒否し、原本台帳の入力規則には影響しません。

始める前に

  • ブラウザ版Googleスプレッドシートの編集権限と紐付きApps Script
  • コピーした検証用ファイルで実行。Apps ScriptはV8ランタイムを利用
  • 「台帳」A列案件・B列状態、2〜100行を入力対象とする
  • 出力名「入力検証」は未使用、既存B列は未着手・対応中・完了のみ
入力例

台帳!A1:B3を「案件,状態」「相談A,未着手」「相談B,対応中」にします。

手順

  1. 台帳の検証用コピーを作ります。初めから値が入っているセルに規則を付けても、その値が自動で正されるとは限らないので、事前にB列の状態を点検します。
  2. 以下をスクリプトへ貼り付けて保存します。独立した例なので、ほかの記事の同名関数があるプロジェクトには混ぜません。 /** @OnlyCurrentDoc */ function statusValidation() { const ss=SpreadsheetApp.getActive(), s=ss.getSheetByName('台帳'); if(!s || ss.getSheetByName('入力検証')) throw Error('シートを確認'); if(s.getMaxRows()<100) throw Error('100行以上のシートを用意'); const out=s.copyTo(ss).setName('入力検証'); const rule=SpreadsheetApp.newDataValidation() .requireValueInList(['未着手','対応中','完了'],true) .setAllowInvalid(false) .setHelpText('3つの状態から選んでください').build(); out.getRange('B2:B100').setDataValidation(rule); }
  3. statusValidationを手動実行して権限を確認します。入力検証!B2を選び、3つの状態が表示されることを確認します。
  4. B2を完了に変えて受け付けられるか試し、次に「対応中です」と入力して拒否されるか確認します。元の台帳B2が未着手のままであることも確認し、コピー側のB2を未着手に戻します。

期待結果と照合する

複製先のB2:B100に未着手・対応中・完了の選択肢が付きます。選択肢以外の文字入力を拒否し、原本台帳の入力規則には影響しません。

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

うまくいかないとき

  • 既存の不正値を自動修正するコードではありません。導入前の点検結果を別に残します。
  • 貼り付けや編集操作で規則自体が変更される可能性があります。規則は権限管理の代わりにはなりません。

止める・元に戻す

入力検証シートを削除します。複製先だけで規則を外す場合はデータの入力規則の画面からB2:B100のルールを削除します。

公式資料・対応範囲

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

同じツールで試す

GASの記事一覧へ →