AppSheetで複数テーブルのデータを参照&結合&連動設定方法!

AppSheetで複数テーブルのデータを参照&結合&連動設定方法!

AppSheetで別テーブルの参照方法を解説!

「AppSheetで複数のデータソースを参照・結合したい!」
そんな方に向けて、リレーションシップの設定方法やスプレッドシートとの連携テクニック を詳しく解説!

📌 複数の別テーブルを活用してデータを自動連携 できるようになれば、アプリ開発の効率が大幅に向上 します。

この記事では、
テーブルの参照設定(Ref)の基本
AppSheetでのスプレッドシート連携の手順
データを紐付けて自動取得する方法
を分かりやすく解説します!

AppSheet複数テーブル

これを読めば、AppSheetで複数のデータをスムーズに連携できるようになります! 💡💻


目次

📌 複数の別テーブルを参照・結合してデータを連動させるAppSheet活用術

AppSheetで複数テーブルを活用したいと考えている方は多いでしょう。
今回は、AppSheetで複数のデータソースを参照し、自動連携させる方法 を解説します。
これにより、より効率的なデータ管理とアプリ開発が可能になります!


🔧 複数のテーブルを使用する事前準備

例えば、「人名リスト」と「年齢データ」を別々のテーブルで管理 し、
「人名」から対応する「年齢」を自動的に取得したいとします。

同じテーブルにすべてのデータを詰め込むと冗長になり、管理が煩雑になります。
そのため、リレーション(関連付け)を活用して別テーブルのデータを連携 させるのが理想的です。

💡 今回のテーマは、この「テーブル間の連携方法」を詳しく解説することです!


🔹 【実践編】AppSheet で別テーブルのデータを参照する手順

AOI345

ここからが、AppSheetde複数のシートのデータを活用する手順 です。

1️⃣ AppSheet アプリのスプレッドシートに以下のような メインのテーブル がある。

📌 例:最初のテーブル

ID名前年齢住所
1田中30東京
2鈴木25大阪
3佐藤28名古屋

2️⃣ 新たに「参照」列を追加する

  • 「参照」列 を追加し、ここに 参照したい人物の名前 を入力します。

📌 追加後のテーブル

ID名前年齢住所参照
1田中30東京鈴木
2鈴木25大阪佐藤
3佐藤28名古屋田中

3️⃣ 「Data」メニューを開く

  • AppSheet のメニューから「Data」タブ を開く
  • 「Columns」タブ を選択
「Data」メニューを開く

4️⃣「Regenerate Structure」を押す

  • 右上の 「Regenerate Structure」ボタン をクリック
「Regenerate Structure」を押す

5️⃣ 「Regenerate」を選択

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

これで、「参照」列が AppSheet に追加されました! 🎉


📌 2つ目のテーブルを用意してデータを読み込む手順

🔹 スプレッドシートに新しいテーブルを追加

1️⃣ スプレッドシートで新しいシートを作成

  • 「名前」と「年齢」のテーブルを作成

📌 例:追加するテーブル(シート名:PeopleData)

名前年齢
田中30
鈴木25
佐藤28

🔹 AppSheet で新しいテーブルを追加

2️⃣ AppSheetの「Data」メニューを開き、「Tables」タブを選択

3️⃣「New Table」ボタンをクリック

「New Table」ボタンをクリック

4️⃣ 「Google Sheets」を選択

「Google Sheets」を選択

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

追加したスプレッドシートを選択し「Select」ボタン

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

「Add This Table」をクリック

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

新しいテーブルが AppSheet に追加

📌 参照元のテーブルから新たに追加したテーブルの値を取得する方法

ようやく2つのテーブルの準備が完了しました! 🎉
ここからは、それらを 連携させてデータを自動取得する方法 を解説します。


🔹 ① 参照列(Ref)の設定

1️⃣ AppSheet の「Data」メニューを開き、「Columns」タブを選択

2️⃣ 「参照」の TYPE を「Ref」に変更

「参照」の TYPE を「Ref」に変更


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

「シート2(PeopleData)」を選択し、右上の「Done」

🔹 ② Virtual Column を追加してデータを取得

4️⃣ シート1の「Add Virtual Column」ボタンをクリック

「Add Virtual Column」ボタンをクリック

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

「App formula」の欄を選択し、式を入力

[参照].[年齢]

この式の意味

[参照] → TYPE「Ref」に設定した項目の NAME
[参照].[年齢] → シート2(PeopleData)内の「年齢」データを取得


📌 例:データの取得イメージ

名前参照(名前)参照(年齢)
山田田中30歳
佐藤鈴木25歳
高橋佐藤28歳
[参照].[年齢]

