公式資料を参照して構成した手順です。本記事の操作・コードの実行は未確認です。小さな入力例で期待結果を確かめてから利用してください。
できあがるもの
メニュー操作で「未完了: 2件(B2:B100)」が表示されます。状態の入力値は変わらず、集計用シートも増えません。
始める前に
- ブラウザ版Googleスプレッドシートの編集権限と紐付きApps Script
- コピーした検証用ファイルで実行。Apps ScriptはV8ランタイムを利用
- 「台帳」B2:B100に状態、値は未着手・対応中・完了のいずれか
- 同じプロジェクトに既存のonOpen関数がない検証ファイル
入力例
台帳!A1:B4は「案件,状態」「A,未着手」「B,対応中」「C,完了」。B5:B100は空欄にします。
手順
- 検証用ファイルからApps Scriptを開きます。既存のonOpenがある場合は上書きせず、別の検証ファイルで試してください。この例はインストール型トリガーを追加しません。
- 次の完全なコードをスクリプトへ貼り付けて保存します。他の記事の同名関数があるプロジェクトには混ぜません。 /** @OnlyCurrentDoc */ function onOpen() { SpreadsheetApp.getUi().createMenu('台帳点検') .addItem('未完了件数','countOpenItems').addToUi(); } function countOpenItems() { const s=SpreadsheetApp.getActive().getSheetByName('台帳'); if(!s || s.getMaxRows()<100) throw Error('台帳を確認'); const vals=s.getRange('B2:B100').getDisplayValues().flat(); const n=vals.filter(v=>v==='未着手' || v==='対応中').length; SpreadsheetApp.getUi().alert('未完了: '+n+'件(B2:B100)'); }
- 保存してシートを再読み込みします。メニューバーに台帳点検が出たら、未完了件数を選びます。初回に権限確認があれば対象ファイルの内容を確認します。
- ダイアログが2件になるか確認します。B2を完了へ変えて再度メニューを選び、1件へ変わることを確かめてから未着手へ戻します。
期待結果と照合する
メニュー操作で「未完了: 2件(B2:B100)」が表示されます。状態の入力値は変わらず、集計用シートも増えません。
まずこの入力例で確認し、件数や値が一致しているかを見ます。完了表示だけで判断せず、重複・空欄・対象外データも残っていないか確認してください。
うまくいかないとき
- 101行目以降は対象外です。行数を広げる場合は範囲とダイアログの説明を両方直します。
- 表記ゆれや空白は未完了として数えません。状態を入力規則で固定すると集計漏れを減らせます。
止める・元に戻す
追加したonOpenとcountOpenItemsを削除して保存し、シートを再読み込みします。メニューが消え、台帳データは残ります。
公式資料・対応範囲
参照日:2026-10-17。公式資料の一般的な機能説明と、本記事固有の入力例の実行検証は別です。実務での短縮時間や効果は未計測です。