/ 第3章
Chapter 03

データ構造の変更と同期
Regenerate Schema を正しく使う

AppSheetでは、元データのスプレッドシートやExcelを後から変更すると、 アプリ側の理解している構造とズレが生まれます。 この章では、「変更したら再生成する」という基本ルールを、 理由から手順まで初心者にも分かる形で学びます。

この章のゴール

元データを変更した後に、なぜ AppSheet 側で再生成が必要なのかを理解し、 安全に反映できるようになることです。

覚えるべき鉄則

列を追加・削除・名称変更したら、 まず構造のズレを疑い、Regenerate Schema を行う。 これが基本です。

よくある失敗

スプレッドシートを直しただけで安心してしまい、 AppSheet 側を更新し忘れて「列が出ない」「エラーになる」と悩むケースが非常に多いです。

なぜ再生成が必要か

AppSheetは、アプリ作成時に元データの列構成を読み取り、 「どんな列があるか」「型は何か」を内部に記憶します。 この内部情報を スキーマ(Schema) と考えると分かりやすいです。

そのため、元のスプレッドシートだけを変更しても、 AppSheet が自動で完全に追従するとは限りません。 AppSheet 側にも「構造が変わったので読み直して」と伝える必要があります。

この章で分かること
・AppSheet が列構造をどう覚えているか
・どんな変更で再生成が必要になるか
・Regenerate Schema の実行場所
・実行後にどこを確認すべきか
・再生成だけでは足りないケースの考え方

同期が必要なタイミングと流れ

AppSheetを使っていると、元データの見出しを直したり、新しい列を追加したりする場面は頻繁にあります。 こうした変更は普通の運用の一部ですが、AppSheet と元データの間に構造のズレを生みます。

ズレが発生すると、AppSheet は「あるはずの列がない」「新しい列を知らない」「型の想定が違う」といった状態になります。 このズレを解消する操作が Regenerate Schema です。

元データを変更

列を追加・削除・名称変更

構造のズレ発生

AppSheet 側は旧構造のまま

Error / 列不一致 / 新列未認識

Regenerate Schema

最新構造を再読み込み

変更前

AppSheet と元データの構造が一致しているため、列一覧やフォーム表示が正常です。

変更直後

スプレッドシート側だけが更新され、AppSheet 側は古い情報のままです。

再生成後

AppSheet が列構成を再読込し、新しい状態に追従します。

どんな変更で再生成が必要か

初心者が迷いやすいのは、「どこまでが再生成の対象か」です。 基本的には、列構造に関わる変更があったら再生成を意識してください。

再生成を考える変更

列を追加した
列を削除した
列名を変更した
列順を大きく変更した
データ型の解釈が変わりそうな変更をした

再生成だけで完了ではないこともある

新しい列が追加された後、その列の Type や表示設定を見直す必要がある
削除した列を使っていた式やビュー設定が残っていると、別の修正が必要になる
列名変更後、App Formula や Show_If などの式参照も確認が必要になる

初心者向けの覚え方

「セルの値を変えた」だけなら通常は再生成不要です。 ただし「列そのものの構成を変えた」なら、まず Regenerate Schema を疑う。 この見分け方を覚えておくと運用が安定します。

実践:列の追加と再生成

ここでは、元データに「備考」という列を追加し、それを AppSheet 側へ反映させる流れを確認します。 画面の見方だけでなく、「どの順番で作業するか」まで意識して読み進めてください。

ミッション: 新規列の同期
Progress: 0%

確認ポイントと注意点

再生成後に確認したいこと

新しい列が列一覧に入っているか
Type が意図どおりか(Text、Number、Date など)
必要なビューやフォームに表示されるか
既存の式やビュー設定にエラーが出ていないか

よくある勘違い

「スプレッドシートを保存したから AppSheet も自動で完全反映されるはず」
「新列が見えないのは表示設定の問題だけ」
「列を削除しても式やビュー設定には影響しない」

実務での考え方

元データの列構成を変える時は、「元データを直す → AppSheet で再生成 → 必要なら設定を見直す」という3段階で考えると安定します。 ただ再生成するだけで終わりではなく、その変更が他の設定に影響していないかを見る視点が大切です。

第3章のまとめ

AppSheet は元データの構造を内部に記憶しているため、 スプレッドシート側の列構造を変えた時にはRegenerate Schemaが必要です。

これを忘れると、「新しい列が見えない」「エラーが出る」「古い列参照が残る」といった問題が起こります。 次の章では、この土台の上で、アプリ内だけで計算結果を作る仮想列へ進みます。