・入力フォームから案件データベースへ登録できる
・案件IDを自動で採番できる
・ボタンを押すだけで利用可能
このコードでできること
・入力フォームの内容を別シートへ転記
・案件IDを自動採番
・案件データを蓄積
GASコード
function saveProject() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const formSheet = ss.getSheetByName("案件入力フォーム");
const dbSheet = ss.getSheetByName("案件データベース");
// 次の案件IDを生成(A00001形式)
const lastRow = dbSheet.getLastRow();
const nextNumber = lastRow;
const caseId =
"A" +
String(nextNumber).padStart(5, "0");
// フォームの値取得
const projectName = formSheet.getRange("C2").getValue();
const clientName = formSheet.getRange("C3").getValue();
const person = formSheet.getRange("C4").getValue();
const orderDate = Utilities.formatDate(
new Date(formSheet.getRange("C5").getValue()),
Session.getScriptTimeZone(),
"yyyy/MM/dd"
);
const amount = formSheet.getRange("C6").getValue();
const status = formSheet.getRange("C7").getValue();
const memo = formSheet.getRange("C8").getValue();
// 登録日
const today = Utilities.formatDate(
new Date(),
Session.getScriptTimeZone(),
"yyyy/MM/dd"
);
// データベースへ追加
dbSheet.appendRow([
today,
caseId,
projectName,
clientName,
person,
orderDate,
amount,
status,
memo
]);
SpreadsheetApp.getUi().alert(
"案件を登録しました。"
);
}
シート構成
案件入力フォーム
| セル | 項目 |
|---|---|
| C2 | 案件名 |
| C3 | 顧客名 |
| C4 | 担当者 |
| C5 | 受注日 |
| C6 | 金額 |
| C7 | ステータス |
| C8 | 備考 |
入力例
| 項目 | 値 |
|---|---|
| 案件名 | HP制作 |
| 顧客名 | 株式会社ABC |
| 担当者 | 山田 |
| 受注日 | 2026/06/14 |
| 金額 | 500000 |
| ステータス | 進行中 |
| 備考 | トップページ修正あり |
図形ボタンを配置し、以下の関数を割り当てます。
関数名:saveProject
案件データベース
| A | B | C | D | E | F | G | H | I |
|---|---|---|---|---|---|---|---|---|
| 登録日時 | 案件ID | 案件名 | 顧客名 | 担当者 | 受注日 | 金額 | ステータス | 備考 |
カスタマイズ例
パターン①
登録後に入力フォームをクリアする
追加コード
formSheet.getRange("B3:B9").clearContent();
パターン②
案件IDを5桁にする
修正コード
const projectId = formSheet.getRange("B2").getValue();
よくあるエラー
ボタンを押しても実行されない
対処法
・関数名がregisterDataになっているか確認
・ボタンに関数を割り当てているか確認
▶ 実行ボタンの作成方法
シートが見つからない
対処法
・案件入力フォームのシート名を確認
・案件データベースのシート名を確認
サンプルファイル
このコードを試せるGoogleスプレッドシートを配布しています。
▶ サンプルシートをコピーする
ファイル名
案件管理システム_1(GASコードなし)
【完成】案件管理システム_1(GASコードあり)
関連記事
▶ GASで入力フォームを自動クリアするコード
▶ GASでチェックボックスにチェックしたら別シートへ転記するコード
▶ GASで担当者別にデータを集計するコード

コメント