🔹 ③ 設定を保存

6️⃣ 右上の「Done」ボタンを押してウィンドウを閉じる

「Done」ボタンを押してウィンドウを閉じる


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

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

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

「シート2」の年齢データが「シート1」に自動表示

アプリを確認して、データが正しく連携されているかチェックしてみましょう! 😊

AOI345

複数シートでリレーショナル・データベース モドキ が実現できます。


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はテーブルレスで、自動化のみ対応です。

AOI345

色々記載してますが、Googleスプレッドシート が基本です。
AppSheetは手軽なアプリ実現が魅力なので、データベースを使う場合には別のツールを使うほうが良いと思います。


データソースの確認方法👀

現在のAppSheetアカウントに追加済みのすべてのデータソースは、以下の手順で確認できます:

1️⃣ [My Account] > [Sources] に移動
2️⃣ 追加した個人のソースや、チーム共有ソースが一覧表示されます


新しいデータソースを追加する方法➕

AppSheetでは、複数の方法で新しいデータソースを追加できます。

✅ 追加方法一覧

  • アカウント情報から追加
  • 新しいアプリ作成時に追加
  • Google Workspace アドオンから追加(Googleスプレッドシート/フォーム対応)

🔧 手順(アカウントページから)

1️⃣ [My Account] > [Sources] を開く

2️⃣ [+ New Data Source] をクリック

3️⃣ ソース名と種類を選び、認証フローに従う

🌟 AppSheetデータベースはデフォルトで利用できるため、追加操作は不要です!


アプリ作成時にデータソースを追加する方法🛠️

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の設定がうまくいきません。どこを確認すれば良い?

A. 設定ミスの原因は、基本的な項目の見落としが多いです。次の点を確認しましょう👇

参照元と参照先のキー列が正しく設定されているか
Ref列のTypeが「Ref」になっているか
Source Tableに正しいテーブルが指定されているか
スプレッドシートに空白行や重複行がないかチェック


🧩 Q2. 仮想列が空白になります。なぜ?

A. 参照先との接続エラーが原因の場合が多いです。以下を確認しましょう👇

◉ Ref列の値と、参照先のキーが完全一致しているか
App formulaが正しく記述されているか(例:[参照].[年齢]
◉ AppSheet上で「SAVE」後にプレビューを再読み込みしたか


🌐 Q3. Googleスプレッドシート以外のデータも使えますか?

A. はい、AppSheetは多様なデータソースに対応しています📊

Googleスプレッドシート/Excel(SharePoint含む)
クラウドDB:MySQL/PostgreSQL/BigQueryなど
AppSheet DB(ネイティブDB)
その他:Dropbox、Smartsheet、Looker Studioなど

⚠️ GoogleフォームやGmailは読み取り専用・制限付きです。


🐢 Q4. 2つのテーブル連携後、アプリが重くなりました。対策は?

A. 以下のような軽量化対策が有効です💡

◉ 不要な仮想列を削除する
SELECT()やLOOKUP()の使用を最小限に抑える
Security Filterで表示対象を限定する
◉ テーブルが大きい場合は、スプレッドシートの分割やDB移行も検討


🔧 Q5. リファレンス設定を解除するには?

A. AppSheetの「Data」→「Columns」から以下を実行してください👇

◉ 対象列のTypeを「Text」などに変更する
◉ 不要になった仮想列も削除するのを忘れずに!


🚀この記事で得られる実践スキルの振り返り

AppSheetで複数テーブルを連携させる方法や、Ref列・仮想列の使い方をしっかり押さえることで、
アプリ開発の幅は一気に広がります。以下のポイントを実践すれば、業務効率もグンとアップします💡

✅️ スプレッドシートに2つ目のテーブルを用意し、AppSheetに追加する
✅️ 参照元テーブルにRef列を設定してデータをリンクさせる
✅️ 仮想列(Virtual Column)を追加し、他テーブルの値を自動取得
✅️ セキュリティ面ではSecurity Filterや表示制御を活用して安全に運用
✅️ 複数のデータソースを使えば、柔軟な業務アプリがノーコードで構築可能

ノーコード開発でも正確な設計とセキュリティ意識が重要です。
まずはこの記事の手順をベースに、小さく試して実感してみましょう😊


🔗 AppSheetでノーコード業務アプリを作成する完全ガイド👇

あわせて読みたい
【まとめ】初心者もできる!AppSheetでノーコード業務アプリを作成する完全ガイド 🚀【初心者歓迎】AppSheetでノーコード業務アプリを簡単作成! AppSheetは、Googleが提供するノーコード開発ツール。プログラミング不要で、誰でも無料から業務アプリを...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA



目次