電子名刺アプリを作りながら、AppSheetの使い方を学びましょう。
前回(第3回)はアプリの見た目(View)を設定しました。
今回はアプリを使いやすくするための列設定を進めていきます。
【お知らせ】
2022年10月以降、AppSheetエディタの画面が新しく変更されています。
AppSheetのアップデートが速すぎて(汗)、このブログ記事はまだ新エディタの画面には対応していません。
エディタ画面右上にある「Switch to the legacy editor」というアイコンをクリックすると、新エディタと旧エディタの切り替えができます。
記事のアップデートができるまでは、とりあえず、旧エディタに切り替えて解説を読んでください。
1. 条件で列の表示を切り替える
電子名刺アプリでは仕事用とプライベート用で使い分けできるようにしたいと思います。
そのためには、「用途」列で選択した値(「仕事」または「プライベート」)によって入力項目の表示を切り替える必要があります。
各列は、以下の条件の時に表示するように設定します。
NAME | 表示する時の「用途」の値 |
---|---|
会社名 | 「仕事」 |
電話(勤務先) | 「仕事」 |
電話(仕事携帯番号) | 「仕事」 |
電話(私用携帯番号) | 「プライベート」 |
メール(勤務先) | 「仕事」 |
メール | 「プライベート」 |
勤務先郵便番号 | 「仕事」 |
勤務先住所(都道府県) | 「仕事」 |
勤務先住所(市区町村) | 「仕事」 |
勤務先住所(番地以降) | 「仕事」 |
自宅郵便番号 | 「プライベート」 |
自宅住所(都道府県) | 「プライベート」 |
自宅住所(市区町村) | 「プライベート」 |
自宅住所(番地以降) | 「プライベート」 |
URL | 「仕事」 |
2. 「SHOW ?」を設定する
このように条件で列の表示を切り替える場合、AppSheetでは「SHOW?」 を設定します。
AppSheetエディタ左側メニュー「Data」→ タブメニュー「Columns」→ 「連絡先」をクリックして列設定パネルを表示します。
「会社名」列を例として設定してみましょう。
「会社名」列の左にある編集アイコンをクリックして、設定パネルを開きます。
「SHOW ?」にチェックが入っていると常に表示されている状態です。
右端にある三角フラスコのアイコンをクリック → 入力フィールドをクリックします。
Expression Assistant が表示されます。
「会社名」列は「用途」列が「仕事」の時だけ表示したいので、以下のように入力して「Save」をクリックします。
列名は角括弧 " [ " と " ] "で囲んで、[列名] と表記します。
他の列についても同じように「SHOW ?」を設定しましょう。
設定が終わったら確認してみましょう。
「会社名」で「仕事」または「プライベート」を選択したときに、思い通りに列項目が表示、非表示されているでしょうか?
3. AppSheet関数「CONCATENATE」で文字列を作成する
電子名刺アプリには当然、名前を入力する列があります。
「フルネーム」という列がありますが、ここは「姓」と「名」に入力した値を使って自動的に入力するようにします。
CONCATENATE関数
「姓」と「名」をつなげて「フルネーム」を作成したいので、CONCATENATE関数を使いましょう。
()の中に、つなげたい文字列や [ 列名 ] をカンマ(, )で区切って列挙するだけで1つの文字列にできます。
では、「フルネーム」列を設定しましょう。
編集アイコンをクリックして設定パネルを開いてもよいですが、列設定パネルから直接設定してしまいましょう。
「フルネーム」の FORMULA の入力フィールドをクリックします。
Expression Assistant が表示されます。
以下のように入力してください。
姓名の間に半角スペースを入れたいので、 ” “ を入れておきました。
実際に「姓」と「名」に入力した値で「フルネーム」が作成できるかを確認してみましょう。
以上、アプリを使いやすくするための設定を行いました。
今回のような設定は、誤入力を防ぐためにアプリ開発では通常よくやることです。
AppSheetのようなノーコード開発ツールでも同じように設定できることが分かりました。
次回(第5回)は、QRコードジェネレーターを使用してVCard形式のQRコードを生成し、AppSheetで電子名刺を表示します。
- 第1回 連絡先をQRコードで表示しよう
- 第2回 スプレッドシートからアプリを作成する
- 第3回 電子名刺用のViewを作成する
- 第4回 「SHOW ?」で列の表示を切り替える
- 第5回 VCard形式のQRコードを生成する