【AppSheet】和暦を基本としてデータベースを使う。これぞモダンな生き方。


<和暦だなんて日本人だけが使う。だからこそ。使えるなら使いたい。>


最近は、パソコンやスマホをよく使う人は、西暦をベースに使う人が多数かと思います。しかし、お役所や自治会などの書類は和暦が中心です。自治会のデータベースなどを作るとき、和暦西暦のどちらを基本にして記録するようにするか、悩みどころです。

10年前は平成何年ですか?

こんな簡単な質問に、多くの日本人が即答できません。「えーと平成は、31年までだっけ。だから。えーと。。。変なこと聞くな!」と逆に怒られてしまうそうです。

しかしなんで和暦などという不便なものを、お役所は使っているのでしょうかね。

多分、公務員の最初の仕事は、和暦西暦対照表を暗記することなのかも知れません。まあ大正くらいまで。まあ、覚えるのは無理か、机の上に貼ってあるでしょうね。

でも介護保険証を持つような高齢者になってきた私は、日本人なのだからパソコンの中でも和暦を使いたい、そんな思いが強くなりました。

AppSheetとは、ノーコードアプリ開発用のアプリと分類される、今流行りの、というか、これから流行るだろう開発ツールの一つです。Googleが提供しています。最近私は、GoogleのGASやスプレッドシートで、複数のプッシュ通知を簡単に操る方法を自作してきましたが、その延長において、このAppSheetのデータベース機能が加わると、もうほんとに、大袈裟に言えば、自宅のパソコンで手軽に、本格的な情報処理システムが出来てしまう。そんな気がしてきます。

一番最初に作っておくこと。

 旅に出る時、必要なものを予めリュックに詰め込めたら、とても安心できます。しかし、後になってから元に戻って、新しい要素を突っ込むのは、実に困難です。その意味で、以下で解説する「年号アプリ」は、ITに旅があるとすれば、旅の必携品の一つではないかと思います。

余談ですが、このデータベースアプリAppSheetを体験すると、おそらく多くの人が、「だから経験者は強いんだ。経験者から学ぶべきなのだ。」と、このことに気付くはずです。「先輩が言っていたのはこのことだったのか。」と。ん〜、だから、AppSheetのような類は、時代に合っています。教材にはうってつけでしょう。

ポイント解説

年号アプリを作る手順を解説します。

<1> Googleスプレッドシートで年号ファイルを作る。

最初に以下のように、シート名を「年号」、項目に「ID年号」「和暦」「西暦」を作ります。

<2>AppSheetで年号をメンテナンスするアプリを作る。

さて次に、Googleスプシへ、データを書き込んでいきます。この時、AppSheetを使うようにします。AppSheetはGoogleから無料で使えるデータベース開発アプリですが、Googleアカウントを持っていれば、誰でも無料で使えます。Googleスプシのメニューの「拡張機能」の中にあるAppSheetを使います。

肝心なことを言い忘れていました。AppSheetはまだ英語のままです。とはいえ、それほど難しい英語ではありませんので、慣れると思います。ここでは解説は割愛しますが、YouTubeを紹介します。

<3>和暦西暦を登録する。

上のYouTubeの例は、植物の登録ですが、今回は、和暦と西暦を画面から打ち込む、という作業になります。「UX」でformを選択すると、以下のような入力画面が作れます。

「キャンセルする」「保存する」と表示を日本語にするのは、「UX」→「Localize」で英文字を日本語へ変更します。

Gooogleスプシには以下のようにデータが入ります。「ID年号」には乱数が入っていますが、これは項目名の先頭にIDを入れて「IDxxxx」と名前を付けると、初期値(INITIAL VALUE)に<< UNIQUEID() >>が自動的に入って、乱数が自動的に生成されます。このようにランダム生成される「ID年号」をKEYにする理由ですが、一つの西暦の中に複数の和暦が存在するからです。例えば、2019年には平成31と令和1が存在します。古く飛鳥時代は、複数の和暦だらけです。

