![見出し画像](https://assets.st-note.com/production/uploads/images/83764941/rectangle_large_type_2_718f2e7337ab80c52a0e70d316bc4a6c.png?width=1200)
行政書類への挑戦③
※このnoteではkintoneの
・和暦変換
・フィールド内の文字取得
・IF関数
・DATE_FORMAT関数
等の情報が記載されています。
行政書類作成の挑戦は続きます。
完成形はこちら。これをKintoneとプリントクリエイターで実現しよう!
![](https://assets.st-note.com/img/1659249560944-i2RyUromTs.png?width=1200)
前回の振り返り
前回は選択肢を明示する〇を書式上で表現しました。
![](https://assets.st-note.com/img/1659249658048-2wMILE3W1c.png?width=1200)
今日は生年月日
![](https://assets.st-note.com/img/1659249732298-PFfUXpiG9O.png?width=1200)
え?生年月日なんて簡単だよ。そもそもプリントクリエイターに和暦変換機能がついているもの。
![](https://assets.st-note.com/img/1659250088976-eTk9nrgBba.png?width=1200)
やってみましょう
![](https://assets.st-note.com/img/1659250394458-hPpaSxbN7U.png?width=1200)
あれ?うまくいかないな?
そういえばプリントクリエイターに元号部分だけとりだせる機能があったはず!
![](https://assets.st-note.com/img/1659250500308-czuppw3W9f.png)
これこれ
![](https://assets.st-note.com/img/1659250569053-9O14Wl1IHy.png?width=1200)
少し近づきました。
そうしたら次は月の部分を取り出しましょう。
![](https://assets.st-note.com/img/1659250691763-gYl0G45Em5.png)
あれ?ない!そうですプリントクリエイターには月だけ、日だけを取り出す機能はないのです。
どうやら、kintone側で何かする必要がありそうです。
kintone側で値を作ろう
kintone側のフィールドに和暦年、月、日の値を準備する必要があるとわかりました。
まず、kintoneの日付フィールドは西暦ですので、これを和暦にする必要があります。
![](https://assets.st-note.com/img/1659251064514-w13E1jrGCn.png)
プラグインの力を借りましょう。
TISさんの条件分岐処理プラグインを使います。
このプラグインの関数に和暦変換関数があります
![](https://assets.st-note.com/img/1659251605092-kqDUWvfez6.png?width=1200)
やっていきます。
生年月日フィールド(日付)と和暦フィールド(文字列1行)を作成します。
![](https://assets.st-note.com/img/1659251727154-5EdggzEfvG.png)
生年月日フィールドに入れた日付が、和暦フィールドに和暦変換されて入力されれば成功です。
プラグインの設定画面はこちら。
Birthday=生年月日フィールドです。
![](https://assets.st-note.com/img/1659251914409-1cBY9TAkHB.png?width=1200)
日本語にすると、生年月日フィールド(フィールドコード「Birthday」)に入っている日付を和暦に変換して、和暦フィールドに入力してください。
です。
出来ました
※ここで出来た和暦は「文字」であることには注意です。日付計算等は出来ません。
![](https://assets.st-note.com/img/1659252150649-fcvTGzynza.png)
この2つのフィールドを活用して書類に落とし込んでいきます。
![](https://assets.st-note.com/img/1659252736285-fhvafYql8z.png?width=1200)
元号と年
まずは元号と年からやっていきます。
手始めに元号部分(昭和等)から分割していきましょう。
元号は2文字なので、昭和09年07月07日でしたら左から2文字だけ切り取ればいけそうです。
ここでまたTISさんの条件分岐処理プラグインを使います。
使用する関数はLEFT関数です。
![](https://assets.st-note.com/img/1659254278180-VjxOEqXUvn.png?width=1200)
和暦フィールドから元号だけ取り出していきます。
![](https://assets.st-note.com/img/1659255124489-orvBqZUJ6E.png?width=1200)
プラグインの設定画面はこちらです。
![](https://assets.st-note.com/img/1659255141074-clsBC0LrHH.png?width=1200)
日本語にすると、「和暦フィールドの値を左から2文字分切り取って元号フィールドに入力してください」になります。
これで元号の取り出しが完了です。
![](https://assets.st-note.com/img/1659255500260-yn3Qx3xchf.png?width=1200)
ところでこの元号の値はどうやって使うのでしょう?
プリントクリエイター側の表示をみると、元号は文字ではなく〇で置かなくてはいけません。
![](https://assets.st-note.com/img/1659255608782-5iWA4xIOnW.png?width=1200)
ここで前回やった〇を置くテクニックが役に立ちます。
元号のフィールドが「明治」の時に〇
元号のフィールドが「大正」の時に〇
元号のフィールドが「昭和」の時に〇
この3つのフィールドを作成します。
![](https://assets.st-note.com/img/1659255765335-eCnZQS7XE3.png)
フィールドに設定されている関数はこちら。
![](https://assets.st-note.com/img/1659255833862-jo6vU3KGLs.png)
![](https://assets.st-note.com/img/1659255845457-75cO3paKCq.png)
![](https://assets.st-note.com/img/1659255852784-KU8yya2V3f.png)
サンプルの織田信長さんは昭和生まれなので、「元号昭和〇」フィールドに〇が入力されています。
![](https://assets.st-note.com/img/1659255935488-hFUXB6AMzx.png?width=1200)
これをプリントクリエイターの設定画面で所定の場所に置いていきましょう。
![](https://assets.st-note.com/img/1659256409248-uo6wn9xQHV.png?width=1200)
印刷すると、ちゃんと〇が昭和にのっています。
![](https://assets.st-note.com/img/1659256437852-RrgokYNJ1t.png?width=1200)
お次は元号の年部分です。
![](https://assets.st-note.com/img/1659256638525-0uQDkOa5wR.png)
なんとなく想像がつくと思いますが、はい、TISさんの条件分岐処理プラグインを使います。
今回使用する関数は指定した部分の文字が切り取れるMID関数です。
![](https://assets.st-note.com/img/1659256721299-tJQsrmzmcG.png?width=1200)
プラグインの設定画面はこちらです。
![](https://assets.st-note.com/img/1659257319195-yluiZ5NYT7.png?width=1200)
日本語にすると、「和暦フィールドの3文字目から開始して、そこから2文字分を切り取って元号生年月日年1フィールドに入力してください」になります。
下の図で言うと「09」になります。
![](https://assets.st-note.com/img/1659258997586-oSuqsUx8ai.png?width=1200)
完成したものがこちら
![](https://assets.st-note.com/img/1659259104833-sRsTP4nmn4.png?width=1200)
さぁプリントクリエイターに載せていきましょう。
![](https://assets.st-note.com/img/1659259264026-MGIA03B5pU.png?width=1200)
できました~!!!
・・・なんか違います。書類作成時に「09」と「0」を入れますでしょうか?入れませんよね。
このゼロを消していく関数を作っていきましょう。
ここは標準機能で実現していきます。
一桁の数字の時は「0」を省きたいので、「元号生年月日年2」フィールドを作成して、そのフィールドに関数を入力していきます。
![](https://assets.st-note.com/img/1659271313950-Bt8Kcf3qaS.png?width=1200)
![](https://assets.st-note.com/img/1659260727494-hgfIWJxhdv.png?width=1200)
01を1に、02を2といった具合に変換しています。
この元号生年月日年2フィールドをプリントクリエイターに載せていきましょう。
![](https://assets.st-note.com/img/1659260851545-LSoI7fXoNz.png?width=1200)
これで年号の部分は完成です。
月と日
けっっこう大変な作業でした。これを月と日においてもやるのか…
と思うでしょうが、月と日は元の生年月日フィールドから標準の関数でひっぱってこれるので安心してください。
下の図の赤い部分ですね。
![](https://assets.st-note.com/img/1659261504727-YJF4mGu50Y.png?width=1200)
kintoneの画面で見るとこのようになります。
![](https://assets.st-note.com/img/1659261738208-V4WgOyUGZ0.png?width=1200)
使うのは標準機能のDATE_FORMAT関数です。
![](https://assets.st-note.com/img/1659261883655-IWXvcOsMp6.png?width=1200)
活用する書式指定子は「M」と「d」です。
![](https://assets.st-note.com/img/1659262415801-YlwNaXS2z5.png?width=1200)
生年月日月フィールドをみてみましょう。
![](https://assets.st-note.com/img/1659262482782-156saG7ABB.png?width=1200)
![](https://assets.st-note.com/img/1659262502327-9Wm6QyUYDV.png?width=1200)
DATE_FORMAT関数が使われています。
これは「生年月日フィールドから月を取り出してゼロ埋め無で値を入れて下さい」となります。
ゼロがない7だけの値が入りました
![](https://assets.st-note.com/img/1659265575903-LiwsfmCl3U.png?width=1200)
生年月日日フィールドもみてみましょう。
![](https://assets.st-note.com/img/1659265636213-8OLVcFiQlm.png?width=1200)
![](https://assets.st-note.com/img/1659265651461-Mm4kqRBWJL.png?width=1200)
DATE_FORMAT関数が使われています。
これは「生年月日フィールドから日を取り出してゼロ埋め無で値を入れて下さい」となります。
月と同じでゼロがない7だけの値が入りました
![](https://assets.st-note.com/img/1659265726468-hfWe8XcOuo.png?width=1200)
後は出来上がったフィールドをプリントクリエイターに配置して
![](https://assets.st-note.com/img/1659265837649-PPhztJtIn1.png?width=1200)
完成です!
![](https://assets.st-note.com/img/1659265870651-hLjngKdW0Y.png?width=1200)
おわりに
生年月日・・・たったこれだけを入力するのに随分と手間がかかりました。
これは何としても書式にシステムが合わせていく挑戦です。
何人かの方が指摘くれた通り、実際の仕事においては生年月日フィールドのみで表示する方が現実的だと思います。
得られる情報が同じなら、書式の方が変わればいいのです。
![](https://assets.st-note.com/img/1659270872503-rYwu6P61Z9.png?width=1200)
![](https://assets.st-note.com/img/1659270880789-eXtcMVcZ9N.png?width=1200)
同じ情報またはより良い情報が得られ、さらに時間が短縮できる方法はないか?シンプルな構築が出来ないか?を考える事も業務改善だと思っています。