AppSheetで別テーブルの参照方法を解説!
「AppSheetで複数のデータソースを参照・結合したい!」
そんな方に向けて、リレーションシップの設定方法やスプレッドシートとの連携テクニック を詳しく解説!
📌 複数の別テーブルを活用してデータを自動連携 できるようになれば、アプリ開発の効率が大幅に向上 します。
この記事では、
✅ テーブルの参照設定(Ref)の基本
✅ AppSheetでのスプレッドシート連携の手順
✅ データを紐付けて自動取得する方法
を分かりやすく解説します!

📌 複数の別テーブルを参照・結合してデータを連動させるAppSheet活用術
AppSheetで複数テーブルを活用したいと考えている方は多いでしょう。
今回は、AppSheetで複数のデータソースを参照し、自動連携させる方法 を解説します。
これにより、より効率的なデータ管理とアプリ開発が可能になります!
🔧 複数のテーブルを使用する事前準備
例えば、「人名リスト」と「年齢データ」を別々のテーブルで管理 し、
「人名」から対応する「年齢」を自動的に取得したいとします。
同じテーブルにすべてのデータを詰め込むと冗長になり、管理が煩雑になります。
そのため、リレーション(関連付け)を活用して別テーブルのデータを連携 させるのが理想的です。
💡 今回のテーマは、この「テーブル間の連携方法」を詳しく解説することです!
🔹 【実践編】AppSheet で別テーブルのデータを参照する手順

ここからが、AppSheetde複数のシートのデータを活用する手順 です。
1️⃣ AppSheet アプリのスプレッドシートに以下のような メインのテーブル がある。
📌 例:最初のテーブル
ID | 名前 | 年齢 | 住所 |
---|---|---|---|
1 | 田中 | 30 | 東京 |
2 | 鈴木 | 25 | 大阪 |
3 | 佐藤 | 28 | 名古屋 |
2️⃣ 新たに「参照」列を追加する
- 「参照」列 を追加し、ここに 参照したい人物の名前 を入力します。
📌 追加後のテーブル
ID | 名前 | 年齢 | 住所 | 参照 |
---|---|---|---|---|
1 | 田中 | 30 | 東京 | 鈴木 |
2 | 鈴木 | 25 | 大阪 | 佐藤 |
3 | 佐藤 | 28 | 名古屋 | 田中 |
3️⃣ 「Data」メニューを開く
- AppSheet のメニューから「Data」タブ を開く
- 「Columns」タブ を選択

4️⃣「Regenerate Structure」を押す
- 右上の 「Regenerate Structure」ボタン をクリック

5️⃣ 「Regenerate」を選択
- 表示されるウィンドウで 「Regenerate」ボタン を押す

📌 2つ目のテーブルを用意してデータを読み込む手順
🔹 スプレッドシートに新しいテーブルを追加
1️⃣ スプレッドシートで新しいシートを作成
- 「名前」と「年齢」のテーブルを作成
📌 例:追加するテーブル(シート名:PeopleData)
名前 | 年齢 |
---|---|
田中 | 30 |
鈴木 | 25 |
佐藤 | 28 |
🔹 AppSheet で新しいテーブルを追加
2️⃣ AppSheetの「Data」メニューを開き、「Tables」タブを選択
3️⃣「New Table」ボタンをクリック

4️⃣ 「Google Sheets」を選択

5️⃣ ファイル選択画面が表示されるので、追加したスプレッドシートを選択し「Select」ボタンを押す

6️⃣ 「Worksheet Name」で追加したシート(PeopleData)を選択し、「Add This Table」をクリック

✅ これで新しいテーブルが AppSheet に追加されました! 🎉

📌 参照元のテーブルから新たに追加したテーブルの値を取得する方法
ようやく2つのテーブルの準備が完了しました! 🎉
ここからは、それらを 連携させてデータを自動取得する方法 を解説します。
🔹 ① 参照列(Ref)の設定
1️⃣ AppSheet の「Data」メニューを開き、「Columns」タブを選択
2️⃣ 「参照」の TYPE を「Ref」に変更

3️⃣ 「Source table(参照先のテーブル)」に「シート2(PeopleData)」を選択し、右上の「Done」を押す