余談ですが、履歴書を書く場合は、令和1年ではなく令和元年と書く方が正式だそうです。今回のデータベースはどちらにしましょうか。後から変えることができますので、とりあえず<< 令和1>>と数字で書くことにしておきます。

6行目が空欄になっていますが、これはformからデータを「削除」しています。

さて、こうして、和暦西暦データを登録していきますが、たまたま私は、令和4年から遡るように入れたので、先頭に令和4が来ています。というか逆に、古い方から入れたら「大化1=645」から入れることになります(ま、いずれやってみます)。ともかく、この後、令和5以降を入れた場合、一番下の行に追加されることになります。つまり、もし、このままのデータ順で年号を選ぶと、選択肢の一番下に令和5が来ることになり、とても面倒です。

<4>Googleスプレッドシート2番目のシート、例えば「西暦SORT年号」シートを作る。

そこで私の考えた簡単な方法です。まず、適当な名前をつけた、例えば「西暦SORT年号」シートを追加します。

<5>「西暦SORT年号」シートにquery関数を埋め込む。

以下の関数をA1カラムに書き込みます。空白行を飛ばしてC列の降順(大きいものが先頭に来る)に並び替える関数です。ちなみに、昇順にするには<< asc >>にします。

=query('年号'!A:C,"select * where C is not null order by C desc")

すると、一番下の行にある「令和5」は一番大きい西暦なので、先頭に来ます。

<6>AppSheetで利用する〜参照はRead-Onlyで。

年号のメンテナンスは、「年号」シートへ << Updates Adds Deletes >>で行い、利用する時は、「西暦SORT年号」シートから<< Read-Only >>で利用します。AppSheetの「Columns」設定でKEYを「ID年号」、LABELを「和暦」にします。そうすることにより、以下のように、令和5が先頭に来た選択リストを表示することができます。

また、和暦の生年月から現在の年齢を計算する時、和暦間の年数を計算する時、対応する西暦がすぐ参照できるので、非常に便利です。

今回の方法を元にSORTカラムを設定してメンテすれば、様々な選択リストにおいて、任意に並び替えができますので応用ください。

<7>スムーズに使うちょっとしたコツ。

2つほど紹介します。

1つ目は、上記の例ですが、選択リスト表示をした時、変な順番で表示される時は、GoogleSSを開いて、シートの内容を確認して、また閉じる、あるいはブラウザの閲覧履歴を削除する、すると大抵は直るのではないでしょうか。

2つ目は、作ったAppSheetアプリですが、私は個人または数人の利用の範囲ですのでデプロイしません。View表示した時のURLをそのまま、ブラウザのお気に入りにブックマークします。コピーしたURLの中に、SORTほかいくつかの命令が含まれたままになっていると、(モバイル、タブレットは問題ないですが)、PC表示にした際、古い動作がそのまま残ってしまいます。

例えばURLが以下の場合は、

https://www.appsheet.com/start/aaaaaaaaaaa#appName=bbbbbbbbbbbbb
&group=~~&sort=~~~&~~~&~~~&view=cccccc

以下のように&view=のみにする。

https://www.appsheet.com/start/aaaaaaaaaaa#appName=bbbbbbbbbbbbb
&view=cccccc

こうすると、PC(WinMac)、モバイル、タブレット、の動作が同じになります。

<8>余談

そんなことしなくても、EXCELの「セルの書式設定」の中に、西暦を和暦に変換してくれる機能があるじゃないですか。

とおっしゃる方がいると思います。

しかしそれは近視眼ではありませんか?

EXCELは明治33年=1900年以降しか変換できません。試しに645年を入れても「大化」とは出てきません。

それでは困りますよね?

え!困らない。。。

まあ。。正直言って、和暦は。

無くても困りません。

無くても、世界どこにいても、日本の中でも、困るということはありません。

ただ言わば、日本の長い歴史を証する日本語の文字列、ある種DNA配列のようなものです。困らないけど大事なんですね。

だから、明治33年以降しか出ません。というのでは、この投稿の目的から外れます。

えっちらおっちら、表にしてみましょうか。。。

以上

↑広告-Google AdSense-