社内ツールをノーコード(スプレッドシート+Apps Script・kintone)で作るか、開発するか。分かれ目になる6つの実装上の条件
社内ツールを
この
この
ノーコードか開発かは、6つの条件のどれに当たるかで決める
分かれ目は、
| 条件 | ノーコードの |
開発を |
|---|---|---|
| ① 同時の |
入力する |
何人もが |
| ② 件数と |
件数が |
過去分を |
| ③ |
通知や |
大量の |
| ④ 見せる |
使う |
人や |
| ⑤ 外部との |
外の |
決済や |
| ⑥ 直す人と |
作った |
作った |
この
① 同時に書き込む人が増えると、行のずれと上書きが起きる
同時に
Apps Script には、
function appendRequest(row) {
const lock = LockService.getScriptLock();
// 30秒待っても取れなければ例外にして、送信した人に再送を頼む
lock.waitLock(30000);
try {
const sheet = SpreadsheetApp.getActive().getSheetByName('申請');
sheet.appendRow(row);
} finally {
lock.releaseLock();
}
}ただし、
② 件数が増えたときに当たる上限は、道具ごとに違う
件数の
| 道具 | 公式に |
実際に |
|---|---|---|
| Google スプレッドシート | 1ファイルあたり1,000万セル、 |
列の |
| kintone REST API | 複数の |
外部の |
セル数の
kintone の
③ 自動処理は、実行時間と1日の回数の枠に収まるかで決まる
Apps Script と
| 道具 | 項目 | 上限 |
|---|---|---|
| Apps Script | 1回の |
6分 |
| Apps Script | トリガーの |
1日あたり 無料の |
| Apps Script | メールの |
1日あたり 無料の |
| Apps Script | 同時実行 | 1ユーザーあたり30 |
| kintone REST API | 1日の |
1アプリあたり スタンダードコース10,000件、 |
| kintone REST API | 同時リクエスト | 1ドメインあたり100まで |
Google は、
判断の
④ 人によって見せる範囲を変えるなら、スプレッドシートの共有では足りない
スプレッドシートで
その
kintone は、
⑤ 外部サービスからの通知を受けるなら、取りこぼしの扱いを先に決める
決済、
Apps Script でも、
| 外部との |
ノーコードで |
開発で |
|---|---|---|
| 書き出し・取り込み | 毎月 |
― |
| 外部への |
1日数回、 |
件数が |
| 外部からの |
― | 決済の |
外部からの
⑥ 直す人が作った人以外になるなら、変更の記録を残せる形にする
ノーコードの
Apps Script の
それでも、
分かれ目を越えたら、まず「データの正本」をどこに置くかを決め直す
条件に
| 形 | 正本 | ノーコードに |
開発する |
|---|---|---|---|
| A | スプレッドシート | 入力と |
なし |
| B | kintone | 入力画面、 |
外部からの |
| C | 開発した |
集計や |
入力、 |
A から
ノーコードで作るうちから、移しやすい形にしておく5つの作法
ノーコードで
- 1件ごとに、
変わらない :行番号ではなく、番号を 振る 申請番号や 顧客番号の 列を 作り、 一度 振ったら 変えない - 1行に
1件だけを :書く 1つの セルに 複数の 値を 改行で 入れない。 明細が 複数あるなら別の シートに 分ける - 日付と
時刻は :決まった 形で 入れる 「10/3」 「10月3日」を 混ぜず、 日付の 型で 入力する - 選択肢は
一覧から :入力規則や選ばせる ドロップダウンで、 表記の 揺れを 最初から 防ぐ - スクリプトと
関数の :シートの役割を 書き残す 先頭に、 どの 列を 誰が 入力し、 どの 列を 何が 書き込むかを 書く
1〜4 が
判断に迷ったときは、条件を1つずつ書き出して確かめる
判断の
- その
道具を 毎日 使う 人と、 同時に 書き込む人の 人数を 書く (①) - 今の
件数と、 1年で 増える 件数の 見込みを 書く (②) - 自動で
動いている 処理を 一覧にし、 止まった ときに 困る 処理に 印を 付ける (③) - 見せてはいけない
人が いる データが あるかを 書く (④) - 外部の
サービスから 届く 通知や、 外部へ 送る データを 書く (⑤) - 作った
人が いなくなった ときに、 誰が 直すかを 書く (⑥)
当たった
株式会社bundlyzeでは、
出典(公式の資料/2026年10月2日に確認)
- Google Apps Script
「Google サービスの :1回の割り当て」 実行時間6分、 トリガーの 合計実行時間、 メールの 受信者数、 同時実行数。 割り 当ては 予告なく 変わる 可能性が ある 点 - Google Apps Script「Lock Service」:コードの
一部が 同時に 実行されるのを 防ぐ 仕組み - Google ドライブ ヘルプ「Google ドライブに
保管可能な :スプレッドシートはファイル」 1,000万セル、 または 18,278列 (列 ZZZ)まで - cybozu developer network
「kintone REST APIの :1日の共通仕様」 リクエスト数、 同時リクエスト数、 一度に 扱える レコード数、 offset の 上限 - kintone ヘルプ「一覧に
アクセス権を :一覧ではなく、設定できますか?」 レコードと フィールドの アクセス権で 見える 範囲を 絞る 点 - cybozu developer network
「offsetの :件数が制限値を 考慮した kintoneの レコード一括取得に ついて」 多い ときの 読み出し方 - clasp
(Google が :Apps Script の公開している Apps Script の コマンドラインの 道具) コードを 手元に 書き出して 管理する
よくある質問
ノーコードで作った社内ツールは、いずれ作り直しになりますか?
必ずしも
Apps Script のプログラムも「開発」ではないのですか?
書くのは
kintoneとスプレッドシートでは、どちらが長く使えますか?
用途に