🔹 ② Virtual Column を追加してデータを取得
4️⃣ シート1の「Add Virtual Column」ボタンをクリック

5️⃣ 表示されたウィンドウで「App formula」の欄を選択し、以下の式を入力

[参照].[年齢]
✅ この式の意味
◉ [参照] → TYPE「Ref」に設定した項目の NAME
◉ [参照].[年齢] → シート2(PeopleData)内の「年齢」データを取得
📌 例:データの取得イメージ
名前 | 参照(名前) | 参照(年齢) |
---|---|---|
山田 | 田中 | 30歳 |
佐藤 | 鈴木 | 25歳 |
高橋 | 佐藤 | 28歳 |
![[参照].[年齢]](https://aoi345.com/wp-content/uploads/2023/08/image-173.png)
🔹 ③ 設定を保存
6️⃣ 右上の「Done」ボタンを押してウィンドウを閉じる

7️⃣ 「SAVE」ボタンを押して、設定を保存

✅ これで、参照先の「シート2」の年齢データが「シート1」に自動表示されるようになります! 🎉


複数シートでリレーショナル・データベース モドキ が実現できます。
AppSheetで複数のデータソースを活用しよう!📊✨
AppSheetは、ひとつのアプリ内で複数のデータソースを自在に組み合わせて活用できる、非常に柔軟なノーコードツールです。通常はGoogleドライブがメインのデータソースになりますが、必要に応じて他のデータソースを追加することで、より高度なアプリ構築が可能になります。
AppSheetで使えるデータソースの種類とは?🔍
AppSheetでは、以下のような4種類のデータソースタイプを活用できます:
📁 ネイティブデータベース
📄 スプレッドシート(Googleスプレッドシート・Excelなど)
🗄️ クラウド/オンプレミスのデータベース(MySQL, PostgreSQL, BigQueryなど)
🌐 その他のサービス(Googleフォーム、Dropbox、Gmailなど)
💡代表的なデータソース一覧
- ネイティブ: AppSheetデータベース(事前追加不要)
- スプレッドシート: Googleスプレッドシート / Excel(Office365, SharePoint対応)
- データベース: MySQL / PostgreSQL / Oracle / BigQuery / SQL Server 他
- その他: Gmail(自動化専用)/ Googleフォーム / Smartsheet / Looker Studio など
📌 注意
◉ Googleフォームは読み取り専用。
◉ Gmailはテーブルレスで、自動化のみ対応です。

色々記載してますが、Googleスプレッドシート が基本です。
AppSheetは手軽なアプリ実現が魅力なので、データベースを使う場合には別のツールを使うほうが良いと思います。
データソースの確認方法👀
現在のAppSheetアカウントに追加済みのすべてのデータソースは、以下の手順で確認できます:
1️⃣ [My Account] > [Sources] に移動
2️⃣ 追加した個人のソースや、チーム共有ソースが一覧表示されます
新しいデータソースを追加する方法➕
AppSheetでは、複数の方法で新しいデータソースを追加できます。
✅ 追加方法一覧
- アカウント情報から追加
- 新しいアプリ作成時に追加
- Google Workspace アドオンから追加(Googleスプレッドシート/フォーム対応)
🔧 手順(アカウントページから)
1️⃣ [My Account] > [Sources] を開く
2️⃣ [+ New Data Source] をクリック
3️⃣ ソース名と種類を選び、認証フローに従う
アプリ作成時にデータソースを追加する方法🛠️
1️⃣ [My Apps] > [+ Create] > [App] を選択
2️⃣ [Start with existing data] をクリック
3️⃣ アプリ名とカテゴリを指定
4️⃣ [Choose your data] > [+ New source] を選択
5️⃣ データソース名とタイプを入力、認証フローへ
※ Gmailデータソースはこの方法では追加できません
既存のテーブルを新しいデータソースにコピーする🔄
データを別のソースにコピーしたいときは以下のように操作します
1️⃣ アプリエディタから [Data] > [Tables] を開く
2️⃣ コピーしたいテーブルを選択
3️⃣ [Copy Data to New Source] をクリック
4️⃣ 新しいデータソースを選び、[Copy data] を実行
✅ データタイプが互換性を持っていないとエラーになります
✅ ファイルデータ含む場合は「Include file data」オプションを有効に
データソースを削除するには🗑️
使わなくなったデータソースは、以下の手順で削除可能です
1️⃣ [My Account] > [Sources] に移動
2️⃣ 削除したいソースの[More menu options] > [Delete] を選択
⚠️ アプリ内で利用中のテーブルを先に削除しないと、アプリに不具合が出る可能性があります
⚠️ チーム共有のソースは、削除後は他のメンバーが利用できなくなります
🔐AppSheet活用時に気をつけたいセキュリティの基本ポイント
AppSheetは柔軟なノーコードツールですが、セキュリティ対策を怠ると情報漏洩や誤操作のリスクがあります。
ここでは、データ連携や複数テーブル活用時に押さえておきたい安全管理のポイントを紹介します。
🛡️ユーザーごとのアクセス制御を導入しよう
全ユーザーがすべてのデータを閲覧できる状態はNGです。
AppSheetでは、Security Filterを使ってユーザーごとの表示内容を絞ることが可能です。
◉ ログインユーザーのメールアドレスに応じたフィルタ設定ができる
◉ 担当者ごとにデータ範囲を制限することで、誤操作防止&機密保持につながる
◉ フィルタ条件は式(例:[担当者] = USEREMAIL()
)で柔軟に指定可能
🔐Ref連携でもデータの公開範囲に注意
複数テーブルをRefでつなぐと、非公開の情報まで表示されることがあります。
仮想列で取得した値が意図せず表示されていないか、必ず動作確認を行いましょう。
◉ 参照元のデータが「Read Only」であっても、仮想列経由で表示されてしまう可能性あり
◉ 機密性の高い列には「Show If」や「Editable If」で表示制御をかけるのが安全
📁データソース側でもセキュリティ管理を徹底
AppSheet側だけでなく、元データ(GoogleスプレッドシートやクラウドDB)のアクセス権限も要注意です。
◉ Googleスプレッドシートは、共有設定で「リンクを知っている全員に公開」状態になっていないか確認
◉ データベースを使う場合は、IP制限やユーザー認証の設定も忘れずに
🚨アクティビティログで操作履歴を確認
AppSheetではアプリ内の操作ログやエラー発生時のトレース情報を確認できます。
トラブル時の原因特定や不正アクセス対策に役立つので、管理者は定期的なチェックが推奨です。
◉ 「Manage」→「Monitor」→「Audit History」で履歴確認
◉ アプリの挙動が不安定な場合、データ連携やスクリプトの動作も含めてログ確認を行いましょう
安心して運用するために押さえておきたいポイント
セキュリティを考慮したアプリ設計は、ユーザーの信頼を得るために不可欠です。
特に複数テーブルを扱う構成では、意図しない情報漏洩や操作ミスを防ぐためのアクセス制限と表示制御の設計が重要です。
◉ Security Filterでユーザーごとの表示制御を設定
◉ Ref列や仮想列の情報が漏れないように注意
◉ 元データ側のアクセス制限も忘れずにチェック
◉ 管理者はアクティビティログを活用して異常検知
💡AppSheetの「Ref」や複数テーブル設定に関するよくある質問
🔎 Q1. Refの設定がうまくいきません。どこを確認すれば良い?
🧩 Q2. 仮想列が空白になります。なぜ?
🌐 Q3. Googleスプレッドシート以外のデータも使えますか?
🐢 Q4. 2つのテーブル連携後、アプリが重くなりました。対策は?
🔧 Q5. リファレンス設定を解除するには?
🚀この記事で得られる実践スキルの振り返り
AppSheetで複数テーブルを連携させる方法や、Ref列・仮想列の使い方をしっかり押さえることで、
アプリ開発の幅は一気に広がります。以下のポイントを実践すれば、業務効率もグンとアップします💡
✅️ スプレッドシートに2つ目のテーブルを用意し、AppSheetに追加する
✅️ 参照元テーブルにRef列を設定してデータをリンクさせる
✅️ 仮想列(Virtual Column)を追加し、他テーブルの値を自動取得
✅️ セキュリティ面ではSecurity Filterや表示制御を活用して安全に運用
✅️ 複数のデータソースを使えば、柔軟な業務アプリがノーコードで構築可能
🔗 AppSheetでノーコード業務アプリを作成する完全ガイド👇

コメント