AppSheetで複数テーブル利用したい人は多いでしょう。今回は、AppSheetで複数テーブルのデータを参照し連動させる方法の記事を書きます。これで効率的なデータソースを実現することができます。
複数のテーブルを使用する事前準備を行う
複数のテーブルを使い、人のリストから年齢などを別のテーブルに人名などで引っ張ってくるという事をしたいとします。同じテーブルだと余計なデータが色々発生してしまうので、人名と年齢のテーブルは別に持つとします。
この2つのテーブルにどうやって連動を持たせればよいのか?が今回のテーマです。
①まず、作成中のAppSheetアプリのスプレっとシート最初のテーブルがこんな感じで既にあったとします。

②そこに参照という列を追加します。参照には参照したい人物の名前を書いておきます。

③メニューの「Data」から「Columns」タブを選びます。

④右上のRegenarrate Structureを押します。

⑤表示されるウィンドウで「Regenerate」を選びます。

これで参照の列が追加されます。

2つ目のテーブルを用意して、読み込む
次にスプレッドシートに戻り、シートを追加します。
①下記のようにスプレッドシートのシート追加で、名前と年齢のテーブルを作成します。

②DataメニューのTablesタブから、「New Table」を選びます。

③表示されるウィンドウから「Google Sheets」を選びます。

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

⑤Worksheet Nameで追加したシート名を選んで、「Add This Table」で追加します。

⑥下記のような感じでテーブルが追加されます。


参照元のテーブルから新たに追加したテーブルの値を取り出す
ようやく2つのテーブルの準備が終わりました。早速連動させていきましょう。
①Dataメニューの中のClumnsタブを選び、参照のTYPEをRefに変更します。

②どのシートを参照するかのウィンドウが表示されるのでSouce tableにシート2を選び、右上のDoneを押します。

③続いて、シート1の右上の「Add Virtual Column」ボタンを押します。

④表示されるウィンドウで、App formulaの欄を選びます。

⑤下記の式を入力して、右下のSaveを押します。
一つ目の[参照]は同じテーブル内で、TYPEでRefに設定した項目のNAMEになります。
今回は人の名前参照という項目にしたので、[参照]です。
そして、この[参照]はデータソースにシート2を設定済みなので、シート2の値を参照します。
シート2の中のどの項目がシート2のテーブルのどの値を拾ってくるかで、今回は年齢を取得したかったので[年齢]です。
シート2は名前と年齢のテーブで、[参照].[名前]とすると名前でそのまま名前を引っ張ってきます。

⑥右上の「Done」ボタンでウィンドウを閉じます。

⑦右上のSAVEボタンを押して、保存します。

以上で、手順は終了です。
アプリで確認すると参照で設定した値のシート2の値(年齢)が参照されて表示されます。


まとめ
今回は、AppSheetで複数テーブルのデータを参照し連動させる方法についての記事を書きました。ポイントをまとめると下記の通りとなります。
- スプレッドシートに2つ目のシートを用意する
- AppSheetにテーブルを用意する
- 参照元のテーブルにTYPE Refの値を追加すれば参照できる
つまり、AppSheetで複数テーブルを活用するにはRefがおすすめです。まずは基本のやり方を抑えしましょう!

AppSheetに興味がある人は、下記の記事もチェックしてください。
