AppSheetで複数テーブル利用したい人は多いでしょう。今回は、AppSheetで複数テーブルのデータを参照し連動させる方法の記事を書きます。これで効率的なデータソースを実現することができます。
複数のテーブルを使用する事前準備を行う
複数のテーブルを使い、人のリストから年齢などを別のテーブルに人名などで引っ張ってくるという事をしたいとします。同じテーブルだと余計なデータが色々発生してしまうので、人名と年齢のテーブルは別に持つとします。
この2つのテーブルにどうやって連動を持たせればよいのか?が今回のテーマです。
①まず、作成中のAppSheetアプリのスプレっとシート最初のテーブルがこんな感じで既にあったとします。
![](https://aoi345.com/wp-content/uploads/2023/08/image-157.png)
②そこに参照という列を追加します。参照には参照したい人物の名前を書いておきます。
![](https://aoi345.com/wp-content/uploads/2023/08/image-158-1024x134.png)
③メニューの「Data」から「Columns」タブを選びます。
![](https://aoi345.com/wp-content/uploads/2023/08/image-159.png)
④右上のRegenarrate Structureを押します。
![](https://aoi345.com/wp-content/uploads/2023/08/image-160-1024x354.png)
⑤表示されるウィンドウで「Regenerate」を選びます。
![](https://aoi345.com/wp-content/uploads/2023/08/image-161.png)
これで参照の列が追加されます。
2つ目のテーブルを用意して、読み込む
次にスプレッドシートに戻り、シートを追加します。
①下記のようにスプレッドシートのシート追加で、名前と年齢のテーブルを作成します。
![](https://aoi345.com/wp-content/uploads/2023/08/image-162.png)
②DataメニューのTablesタブから、「New Table」を選びます。
![](https://aoi345.com/wp-content/uploads/2023/08/image-163.png)
③表示されるウィンドウから「Google Sheets」を選びます。
![](https://aoi345.com/wp-content/uploads/2023/08/image-164.png)
④ファイル選択画面が表示されるので、シート追加したスプレッドシートを選んで「Select」ボタンを押します。
![](https://aoi345.com/wp-content/uploads/2023/08/image-165.png)
⑤Worksheet Nameで追加したシート名を選んで、「Add This Table」で追加します。
![](https://aoi345.com/wp-content/uploads/2023/08/image-166.png)
⑥下記のような感じでテーブルが追加されます。
![](https://aoi345.com/wp-content/uploads/2023/08/image-167.png)
参照元のテーブルから新たに追加したテーブルの値を取り出す
ようやく2つのテーブルの準備が終わりました。早速連動させていきましょう。
①Dataメニューの中のClumnsタブを選び、参照のTYPEをRefに変更します。
![](https://aoi345.com/wp-content/uploads/2023/08/image-169.png)
②どのシートを参照するかのウィンドウが表示されるのでSouce tableにシート2を選び、右上のDoneを押します。
![](https://aoi345.com/wp-content/uploads/2023/08/image-170.png)
③続いて、シート1の右上の「Add Virtual Column」ボタンを押します。
![](https://aoi345.com/wp-content/uploads/2023/08/image-171.png)
④表示されるウィンドウで、App formulaの欄を選びます。
![](https://aoi345.com/wp-content/uploads/2023/08/image-172.png)
⑤下記の式を入力して、右下のSaveを押します。
一つ目の[参照]は同じテーブル内で、TYPEでRefに設定した項目のNAMEになります。
今回は人の名前参照という項目にしたので、[参照]です。
そして、この[参照]はデータソースにシート2を設定済みなので、シート2の値を参照します。
シート2の中のどの項目がシート2のテーブルのどの値を拾ってくるかで、今回は年齢を取得したかったので[年齢]です。
シート2は名前と年齢のテーブで、[参照].[名前]とすると名前でそのまま名前を引っ張ってきます。
![](https://aoi345.com/wp-content/uploads/2023/08/image-173.png)
⑥右上の「Done」ボタンでウィンドウを閉じます。
![](https://aoi345.com/wp-content/uploads/2023/08/image-174.png)
⑦右上のSAVEボタンを押して、保存します。
![](https://aoi345.com/wp-content/uploads/2023/08/image-175.png)
以上で、手順は終了です。
アプリで確認すると参照で設定した値のシート2の値(年齢)が参照されて表示されます。
![](https://aoi345.com/wp-content/uploads/2023/08/image-176.png)
![](https://aoi345.com/wp-content/plugins/pochipp/assets/img/pochipp-logo-t1.png)
まとめ
今回は、AppSheetで複数テーブルのデータを参照し連動させる方法についての記事を書きました。ポイントをまとめると下記の通りとなります。
- スプレッドシートに2つ目のシートを用意する
- AppSheetにテーブルを用意する
- 参照元のテーブルにTYPE Refの値を追加すれば参照できる
つまり、AppSheetで複数テーブルを活用するにはRefがおすすめです。まずは基本のやり方を抑えしましょう!
AppSheetに興味がある人は、下記の記事もチェックしてください。
![](https://aoi345.com/wp-content/uploads/2023/09/f96d9b4281f6d16b3c7589aed5a17be5-300x300.png)